Market neutral - profits from mean reversion of statistically related instruments
| Strategy Type | Quantitative / Statistical Arbitrage |
| Market Outlook | Market neutral - profits from mean reversion of statistically related instruments |
| Risk Profile | Lower directional risk, spread/relationship risk, model risk |
| Reward Profile | Consistent smaller returns from spread convergence |
| Time Horizon | Intraday to weeks (depends on spread half-life) |
| Iv Environment | Works across volatility environments; spread volatility matters more |
| Breakeven | Spread reverts to mean within expected timeframe |
| Primary Instruments | FTSE vs DAX, FTSE vs ES, Gilt futures spreads, commodity spreads |
| Fca Compliance | Futures require appropriate categorisation; statistical arb may require sophisticated investor status |
| Contract Specifications | £10 per point, quarterly expiry • €25 per point, quarterly expiry • €10 per point, quarterly expiry • £1,000 per point, quarterly expiry |
| Trading Hours | 01:00 - 21:00 GMT • 01:15 - 22:00 GMT • 23:00 - 22:00 GMT (near 24hr) |
| Uk Pair Examples | FTSE vs DAX, FTSE vs Euro Stoxx 50 • FTSE vs ES (adjusted for currency) • Gilt vs Bund spread • Brent vs WTI (ICE vs NYMEX) |
| Margin Requirements | Combined margin for spreads often lower than outright |
| Settlement | Daily mark-to-market on both legs |
No. Despite 'arbitrage' in the name, stat arb has significant risks: spreads can diverge further before reverting, relationships can break down permanently (regime change), model parameters can be wrong, and execution costs reduce profits. It's lower risk than directional trading but not risk-free.
Any correlated, cointegrated instruments: equity index futures (FTSE-DAX, ES-NQ), commodity spreads (Brent-WTI, Gold-Silver), fixed income (Gilt-Bund), and cross-asset pairs. Futures are preferred due to leverage, liquidity, and no borrow costs.
Depends on instruments and broker margin. Futures require margin (typically 5-10% of notional). A simple pair might require £10,000-50,000 in margin for meaningful position sizes. Multiple pairs require more capital for diversification.
Statistical analysis: Python (pandas, statsmodels, scipy) or R. Backtesting: Custom code or platforms like QuantConnect. Execution: Broker API (Interactive Brokers, etc.). Data: Historical price data from broker or vendor. Basic stat arb can start with Excel but serious implementation needs programming.
Depends on half-life. Typical holding period is 1-4 weeks, though it can be days (fast mean reversion) or months (slow reversion). If spread hasn't reverted within 2-3× half-life, consider exiting as relationship may have changed.
Primary method: Augmented Dickey-Fuller (ADF) test on the spread. Form spread (A - β×B where β is hedge ratio from regression), run ADF test. If p-value < 0.05, reject null hypothesis of unit root - spread is stationary (cointegrated). Also confirm with Phillips-Perron or KPSS tests.
Depends on method and market conditions. Rolling regression: daily or weekly recalculation of hedge ratio. Mean and std dev: typically 20-60 day rolling window, updated daily. In volatile periods, more frequent updates. Balance responsiveness vs noise.
Standard: |Z| > 2 (2 standard deviations). Conservative: |Z| > 2.5. Aggressive: |Z| > 1.5. Higher threshold = fewer trades but larger expected moves. Consider transaction costs - need sufficient move to cover costs. Backtest to find optimal for specific pair.
Options: 1) Hedge currency with FX futures/forwards (adds cost). 2) Leave unhedged if currency adds diversification. 3) Choose pairs in same currency. For FTSE-DAX, GBP/EUR exposure exists. Either hedge or accept as part of spread dynamics.
Avoid illiquid instruments. Wide spreads and slippage destroy stat arb profits. If one leg is less liquid: reduce size, use limit orders, consider execution algorithms. Better to choose different pair with both legs liquid.
Model hedge ratio as state in state-space model. Observation equation: A_t = β_t × B_t + ε_t. State equation: β_t = β_{t-1} + η_t. Kalman filter recursively estimates β_t given observations. Provides smooth, adaptive hedge ratio. Implementation in Python: pykalman or custom.
Calculate each pair's spread volatility. Allocate inversely proportional to volatility so each contributes equal risk. Position_i = Target_Risk / Volatility_i. Rebalance as volatilities change. This ensures no single pair dominates portfolio risk.
Monitor: 1) Rolling correlation - drop below threshold signals change. 2) Rolling half-life - significant increase means slower reversion. 3) Spread volatility - spike indicates stress. 4) Hidden Markov Model for probabilistic regime estimation. Combine signals for robustness.
Historical stress: Apply 2008, 2020, Brexit moves to current positions. Hypothetical: Correlation spike (all go to 0.95), spread blow-out (5+ std dev), liquidity crisis (can't exit). Monte Carlo: Simulate thousands of scenarios. Identify vulnerabilities and adjust position limits.
Pair selection: Random Forest, XGBoost for classification. Spread prediction: LSTM, GRU, or simpler ARIMA. Regime detection: Hidden Markov Model, Gaussian Mixture. Execution: Reinforcement Learning (DQN, PPO). Key: Use proper cross-validation, avoid overfitting, maintain interpretability.
Full guided lessons, quizzes, and a complete strategy library for the United Kingdom market. One-time purchase. No subscription, ever.
Get United Kingdom access →