Paper: arXiv 2312.05827

Abstract

This paper develops a framework to predict toxic trades that a broker receives from her clients. Toxic trades are predicted with a novel online learning Bayesian method which we call the projection-based unification of last-layer and subspace estimation (PULSE). PULSE is a fast and statistically-efficient Bayesian procedure for online training of neural networks. We employ a proprietary dataset of foreign exchange transactions to test our methodology. Neural networks trained with PULSE outperform standard machine learning and statistical methods when predicting if a trade will be toxic; the benchmark methods are logistic regression, random forests, and a recursively-updated maximum-likelihood estimator. We devise a strategy for the broker who uses toxicity predictions to internalise or to externalise each trade received from her clients. Our methodology can be implemented in real-time because it takes less than one millisecond to update parameters and make a prediction. Compared with the benchmarks, online learning of a neural network with PULSE attains the highest PnL and avoids the most losses by externalising toxic trades.

Complexity vs Empirical Score

  • Math Complexity: 8.5/10
  • Empirical Rigor: 9.0/10
  • Quadrant: Holy Grail — high math complexity, high empirical rigor

Why this score: The paper introduces a complex novel Bayesian online learning method (PULSE) with significant mathematical foundations in variational approximations and Kalman filtering, yet is grounded in a proprietary high-frequency FX dataset with real-time execution speed metrics and reported PnL.

Research Flowchart

  flowchart TD
  A["Research Goal: Predict Toxic Trades in FX"] --> B{"PULSE Methodology"}
  B --> C["Online Bayesian NN Training"]
  C --> D["Foreign Exchange Proprietary Data"]
  D --> E["Real-time Prediction < 1ms"]
  E --> F{"Benchmark Comparison"}
  F --> G["Superior PnL & Loss Avoidance"]
  F --> H["Outperforms LogReg, RF, MLE"]
  G & H --> I["Broker Strategy: Internalize vs Externalize"]
  style A fill:#f9f,stroke:#333,stroke-width:2px
  style I fill:#bbf,stroke:#333,stroke-width:2px