Z-Score Mean Reversion

Technical Indicator Based Intermediate United States SPY QQQ IWM DIA AAPL MSFT AMZN GOOGL META NVDA ES NQ GC CL EUR/USD BTC/USD Pairs Spreads

Profits when price reverts to statistical mean from extreme Z-Score levels

Learn this and United States-market strategies in depth — one-time purchase, lifetime access.
Unlock full hub →

Quick Reference

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

Payoff Profile

Z-Score Mean Reversion strategy enters positions when price deviates significantly (typically ±2 standard deviations) from its moving average, expecting reversion to the mean (Z-Score = 0). • Z-Score < -2 (price 2+ std devs below mean) • Z-Score > +2 (price 2+ std devs above mean) • Z-Score = 0 (price at mean)

United States Market Details

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

Frequently Asked Questions

Is Z-Score the same as Bollinger Bands?

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.

What lookback period should I use?

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.

Why wait for Z-Score to turn instead of entering immediately at -2?

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.

Can Z-Score strategy lose money?

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.

What instruments work best for Z-Score mean reversion?

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.

How do I calculate half-life in practice?

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.

What's the difference between correlation and cointegration?

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.

How do I use Z-Score with ADX?

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.

Should I use different thresholds for different instruments?

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.

How often should I recalculate the hedge ratio for pairs trading?

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.

How do I implement the Ornstein-Uhlenbeck process in trading?

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.

What's the optimal way to detect regime changes?

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.

How do I apply Kelly Criterion to Z-Score trading?

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.

What ML features work best for Z-Score signal prediction?

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.

How do I handle non-stationarity in Z-Score strategies?

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.

Related Strategies

Bollinger Band Bounce RSI Reversal CCI Bounce
Pairs Trading
Statistical Arbitrage
RSI
ADX
Support/Resistance
Volume Analysis
Trend Following

Master United States trading strategies on AlgoKing

Full guided lessons, quizzes, and a complete strategy library for the United States market. One-time purchase. No subscription, ever.

Get United States access →