Word Count: 1,111 (Excluding Headings, Subheadings, and Meta Data)
The Statistical Foundation: Why Prices Snap Back
Mean reversion is predicated on the statistical concept of stationarity. A stationary time series exhibits a constant mean and variance over time. While financial asset prices are rarely perfectly stationary, the returns of an asset trading in a range often approximate this behavior. When prices deviate significantly from the moving average—the proxy for the “mean”—the underlying statistical assumption is that the price will revert to that mean. The probability of reversion increases proportionally to the distance from the mean, measured in standard deviations.
The Bollinger Band framework quantifies this deviation precisely. Developed by John Bollinger in the 1980s, the indicator consists of three lines:
- Middle Band: A simple moving average (typically 20 periods).
- Upper Band: Middle band + (K * standard deviation of price over the same 20 periods). K is typically set at 2.
- Lower Band: Middle band – (K * standard deviation).
The critical insight here is dynamic volatility adjustment. When volatility is high, the bands widen; when volatility is low, they contract. A 2-standard deviation move during a high-volatility period represents a much larger absolute price move than the same 2-standard deviation move in a low-volatility environment. A practical mean reversion strategy relies on this volatility-conditional threshold, not a fixed price level like a support or resistance line formed by previous highs.
Selecting the Right Market Regime (The Squeeze Filter)
Mean reversion fails most spectacularly in trending markets. A price touching the upper band in a strong uptrend is often a precursor to a further advance, not a reversal. The most effective mean reversion occurs during bollinger squeeze or range-bound periods.
The Squeeze Indicator: When the width of the bands contracts to a level near a multi-period low (e.g., the lowest band width in 100 bars), the market is in a low-volatility consolidation. Volatility is the fuel for the subsequent breakout, but direction is unknown. For mean reversion, you do not trade the breakout. Instead, you wait for the squeeze to end and for prices to touch an outer band after the squeeze. This signals that the initial volatility expansion has pushed prices to an extreme relative to the recent quiescent period, making a snap-back more likely.
Filtering Parameters:
- Band Width Threshold: Use
(Upper Band - Lower Band) / Middle Bandto calculate a Band Width value. Only initiate mean reversion trades when this value is below the 20th percentile of its 50-period lookback. - ADX Filter: Apply a 14-period Average Directional Index (ADX). Only take trades when the ADX is below 25, confirming a non-trending environment. If the ADX is above 30, abandon the strategy.
The Entry Mechanics: From Band Touch to Conviction
A simple “buy at the lower band, sell at the upper band” is suicidal without confirmation. The market can cling to a band for multiple bars. A practical approach requires a catalyst for reversion.
Optimal Entry Structure (Short Example)
- Trigger Condition: Price touches or closes above the Upper Bollinger Band (20, 2).
- Reversal Candle: The following candle must print a lower high than the trigger bar’s high AND close below the trigger bar’s close. This is a bearish engulfing or dark cloud cover pattern in its simplest form, occurring at a statistically significant volatility extreme.
- Intra-Band Relocation: The trigger candle must not close more than 5% above the upper band (calculated as
(Close - Upper Band) / Upper Band < 0.05). This prevents entering during parabolic blow-off tops. - Entry: Place a limit order at the midpoint of the reversal candle. Alternatively, enter on a break of the reversal candle’s low for a short.
Mathematical Edge: By requiring the price to “touch” the band (defined as Low <= Lower Band for longs) and then show a reversal candle, you are waiting for the exhaustion of the momentum that drove it to the extreme. You are not fighting the trend; you are trading against the end of the extreme.
Precision Exit Strategy: The Z-Score and Regression Channel
Exiting at the moving average is common but suboptimal. The price often overshoots the mean or fails to reach it entirely. A more robust exit framework uses a Z-score of the price relative to the band.
Dynamic Take Profit Calculation:
- Z-Score Formula:
(Current Price - Middle Band) / (Band Width / 2) - When you enter a short trade at the upper band (Z-score = +2.0), set your initial target at a Z-score of +0.5. This implies you are targeting a 75% reversion towards the mean, not a full reversion.
- Rationale: The final 25% of the reversion (from Z-score +0.5 to 0.0) is the slowest and most susceptible to whipsaws. Exiting at +0.5 captures the majority of the volatility expansion reversal without forcing the position to hold through the mean consolidation.
Time Stop: Mean reversion trades have a shelf life. If the price does not reach the +0.5 Z-score target within 8 bars (on a daily or hourly timeframe, adjust accordingly), close the position. The “reversion force” has dissipated, and the market may be building a new distribution range. A time stop is a non-negotiable risk control element.
Risk Management: Volatility-Adjusted Position Sizing
Standard stop-loss placement (e.g., 2% below entry) ignores the current market volatility. A practical mean reversion system uses a Volatility Stop (V- Stop) .
Stop Loss Placement:
- Short Trade: Place the initial stop loss 1.5 * the current ATR (Average True Range, 14-period) above the entry price.
- The Logic: If the price continues against your reversion thesis by more than 1.5 times the average daily range, the market is exhibiting momentum that invalidates the mean reversion assumption. The stop must account for the noise; a 2-standard deviation move against you is normal in a trending market.
Risk Per Trade: Never risk more than 0.5% of account equity on any single mean reversion trade. Calculate this using the distance to your V-Stop.
Position Size = (Account Equity * 0.005) / |Entry Price - V-Stop Price|
This ensures that a single failed reversion does not cripple the account, allowing you to take the 60-70% win rate that a well-filtered mean reversion system typically provides.
Case Study: Real-World Application on a Currency Pair
Consider a 2-hour chart of EUR/USD during a US non-farm payroll (NFP) week where the market is range-bound between 1.0800 and 1.0900.
- Context: The Bollinger Band Width is at 0.0015, the lowest value in 80 bars (a squeeze). ADX is 18.
- Trigger (Long): Price touches the lower band at 1.0805. The next candle closes at 1.0815, printing a higher low (1.0802) and a bullish engulfing pattern.
- Execution: Enter at market (1.0815). V-Stop is 1.5 ATR (ATR=25 pips) = 37.5 pips below entry, so stop at 1.0778. Risk per pip = X units.
- Target: Z-score +0.5 target. Middle band is at 1.0850. Z-score +0.5 is halfway between the lower band (1.0805) and the middle band (1.0850), which calculates to approximately 1.0828. Exit at 1.0828.
- Result: Reward (13 pips) to Risk (37.5 pips) is roughly 1:3. This is a low reward-to-risk ratio, but the win rate exceeds 75% in this specific range-bound regime. The high win rate compensates for the smaller average win.
This case study highlights that mean reversion is a high-frequency, high-probability, low-reward-per-trade strategy. It is antithetical to “letting winners run.”
Advanced Weapon: The Second Touch (Statistical Confidence)
A powerful refinement involves the second touch of a band within a short period. If the price touches the upper band, pulls back 50% of the distance to the middle band, and then returns to touch the upper band again within 5-7 bars, the statistical probability of a reversion increases dramatically.
Logic: The second touch represents a liquidity grab. Traders who missed the first breakout buy the second touch out of fear (FOMO). This creates a liquidity pool just above the recent high. The “smart money” uses this liquidity to exit long positions and initiate shorts. The second touch is statistically more likely to be a “double top” than a continuation pattern.
Entry for Second Touch:
- Wait for the second touch.
- Do not enter on the touch itself.
- Enter a stop-limit order 1 ATR below the low of the first touch bar.
- Reason: If the second touch fails and breaks below the first touch’s low, the momentum is confirmed to be exhausting. You are entering on the breakdown of the double top, catching the reversion with the most velocity.
Code Logic (Pine Script or Python Pseudo-Code)
For practical implementation, the strategy logic must be automated to remove emotional bias.
// Mean Reversion with Bollinger Bands (Pine Script Logic)
// ======================================================
len = 20
src = close
mult = 2.0
[bb_middle, bb_upper, bb_lower] = ta.bb(src, len, mult)
band_width = (bb_upper - bb_lower) / bb_middle
squeeze = band_width < ta.lowest(band_width, 50) * 1.2 // 20th percentile proxy
adx_val = ta.adx(high, low, close, 14)
long_condition = false
if squeeze and adx_val < 25
touch_lower = low open and low = (bb_middle + bb_lower) / 2 // Z-score +0.5 target
This logic ensures you are only exposed to mean reversion during low-volatility, non-trending regimes, entering only with confirmation of exhaustion, and exiting before the mean is fully reached.








