Profits when price reverts to statistical mean from extreme Z-Score levels
| Strategy Type | Statistical Mean Reversion |
| Market Outlook | Profits when price reverts to statistical mean from extreme Z-Score levels |
| Risk Profile | Moderate - Quantitative approach with defined statistical edge |
| Reward Profile | Consistent profits from statistical tendency toward the mean |
| Time Horizon | Day trading to swing trading (hours to weeks) |
| Iv Environment | Works in any IV; statistical basis independent of volatility regime |
| Breakeven | Entry price +/- stop distance |
| Primary Instruments | SPY, QQQ, Individual stocks, Futures, Forex, Crypto, Pairs/Spreads |
| Sec Compliance | Standard trading rules; no special requirements |
| Contract Size | 100 shares (stocks), varies by futures contract |
| Trading Hours | 9:30 AM - 4:00 PM ET (stocks), nearly 24 hours (futures/forex/crypto) |
| Expiry Options | N/A - Stock/ETF/Futures strategy (options overlay possible) |
| Settlement | T+1 for stocks/ETFs, same day for futures |
| Margin Requirements | Reg T for stocks (50% initial), varies for futures/pairs |
| Pdt Rule | Applicable if day trading with under $25K |
| Tax Treatment | Short-term capital gains for typical holding period |
Very related. Bollinger Bands plot price ± 2 standard deviations from the 20-period MA. The upper band corresponds to Z-Score +2, lower band to Z-Score -2. Z-Score makes the statistics explicit (a number) rather than visual (price at band). Both identify the same extreme conditions.
20 periods is standard and works for swing trading. For day trading, try 10-15 periods. For position trading, use 50-100. The lookback should match your holding period - if you plan to hold for a week, using a 5-period lookback doesn't make sense.
Just reaching -2 doesn't guarantee reversal - Z-Score could continue to -3 or -4. Waiting for the turn (crossing back above -2) confirms the bounce is starting. You sacrifice a few ticks but avoid catching falling knives.
Yes. Mean reversion fails when: (1) Instrument transitions to trending (breakout beyond -3σ continues), (2) Fundamental change occurs (news, earnings), (3) Regime shifts. Always use stops, verify mean-reverting nature, and manage position size.
Mean reversion works best on: (1) Range-bound instruments (certain ETFs, stable stocks), (2) Pairs of cointegrated assets, (3) Spreads (calendar, inter-commodity). It works poorly on: Trending instruments, small caps with news catalysts, momentum stocks.
Run regression: ΔPrice = α + β × Price + ε. Calculate θ = -ln(1+β). Half-life = ln(2)/θ. In Python: Use statsmodels OLS. For example, if β = -0.1, then θ = -ln(0.9) ≈ 0.105, and half-life = 0.693/0.105 ≈ 6.6 periods.
Correlation measures how assets move together at any point in time. Cointegration measures whether their spread is stationary over time. Two assets can be correlated but not cointegrated - they move together but can drift apart permanently. Cointegrated assets must revert to a stable spread.
Check ADX before trading Z-Score. If ADX < 20, market is ranging - ideal for mean reversion. If ADX > 25 and rising, market is trending - Z-Score signals may fail. Filter: Only trade Z-Score signals when ADX < 25.
Potentially. More volatile instruments may hit ±2 frequently, so ±2.5 or ±3 may be better. Less volatile instruments rarely hit ±2. Test historically what threshold provides best risk-adjusted returns for each instrument.
Hedge ratios can drift over time. Recalculate at least monthly, or when you notice the spread behaving differently. Use rolling regression for dynamic hedge ratio, or re-run cointegration test quarterly to verify relationship holds.
Estimate OU parameters from price data using regression. Use estimated θ for half-life and timing. Use μ as long-term target. Use σ for expected volatility. Entry when deviation exceeds expected (based on equilibrium variance = σ²/2θ). Position size proportional to θ. Exit based on half-life expectation.
Combine multiple indicators: (1) Rolling Hurst exponent - flag when crosses 0.5. (2) Rolling half-life - flag when extends beyond threshold. (3) ADX - flag when crosses 25. (4) Hidden Markov Model for probabilistic regime classification. When multiple indicators agree, high confidence in regime change.
Estimate win rate and avg win/loss from backtest. Calculate full Kelly: f* = (p×W - q×L)/W. Use fractional Kelly (25-50%) for safety. Optionally, scale position with Z-Score magnitude: higher |Z| = higher probability = larger fraction of Kelly allocation.
Best features: Z-Score level and slope, rolling half-life, Hurst exponent, RSI/momentum, volume ratio (current vs average), VIX/volatility regime, time in extreme zone, support/resistance proximity. Use feature importance from Random Forest to identify most predictive features.
Options: (1) Trade only instruments that pass stationarity tests. (2) Use differencing (trade returns instead of prices). (3) Use rolling regression for dynamic parameters. (4) Implement regime switching to pause during non-stationary periods. (5) For pairs, re-test cointegration and re-estimate hedge ratio when spread becomes non-stationary.
Full guided lessons, quizzes, and a complete strategy library for the United States market. One-time purchase. No subscription, ever.
Get United States access →