Z-Score Mean Reversion

Mean Reversion Systems Advanced Australia XJO ASX200 BHP CBA CSL NAB WBC RIO MQG ETFs Stocks Futures CFDs Pairs Spreads

Identifies reversals when price deviates beyond statistical thresholds from its mean

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

Quick Reference

Strategy Type Statistical Mean Reversion Trading System
Market Outlook Identifies reversals when price deviates beyond statistical thresholds from its mean
Risk Profile Defined by z-score levels or fixed percentage stops
Reward Profile Captures reversion to mean from statistical extremes
Time Horizon Short to medium-term (3-20 days typical)
Best Markets Range-bound markets, pairs trading, mean-reverting instruments
Signal Type Z-score extreme readings with reversion confirmation

Payoff Profile

Statistical system that profits from price returning to mean after reaching extreme z-score levels

Australia Market Details

Market Hours ASX: 10:00 AM - 4:00 PM AEST
Best Underlyings Index mean reversion with statistical precision • BHP, CBA, CSL, RIO - liquid stocks for statistical analysis • BHP/RIO, CBA/NAB - correlated pairs for spread trading • STW vs IOZ, sector ETF pairs
Timeframe Recommendations Primary timeframe for swing mean reversion • Longer-term statistical analysis • Active trading with faster reversion • 20-period lookback standard, adjust for instrument
Indicator Components Current price or spread value • Simple moving average (typically 20-period) • Standard deviation over same period • (Price - Mean) / Standard Deviation
Common Parameters 20 (standard) • ±2.0 (2 standard deviations) • 0 (mean) or ±0.5 • ±2.5 or ±3.0
Asx Considerations Statistical strategies need liquid instruments • ASX pairs: BHP/RIO, CBA/NAB, WBC/ANZ • Adjust for dividends and splits

Frequently Asked Questions

Is z-score the same as Bollinger Bands?

Z-score is the mathematical concept behind Bollinger Bands. BB shows price ± 2 standard deviations as bands on a price chart. Z-score shows the same information as an oscillator (-2 to +2). Z-score of 2 = price at upper Bollinger Band.

What lookback period should I use?

20 periods is standard for daily charts. Shorter periods (10-15) are more responsive but noisier. Longer periods (30-60) are smoother but lag more. Start with 20 and backtest alternatives for your instrument.

Can z-score go beyond ±3?

Yes! Unlike bounded indicators (RSI 0-100), z-score is unbounded. During extreme events, z-score can reach ±4, ±5, or beyond. These are very rare (0.006% for ±4) and often indicate regime change or major events.

Why doesn't every z-score trade work?

Z-score assumes the mean is stable. During trends or regime changes, the mean itself shifts, invalidating the z-score signal. Also, markets aren't perfectly normal - fat tails mean extremes occur more often than theory suggests.

What is the target for a z-score trade?

Primary target is z-score = 0 (price at mean). This represents complete mean reversion. Extended target is the opposite threshold (z = +2 for a long from -2). Exit 50% at z = 0, trail the rest.

What is half-life and why does it matter?

Half-life is the expected time for z-score to halve (e.g., from -2 to -1). Shorter half-life means faster reversion and more tradeable. Instruments with half-life > 20 days are close to random walks and shouldn't be traded with z-score.

How do I test for cointegration in pairs trading?

Use the Engle-Granger or Johansen cointegration test. In Python: `from statsmodels.tsa.stattools import coint; result = coint(price_a, price_b)`. P-value < 0.05 indicates cointegration. Only trade pairs that pass this test.

What is the Hurst exponent?

Hurst exponent (H) measures mean reversion tendency. H < 0.5 = mean-reverting (good for z-score). H = 0.5 = random walk (no edge). H > 0.5 = trending (avoid z-score). Calculate using R/S analysis or DFA.

How do I calculate the hedge ratio for pairs?

Use linear regression: Price_A = alpha + beta × Price_B. The beta is the hedge ratio. For every share of A, trade beta shares of B. This creates a market-neutral position where only the spread matters.

Should I use dynamic or fixed z-score thresholds?

Dynamic thresholds (based on historical percentiles) often work better because different instruments have different z-score distributions. Calculate 5th/95th percentile of historical z-scores for instrument-specific thresholds.

What is the Ornstein-Uhlenbeck process?

OU process models mean reversion: dX = θ(μ-X)dt + σdW. θ = mean reversion speed, μ = long-term mean, σ = volatility. Half-life = ln(2)/θ. Use regression to estimate parameters: ΔX = a + bX + ε, where θ = -b.

How do I detect regime changes?

Use rolling Hurst exponent, rolling half-life, or Hidden Markov Models. If half-life exceeds 2× historical average or Hurst crosses above 0.5, pause z-score trading. Regime detection prevents trading during trends.

What is the optimal portfolio of z-score trades?

Diversify across uncorrelated instruments and pairs. Use correlation matrix to limit exposure to correlated positions. Risk budget based on signal strength (z-score extremity + half-life). Maximum 60% total exposure.

How do I implement Kelly criterion for z-score trades?

Kelly fraction: f* = (p×b - q) / b, where p = win rate, q = 1-p, b = avg win / avg loss. For z-score: p ≈ 0.68, b ≈ 1.5, so f* ≈ 30%. Use fractional Kelly (25-50% of f*) for safety due to estimation uncertainty.

How does z-score work with options?

Z-score extremes guide direction: Z < -2 suggests calls or bull spreads. Use half-life for DTE selection (DTE ≈ 1.5× half-life). IV percentile guides strategy: high IV = sell premium at extremes, low IV = buy premium.

Master Australia trading strategies on AlgoKing

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

Get Australia access →