QuantOracle

Z-Score vs Bollinger Bands vs RSI: Which Mean Reversion Indicator Should You Use?

Three mean-reversion indicators that all answer some version of "how far is this asset from its recent mean?" — and produce different signals because they ask the question three different ways. Z-score is the statistical answer. Bollinger Bands are the visual chart overlay version. RSI is the bounded momentum-style oscillator. They mostly agree, but when they disagree, the disagreement is itself useful information.

Last updated: May 17, 2026

The 30-second decision rule

  • Pairs trading / cross-asset comparison → Z-score. It normalizes spread movements in standard-deviation units, which is exactly what pairs trading needs.
  • Single-asset overbought/oversold on a chart → Bollinger Bands. Same math as Z-score at ±2σ, but the visual overlay on price is easier to read.
  • Momentum-style 0-100 oscillator → RSI. Easier for retail readers, popular in technical analysis, less statistically defensible.
  • Statistical-arbitrage with publication-quality math → Z-score only. RSI and BB don't have clean distributional theory you can defend.

Side-by-side

PropertyZ-ScoreBollinger BandsRSI
Math(x − μ) / σμ ± 2σ overlaid on price100 − [100 / (1 + avg_gain/avg_loss)]
Output rangeUnbounded, typically −3 to +3Three lines on price chart0 to 100, bounded
Default window20-60 (varies)20 (Bollinger's convention)14 (Wilder's convention)
Statistical theoryDirect (distributional)Inherits from Z-scoreNone (empirical)
Cross-asset comparableYes (scale-invariant)No (price-scale dependent)Yes (bounded 0-100)
Visual chart overlayNo (number, plot separately)Yes (built for this)No (sub-chart oscillator)
Pairs trading fitBestPossible but contrivedNo
Trend filteringWeak (fires repeatedly in trends)WeakModerate (smoothing helps)

Z-Score — the statistical one

The formula is the classic statistical one:

Z = (x - μ) / σ

Where x is the current value, μ is the rolling mean over a chosen window, and σ is the rolling standard deviation over the same window. A Z-score of +2 means the current value is 2 standard deviations above its recent mean — under any reasonable distributional assumption, that's a meaningful tail event.

Strengths. Statistically defensible — every working quant understands Z-scores and can pitch p-values built on them. Scale-invariant, so a 5%-vol bond's "2-sigma move" means the same thing as a 50%-vol crypto's. Symmetric (positive and negative thresholds are equivalent). The natural primitive for pairs trading, where you measure spread deviations from cointegration.

Weaknesses. No built-in trend filter — during sustained uptrends, Z keeps hitting +2 because price keeps making new highs above a rolling mean that can't catch up. Out of the box, Z-score-based mean-reversion strategies get slaughtered in trending regimes unless you add a separate trend filter (often Hurst exponent or autocorrelation testing).

Window choice matters. 20 periods for short-term signals, 60 for medium-term, 252 for annual baselines. The default 20 is too short for many cross-sectional pairs strategies — 60-100 typically works better because it captures true cointegration vs noise.

The QuantOracle Value at Risk Calculator and Sharpe Ratio Calculator both implicitly use Z-score normalization. The /v1/stats/zscore endpoint exposes static and rolling Z-scores with extreme-value detection directly.

Bollinger Bands — the chart overlay

John Bollinger's 1980s invention. Three lines plotted on a price chart:

  • Middle band: N-period simple moving average of close prices (default N=20)
  • Upper band: middle + K standard deviations (default K=2)
  • Lower band: middle − K standard deviations

When the close touches the upper band, the price is 2σ above its 20-day mean — which is mathematically identical to a Z-score of +2.0. Bollinger Bands are essentially Z-scores rendered as a chart overlay.

Strengths. Visual. The bands tell you immediately where the unusual-trading-activity envelope is without doing arithmetic. The "Bollinger band squeeze" (bands narrowing) is also popular as a volatility-contraction signal preceding directional breakouts. Mature trading platform support — every retail and institutional charting package implements them by default.

Weaknesses. Same as Z-score by construction: no trend filter, false signals during sustained moves. Plus, the 20/2 default is just empirical convention — different markets benefit from different parameters and you have to walk-forward tune them. Single-asset only out of the box; applying Bollinger Bands to a pairs spread requires you to first compute the spread series and effectively reduces to Z-score with different visualization.

Bollinger himself recommended using the bands as "envelopes for normal trading activity" rather than direct trade signals — touching the upper band doesn't mean "sell now," it means "this is at the edge of recent normal." The mistake retail traders make is treating band touches as automatic reversal signals.

RSI — the bounded oscillator

Welles Wilder's 1978 indicator. The formula:

RSI = 100 - [100 / (1 + RS)]
where RS = (average gain over N periods) / (average loss over N periods)

N is typically 14. The output is bounded 0-100: 100 means all gains in the window, 0 means all losses, 50 means equal. Convention: RSI > 70 is overbought, RSI < 30 is oversold.

Strengths. Bounded scale is intuitive — traders new to indicators can immediately interpret "30 = oversold, 70 = overbought" without understanding standard deviations. The smoothing makes RSI lag during the early phase of a trend, which can be useful as a momentum confirmation when combined with other signals.

Weaknesses. No clean statistical interpretation — you can't pitch "RSI 75 means p < 0.05" in a research note. The indicator was constructed empirically, not derived from any distributional theory. Two paths arriving at the same current price with the same recent volatility can have very different RSI values depending on the sequence of moves, because RSI uses absolute gains/losses rather than standard deviations.

RSI is most useful when combined with other signals. The classic combination is "Bollinger Band touch AND RSI confirms oversold" for mean-reversion long entries — the two indicators agreeing filters out a meaningful fraction of false signals during trending markets.

When the three indicators disagree

Most of the time these three agree about overbought/oversold conditions because they all measure variants of "how far from the mean." The disagreements happen in two contexts:

  1. Strong directional trends. Z-score and Bollinger Bands quickly hit ±2 during strong trends because price keeps making new highs/lows above the rolling mean. RSI smooths the trend and can stay neutral longer, then start to diverge from price in the late stage (the "bearish divergence" pattern). Lesson: when Z-score / BB say overbought but RSI says neutral, trend is dominating — mean-reversion entries are likely to fail.
  2. Sharp single-event moves. Earnings, FOMC, or M&A spikes can move price 3-5% in a single bar. Z-score and BB jump immediately. RSI takes a couple of bars to fully reflect the move because of the smoothing. For mean-reversion strategies entering on the spike, the indicators give different signals depending on which one you check.

The honest interpretation: when the three indicators disagree, regime is changing. Mean-reversion strategies are most reliable when all three flash extreme readings at the same time and most likely to fail when they don't.

Combining them

The standard professional approach: require two or three indicators to agree before entering a mean-reversion trade. Common stacks:

  • Conservative long entry: price touches lower Bollinger Band AND RSI < 30 AND Z-score < −2
  • Pairs trade entry: spread Z-score > 2 AND |spread Z-score 7 days ago| < 1 (catches the actual deviation event, not lingering deviation)
  • Mean-reversion + trend filter: Z-score signals AND Hurst exponent < 0.5 (only trade mean reversion when the market is in a mean-reverting regime by Hurst). See Hurst vs Autocorrelation vs Variance Ratio for the regime-detection comparison.

The cost of combining filters: each filter cuts roughly half the signal events. Three filters can leave you with only 5-15 trades per year. For discretionary trading that's fine. For systematic backtesting it's often too few to evaluate; you'd need decades of clean data.

References

  • Bollinger, J. (1980s). The Bollinger Bands construction — described in his collected writings and the Bollinger on Bollinger Bands book (2001).
  • Wilder, J. W. (1978). New Concepts in Technical Trading Systems — the original RSI and ATR formulations.
  • Hurst, H. E. (1951). Long-Term Storage Capacity of Reservoirs — origin of the Hurst exponent.
  • Lo, A. W. & MacKinlay, A. C. (1988). Stock Market Prices Do Not Follow Random Walks — variance-ratio testing for mean reversion vs random walk.

Frequently asked questions

Pick by your use case: (1) Cross-asset comparison or pairs trading → Z-score, because it normalizes returns by their own standard deviation so a "2-sigma move" means the same thing for a 5%-vol bond and a 50%-vol crypto. (2) Single-asset overbought/oversold with visual chart overlay → Bollinger Bands, because they plot directly on price and traders intuitively read "price touching the upper band" as overbought. (3) Bounded 0-100 momentum-style overlay (often combined with trend filters) → RSI. All three are essentially "is this asset N standard deviations from its mean?" with different framings. Z-score is the most statistically defensible (clear distributional interpretation, scale-invariant); Bollinger Bands are popular because they overlay on price; RSI is popular because the 0-100 scale is intuitive even though the math is more opaque.

Related comparisons

Other head-to-head breakdowns in the same corner of quant finance.