Mean Reversion Analysis

Statistical Overbought/Oversold Signals for Major Market ETFs

Track mean reversion opportunities across SPY, QQQ, and IWM. Mean reversion analysis identifies when prices deviate significantly from their moving averages, signaling potential overbought or oversold conditions. Monitor z-scores to quantify statistical extremes, track price distance from 20/50/200-day moving averages, and analyze MA spread dynamics to identify trend alignment and potential reversal points. These indicators help time entries and exits by highlighting when markets have stretched too far from their mean.

Price vs MAs
Track distance from 20/50/200-day moving averages
Z-Score Signals
Statistical mean reversion indicators with zones
MA Spreads
Monitor trend alignment and cross patterns

Open Source & Transparent

All data is open source and verifiable on GitHub. We believe in transparency and welcome contributions to improve our tools.

SPY

SPDR S&P 500 ETF Trust

S&P 500
Current Price
$690.62
Price vs Moving Averages
20-Day MA✅ Normal Range
MA Value
$690.37
Distance
+0.04%
Z-Score
-0.25
50-Day MA✅ Normal Range
MA Value
$685.85
Distance
+0.70%
Z-Score
-0.22
200-Day MA✅ Normal Range
MA Value
$642.36
Distance
+7.51%
Z-Score
0.33
MA Spread Z-Scores
20-50
Z: -0.11
✅
20-200
Z: 0.48
✅
50-200
Z: 0.63
✅
📈 Strong Bullish
Overall Trend Alignment

QQQ

Invesco QQQ Trust

Nasdaq-100
Current Price
$609.65
Price vs Moving Averages
20-Day MA✅ Normal Range
MA Value
$620.33
Distance
-1.72%
Z-Score
-0.93
50-Day MA✅ Normal Range
MA Value
$619.07
Distance
-1.52%
Z-Score
-0.76
200-Day MA✅ Normal Range
MA Value
$576.70
Distance
+5.71%
Z-Score
-0.24
MA Spread Z-Scores
20-50
Z: -0.32
✅
20-200
Z: 0.18
✅
50-200
Z: 0.40
✅
📈 Strong Bullish
Overall Trend Alignment

IWM

iShares Russell 2000 ETF

Russell 2000
Current Price
$265.02
Price vs Moving Averages
20-Day MA✅ Normal Range
MA Value
$263.19
Distance
+0.69%
Z-Score
0.05
50-Day MA✅ Normal Range
MA Value
$255.58
Distance
+3.69%
Z-Score
0.54
200-Day MA🟠 Moderately Overbought
MA Value
$232.13
Distance
+14.17%
Z-Score
1.20
MA Spread Z-Scores
20-50
Z: 0.85
✅
20-200
Z: 1.32
🟠
50-200
Z: 1.20
🟠
📈 Strong Bullish
Overall Trend Alignment

Detailed Mean Reversion Analysis

Comprehensive breakdown of price positioning, statistical signals, and MA spread dynamics for each ETF

SPY - SPDR S&P 500 ETF Trust

Tracks S&P 500 Index - Large-cap benchmark (500 companies) | Tracking S&P 500

Price Position Analysis

Price vs 20-Day MAShort-term
Distance
+0.04%
Z-Score
-0.25
✅ Normal Range
Price is within normal statistical range of 20-day MA. No extreme signal.
Price vs 50-Day MAIntermediate
Distance
+0.70%
Z-Score
-0.22
✅ Normal Range
Price aligned with intermediate trend. No statistical extreme detected.
Price vs 200-Day MALong-term
Distance
+7.51%
Z-Score
0.33
✅ Normal Range
Price aligned with long-term trend. Healthy positioning for continuation.

MA Spread Dynamics

20 vs 50 MA Spread📈 Bullish
Spread %
+0.66%
Z-Score
-0.11
Normal Range
20-day MA is above 50-day MA.
20 vs 200 MA Spread📈 Bullish
Spread %
+7.47%
Z-Score
0.48
Normal Range
20-day MA is above 200-day MA. Measures trend strength.
50 vs 200 MA Spread⭐ Golden Cross
Spread %
+6.77%
Z-Score
0.63
Normal Range
50-day MA is above 200-day MA. Classic major trend indicator.

QQQ - Invesco QQQ Trust

Tracks Nasdaq-100 Index - Tech-heavy growth stocks | Tracking Nasdaq-100

Price Position Analysis

Price vs 20-Day MAShort-term
Distance
-1.72%
Z-Score
-0.93
✅ Normal Range
Price is within normal statistical range of 20-day MA. No extreme signal.
Price vs 50-Day MAIntermediate
Distance
-1.52%
Z-Score
-0.76
✅ Normal Range
Price aligned with intermediate trend. No statistical extreme detected.
Price vs 200-Day MALong-term
Distance
+5.71%
Z-Score
-0.24
✅ Normal Range
Price aligned with long-term trend. Healthy positioning for continuation.

MA Spread Dynamics

20 vs 50 MA Spread📈 Bullish
Spread %
+0.20%
Z-Score
-0.32
Normal Range
20-day MA is above 50-day MA.
20 vs 200 MA Spread📈 Bullish
Spread %
+7.57%
Z-Score
0.18
Normal Range
20-day MA is above 200-day MA. Measures trend strength.
50 vs 200 MA Spread⭐ Golden Cross
Spread %
+7.35%
Z-Score
0.40
Normal Range
50-day MA is above 200-day MA. Classic major trend indicator.

IWM - iShares Russell 2000 ETF

Tracks Russell 2000 Index - Small-cap benchmark (2000 companies) | Tracking Russell 2000

Price Position Analysis

Price vs 20-Day MAShort-term
Distance
+0.69%
Z-Score
0.05
✅ Normal Range
Price is within normal statistical range of 20-day MA. No extreme signal.
Price vs 50-Day MAIntermediate
Distance
+3.69%
Z-Score
0.54
✅ Normal Range
Price aligned with intermediate trend. No statistical extreme detected.
Price vs 200-Day MALong-term
Distance
+14.17%
Z-Score
1.20
🟠 Moderately Overbought
Bull market with healthy extension. Use pullbacks as entry opportunities.

MA Spread Dynamics

20 vs 50 MA Spread📈 Bullish
Spread %
+2.98%
Z-Score
0.85
Normal Range
20-day MA is above 50-day MA.
20 vs 200 MA Spread📈 Bullish
Spread %
+13.38%
Z-Score
1.32
Moderately Overbought
20-day MA is above 200-day MA. Measures trend strength.
50 vs 200 MA Spread⭐ Golden Cross
Spread %
+10.10%
Z-Score
1.20
Moderately Overbought
50-day MA is above 200-day MA. Classic major trend indicator.

Statistical Mean Reversion Signals

Z-scores measure how many standard deviations price is from each moving average

SPY - Z-Score Analysis

SPDR S&P 500 ETF Trust

S&P 500
20-MA Z-Score
-0.25
50-MA Z-Score
-0.22
200-MA Z-Score
0.33
Loading chart...
Z-Score Interpretation Guide:
> +2: Extreme Overbought
+1 to +2: Mod. Overbought
-1 to +1: Normal
-2 to -1: Mod. Oversold
< -2: Extreme Oversold

QQQ - Z-Score Analysis

Invesco QQQ Trust

Nasdaq-100
20-MA Z-Score
-0.93
50-MA Z-Score
-0.76
200-MA Z-Score
-0.24
Loading chart...
Z-Score Interpretation Guide:
> +2: Extreme Overbought
+1 to +2: Mod. Overbought
-1 to +1: Normal
-2 to -1: Mod. Oversold
< -2: Extreme Oversold

IWM - Z-Score Analysis

iShares Russell 2000 ETF

Russell 2000
20-MA Z-Score
0.05
50-MA Z-Score
0.54
200-MA Z-Score
1.20
Loading chart...
Z-Score Interpretation Guide:
> +2: Extreme Overbought
+1 to +2: Mod. Overbought
-1 to +1: Normal
-2 to -1: Mod. Oversold
< -2: Extreme Oversold

Moving Average Spread Analysis

Z-scores of MA spreads identify extreme separations and potential mean reversion in trend dynamics

SPY - MA Spread Z-Scores

SPDR S&P 500 ETF Trust

S&P 500
20-50 Spread
-0.11
📈 Bullish
20-200 Spread
0.48
📈 Bullish
50-200 Spread
0.63
⭐ Golden Cross
Loading chart...
MA Spread Z-Score Interpretation:
Positive Z-Score (Wide Spread):
  • > +2: MAs extremely far apart - expect narrowing/consolidation
  • +1 to +2: MAs moderately separated - trend still healthy
Negative Z-Score (Narrow Spread):
  • < -2: MAs extremely close - potential breakout/divergence
  • -2 to -1: MAs converging - watch for crossover signals
50-200 Spread: Golden Cross (50 > 200) vs Death Cross (50 < 200) - Most important for major trend changes

QQQ - MA Spread Z-Scores

Invesco QQQ Trust

Nasdaq-100
20-50 Spread
-0.32
📈 Bullish
20-200 Spread
0.18
📈 Bullish
50-200 Spread
0.40
⭐ Golden Cross
Loading chart...
MA Spread Z-Score Interpretation:
Positive Z-Score (Wide Spread):
  • > +2: MAs extremely far apart - expect narrowing/consolidation
  • +1 to +2: MAs moderately separated - trend still healthy
Negative Z-Score (Narrow Spread):
  • < -2: MAs extremely close - potential breakout/divergence
  • -2 to -1: MAs converging - watch for crossover signals
50-200 Spread: Golden Cross (50 > 200) vs Death Cross (50 < 200) - Most important for major trend changes

IWM - MA Spread Z-Scores

iShares Russell 2000 ETF

Russell 2000
20-50 Spread
0.85
📈 Bullish
20-200 Spread
1.32
📈 Bullish
50-200 Spread
1.20
⭐ Golden Cross
Loading chart...
MA Spread Z-Score Interpretation:
Positive Z-Score (Wide Spread):
  • > +2: MAs extremely far apart - expect narrowing/consolidation
  • +1 to +2: MAs moderately separated - trend still healthy
Negative Z-Score (Narrow Spread):
  • < -2: MAs extremely close - potential breakout/divergence
  • -2 to -1: MAs converging - watch for crossover signals
50-200 Spread: Golden Cross (50 > 200) vs Death Cross (50 < 200) - Most important for major trend changes

Mean Reversion: How to Read the Signals

Use z-scores, price-vs-MA distance, and moving-average spreads to understand when markets are stretched—and when trend conditions may overpower mean reversion.

General Overview

Mean reversion tries to quantify how far price has moved away from typical levels (often moving averages) and whether that move is statistically unusual.

This dashboard focuses on three lenses: (1) distance from 20/50/200-day MAs, (2) z-scores to standardize “how extreme” a move is, and (3) MA spreads to interpret trend alignment and compression.

Detailed Breakdown

A practical workflow: identify extremes, check trend alignment, then decide whether you’re looking at a pullback opportunity or a trend that may persist.

Price vs moving averages

How stretched is price?

  • 20-day MA: short-term momentum and “snapback” potential.
  • 50-day MA: swing trend reference and common pullback target.
  • 200-day MA: regime filter; distance here often matters most for risk framing.

Z-scores (standardized extremes)

How unusual is the deviation?

  • Higher absolute z-scores indicate more statistically extreme conditions.
  • Use z-scores to compare extremes across ETFs/time windows more consistently.
  • Extremes are context—not timing signals—confirm with structure and risk plan.

MA spreads & alignment

Trend strength vs reversion odds

  • Widening spreads can indicate strong trends (reversion can be delayed).
  • Tight spreads can indicate compression (breakout risk increases).
  • Alignment (price > 20 > 50 > 200 or inverse) often reduces mean-reversion edge.

FAQ

What is mean reversion in markets? ▌

Mean reversion is the idea that prices tend to move back toward a typical level (a “mean”) after large deviations. In practice, it helps frame overbought/oversold conditions relative to moving averages and historical volatility.

What does a z-score tell me on this dashboard? ▌

A z-score measures how extreme the current deviation is compared to recent history (in standard deviations). Larger absolute values imply a more unusual move relative to the trailing distribution.

How should I interpret “price vs moving averages”? â–Œ

It shows how far price is from the 20/50/200-day moving averages. Larger distances can signal stretched conditions, but trend context matters—strong trends can stay stretched longer than expected.

When do mean reversion signals fail? ▌

They often fail (or take longer) during strong trending regimes, major news cycles, or volatility shocks. “Overbought” and “oversold” can persist when momentum is strong.

How can I use MA spread metrics? ▌

MA spreads help you understand trend alignment and compression/expansion. Tightening spreads can precede breakouts; widening spreads can indicate strong trends but also higher risk of snapback.

Important Considerations

  • Mean reversion works best in range-bound markets; strong trends can overpower it for long stretches.
  • Use multiple confirmations (trend, breadth, volatility, key levels) before acting on “extremes”.
  • Z-scores and percent distances are sensitive to the lookback window and volatility regime.
  • Define invalidation and size risk first—signals are educational and probabilistic.

Data Sources: Price and moving average data calculated from daily close prices. Z-scores computed using 252-day rolling statistics.

Updates: Data refreshed daily after market close (Eastern Time).

ETFs Tracked: SPY (S&P 500), QQQ (Nasdaq-100), IWM (Russell 2000)