MA Stretch Monitor — Distance From Moving Averages
21 / 65 / 130 / 200-day · 7 indexes · 98 top stocks · 65 top ETFs · Z-scored vs 3-yr history · Data through August 31, 2026 · Updated August 31, 2026 · 6:33 PM ET
SPX vs 200d
+7.9%
Z -0.1
NDX vs 200d
+9.3%
Z -0.2
Stocks > 200d
74%
top-100 breadth
Stocks > 21d
51%
short-term breadth
Most stretched ↑
CRM
Z +3.3
Most stretched ↓
TJX
Z -4.0
Index Distance From 21 / 65 / 130 / 200-Day Moving Averages
Green = above the average (extended up), red = below (extended down). Read across a row to see how an index sits across tactical-to-primary trend windows; read down a column to compare size/style cohorts at one horizon. Click any cell to open that index's stretch-history chart.
Participation — % of Top Names Above Each MA
Healthy regimes show >50% across all four windows. An index above its 200d while fewer than half its members are = a narrow, fragile tape.
Top 100 Stocks by Market Cap — Distance From MAs (click any header to sort)
TickerLast21d %65d %130d %200d %Comp Z
NVDA220.78+1.2%+5.6%+9.3%+12.8%-0.3
MSFT507.29+2.8%+18.7%+22.6%+18.1%+1.5
AAPL316.85+2.2%+2.3%+9.2%+12.2%+0.3
GOOGL339.35-3.0%-3.9%-1.6%+1.4%-0.9
AMZN259.77-2.5%+3.5%+6.3%+8.8%-0.2
META572.34-0.6%-3.3%-5.9%-7.9%-0.8
AVGO370.34-5.1%-5.3%-2.7%+0.5%-1.3
TSLA367.95+8.2%-0.8%-3.7%-8.1%-0.1
BRK-B504.03-0.9%+1.2%+3.0%+2.4%-0.3
LLY1,156.73-3.6%-1.2%+8.6%+9.4%-0.4
JPM356.02-0.6%+4.9%+11.7%+12.9%+0.1
WMT104.87-4.5%-7.2%-12.2%-11.2%-2.1
V379.37+2.6%+8.2%+14.2%+14.3%+1.2
ORCL149.12+1.4%-4.6%-7.2%-11.9%-0.4
MA589.31+2.2%+10.0%+13.5%+11.5%+1.3
NFLX81.05+4.4%+6.2%-4.6%-7.4%-0.2
XOM160.95+1.3%+7.8%+6.6%+13.2%+0.5
COST943.89-0.8%-0.7%-3.4%-1.4%-0.8
JNJ265.85+1.0%+5.7%+9.8%+14.7%+0.5
HD327.83-3.9%-2.3%-1.5%-4.1%-0.7
PG145.12+0.1%-0.7%-0.5%-0.5%-0.2
ABBV256.42+0.9%+4.8%+12.8%+13.9%+0.5
BAC61.94-1.7%+3.9%+12.7%+14.0%+0.1
KO88.67+0.2%+5.4%+9.9%+14.4%+0.8
UNH389.41-2.5%-4.8%+6.4%+12.0%+0.1
PLTR186.38+8.5%+30.0%+30.0%+23.1%+0.4
CRM257.54+24.9%+41.8%+41.0%+29.0%+3.3
CVX206.14+4.4%+10.8%+10.0%+16.5%+1.3
TMUS180.44+0.8%-0.2%-5.0%-6.5%-0.5
WFC86.39-0.3%+1.9%+5.8%+2.8%-0.3
CSCO110.49-3.9%-5.2%+7.7%+18.1%-0.5
PM187.30-0.9%+1.3%+5.8%+9.0%-0.3
IBM233.87-0.0%-7.0%-4.4%-10.2%-1.0
ABT110.36-0.8%+11.1%+12.1%+4.5%+0.7
GE335.71-6.8%-4.9%+2.6%+4.8%-1.4
MRK147.76+5.6%+14.9%+21.1%+27.1%+1.5
LIN489.58+0.8%-3.1%-2.4%+2.5%-0.5
AMD470.72-2.2%-6.8%+17.9%+39.8%-0.1
NOW147.99+16.9%+31.4%+38.3%+24.2%+2.2
MS213.32-0.9%-0.8%+8.9%+13.3%-0.3
AXP330.17-2.7%-2.0%+2.0%-1.8%-0.8
ISRG376.86-1.4%-3.5%-11.8%-19.4%-1.0
GS1,025.90-1.1%-2.4%+5.8%+9.2%-0.7
INTU359.30+4.2%+17.5%+1.6%-16.6%+0.5
ACN189.76+5.9%+19.0%+9.6%-5.6%+1.1
DIS107.55+2.1%+7.0%+6.8%+4.1%+0.5
TXN260.91-4.0%-9.2%-0.3%+10.8%-0.5
RTX207.73-4.4%+3.9%+6.8%+8.6%-0.5
QCOM170.48+5.1%-7.3%+0.2%+2.1%-0.2
BKNG199.09-4.3%+6.7%+11.5%+7.4%+0.0
ADBE292.79+8.7%+21.9%+19.6%+8.9%+1.9
CAT797.47-4.7%-10.9%-5.2%+4.1%-1.3
T25.89+4.6%+12.0%+4.8%+4.9%+0.5
VZ50.02+3.2%+9.1%+7.3%+12.5%+0.8
PFE28.46+4.8%+12.0%+10.7%+12.2%+1.8
AMGN429.88+2.3%+14.0%+19.0%+22.1%+1.4
SPGI435.84+3.5%+5.0%+6.6%+1.7%+0.5
BSX48.30-2.7%+3.1%-12.2%-28.8%-0.7
UBER75.65-0.4%+3.4%+2.7%-1.3%-0.2
BLK1,155.61+0.2%+8.1%+10.8%+9.9%+0.5
C131.62-2.3%-2.8%+3.6%+8.4%-0.8
NEE82.34-2.4%-4.1%-6.9%-4.8%-0.8
HON213.53-6.9%-7.7%-8.6%-6.3%-1.8
SYK323.80-3.4%+0.2%-0.9%-4.3%-0.6
TJX133.91-9.7%-13.2%-13.7%-13.1%-4.0
LOW204.70-5.1%-4.3%-8.9%-12.8%-1.2
DHR213.56+2.7%+9.3%+12.2%+5.5%+1.0
PGR218.08+1.6%+2.4%+5.2%+4.7%-0.0
GILD146.34+4.3%+10.3%+8.6%+10.2%+0.6
BA207.78-7.1%-5.6%-5.4%-5.5%-0.7
UNP300.67+0.2%+5.3%+11.3%+16.8%+0.9
ETN401.88-7.2%-2.7%+0.9%+6.2%-0.9
ADP286.16+3.7%+14.6%+25.2%+22.2%+1.9
COP132.49+4.9%+13.5%+11.8%+20.0%+1.4
MU958.73+3.9%-0.5%+29.6%+62.0%-0.0
ADI362.14-3.9%-7.2%-3.5%+5.0%-0.9
LRCX301.49-4.3%-9.5%+3.0%+16.9%-0.8
KLAC175.45-8.3%-18.1%-7.7%+3.2%-1.6
PANW382.13+4.0%+15.7%+49.1%+65.9%+1.5
CRWD231.00+10.0%+20.2%+50.1%+63.9%+1.3
ANET195.69+0.6%+10.6%+21.6%+29.8%+0.3
MDT90.65+0.5%+8.0%+8.1%+2.2%+0.6
VRTX544.52+4.1%+11.4%+16.3%+17.4%+1.3
REGN799.08-0.4%+15.0%+12.1%+9.8%+0.7
CB338.60-1.8%-0.7%+1.5%+4.4%-0.8
SCHW109.82+0.4%+9.6%+14.1%+13.7%+0.6
SO88.00-3.3%-5.3%-5.8%-3.3%-1.6
DE654.91+5.8%+8.6%+10.9%+16.6%+1.2
MO68.48+2.3%-2.1%+0.1%+5.6%-0.5
BMY66.81+1.8%+10.8%+13.0%+17.5%+1.0
PLD139.92-0.8%-1.9%-0.0%+3.1%-0.2
DUK119.91-1.9%-3.2%-4.1%-2.0%-1.4
APH158.55-3.1%-0.1%+7.7%+9.4%-0.7
CME285.50+5.5%+11.7%+3.5%+3.8%+0.8
ICE160.70+3.1%+11.4%+6.4%+4.1%+0.7
ELV392.54-0.6%-1.0%+8.0%+10.3%+0.4
MCD263.54-2.3%-3.3%-8.2%-10.6%-1.2
KKR109.72+1.3%+9.8%+12.6%+4.0%+0.2
Click a ticker to chart its full stretch history, or click a specific MA cell (e.g. CME's 21d %) to open that exact window. Cells shaded green (above) / red (below) by magnitude. Composite Z ≥ |2| (red) flags a 3-year statistical extreme. Default order = market cap.
Top 50 ETFs by AUM — Distance From MAs (click any header to sort)
TickerLast21d %65d %130d %200d %Comp Z
SPY767.05-0.3%+2.0%+6.1%+8.4%-0.1
IVV770.74-0.3%+2.0%+6.1%+8.4%-0.1
VOO704.89-0.3%+2.0%+6.1%+8.4%-0.1
VTI378.15-0.4%+1.8%+6.0%+8.4%-0.1
QQQ716.76-0.2%+0.2%+5.9%+9.5%-0.3
VUG88.24-0.1%+1.9%+6.0%+7.4%-0.2
VEA72.92+0.0%+2.2%+5.3%+8.6%+0.0
IEFA100.26-0.3%+2.6%+5.3%+7.5%+0.1
VTV224.85-0.3%+2.3%+6.7%+10.0%+0.3
BND72.24-0.2%-0.4%-0.4%-0.4%-0.7
AGG97.41-0.1%-0.3%-0.4%-0.4%-0.7
VGT120.49+0.6%+2.5%+11.4%+16.9%+0.3
IWF122.71-0.5%+0.4%+3.2%+3.9%-0.5
IJH75.35-2.2%-0.8%+2.8%+5.7%-0.5
VXUS87.32+0.2%+2.1%+5.1%+8.0%+0.0
IEMG81.73+1.2%+1.4%+5.1%+9.5%+0.1
IJR144.52-2.3%-0.4%+4.9%+8.8%-0.2
GLD408.42+0.8%+5.0%-1.0%-1.6%-0.6
VIG242.07-0.9%+1.4%+4.9%+6.6%-0.2
VO82.06-1.1%+1.3%+5.3%+7.6%-0.0
IWM293.93-2.0%-0.5%+4.9%+8.5%-0.2
VWO60.52+0.5%+1.8%+4.0%+6.0%-0.0
XLK186.50+0.5%+1.4%+11.0%+17.1%+0.2
BNDX47.55-0.5%-0.7%-0.5%-0.4%-1.3
SCHD34.89+1.2%+5.5%+9.0%+13.8%+1.0
VB299.15-1.7%+0.2%+4.4%+7.4%-0.2
IWD256.91-0.2%+3.5%+8.9%+12.8%+0.6
RSP219.39-0.6%+2.2%+6.2%+8.6%+0.2
VYM163.87-0.8%+1.5%+4.7%+7.4%-0.2
ITOT167.92-0.4%+1.8%+6.0%+8.4%-0.1
IVW139.60-0.5%+1.7%+6.6%+9.1%-0.2
VEU85.25+0.1%+2.0%+5.0%+8.0%-0.0
TLT82.52+0.0%-1.6%-2.4%-2.9%-0.4
VT160.55-0.1%+2.0%+5.7%+8.2%-0.0
MUB105.10-0.5%-1.0%-0.8%-0.6%-1.0
LQD106.21-0.1%-0.8%-1.0%-1.1%-0.8
IWB419.88-0.3%+2.0%+6.1%+8.3%-0.1
QUAL222.62-0.8%+1.6%+5.6%+7.7%-0.2
DIA531.57-0.7%+1.6%+5.8%+7.4%-0.0
XLF57.71-0.2%+3.9%+8.7%+8.7%+0.3
VCSH78.53-0.1%+0.2%+0.4%+0.6%-1.1
IXUS97.42+0.1%+2.1%+5.1%+8.1%+0.0
MBB93.10-0.2%-0.3%-0.4%-0.2%-0.7
JEPI57.50-0.5%+1.9%+2.8%+3.3%-0.1
DGRO79.02-0.6%+2.2%+6.0%+8.3%+0.1
USMV101.52+0.7%+3.8%+5.7%+6.5%+0.7
VV353.42-0.2%+2.0%+6.2%+8.5%-0.1
EFA107.45-0.4%+2.4%+5.3%+7.4%+0.0
GOVT22.44-0.2%-0.3%-0.5%-0.6%-0.7
SCHF28.22-0.1%+2.0%+5.4%+8.7%+0.0
MTUM300.36-2.5%-4.5%+3.0%+8.2%-0.9
VLUE201.54+0.7%+2.2%+13.2%+22.5%+0.4
SIZE182.76-0.9%+1.8%+5.8%+8.0%+0.1
EEM67.02+1.1%+1.0%+5.0%+9.6%+0.0
EWJ95.88+0.0%+2.4%+5.8%+8.9%+0.1
FXI35.37-0.7%+2.3%+0.1%-3.2%-0.3
INDA49.70-0.3%+1.2%+1.5%-1.6%-0.2
SLV60.13+1.8%+4.8%-6.0%-7.6%-0.4
DBC31.30+4.0%+8.0%+7.8%+16.1%+1.2
USO133.70+5.5%+8.6%+7.7%+26.0%+0.6
UNG10.54+4.7%-2.3%-5.0%-10.7%+0.3
DBA29.32+4.3%+6.7%+7.2%+9.7%+1.3
HYG79.81+0.2%+0.6%+1.3%+1.7%-0.5
EMB94.77-0.2%-0.4%+0.4%+0.7%-0.9
IEF92.74-0.3%-0.6%-1.0%-1.2%-0.7
Click a ticker or MA cell to open its stretch-history chart. Product ETFs (broad, sector, bond, international, commodity); leveraged/inverse excluded. Default order = AUM.
Top 100 Stocks — 10 most overbought & oversold
⬇ 10 Most OVERSOLD stocks (washed out) — by composite Z
Tickervs 200dComp Z
TJX-13.1%-4.0
WMT-11.2%-2.1
HON-6.3%-1.8
KLAC+3.2%-1.6
SO-3.3%-1.6
GE+4.8%-1.4
DUK-2.0%-1.4
CAT+4.1%-1.3
AVGO+0.5%-1.3
MCD-10.6%-1.2
⬆ 10 Most OVERBOUGHT stocks (extended) — by composite Z
Tickervs 200dComp Z
CRM+29.0%+3.3
NOW+24.2%+2.2
ADBE+8.9%+1.9
ADP+22.2%+1.9
PFE+12.2%+1.8
MRK+27.1%+1.5
PANW+65.9%+1.5
MSFT+18.1%+1.5
COP+20.0%+1.4
AMGN+22.1%+1.4
Top 50 ETFs — 5 most overbought & oversold
⬇ 5 Most OVERSOLD ETFs — by composite Z
Tickervs 200dComp Z
BNDX-0.4%-1.3
VCSH+0.6%-1.1
MUB-0.6%-1.0
MTUM+8.2%-0.9
EMB+0.7%-0.9
⬆ 5 Most OVERBOUGHT ETFs — by composite Z
Tickervs 200dComp Z
DBA+9.7%+1.3
DBC+16.1%+1.2
SCHD+13.8%+1.0
USMV+6.5%+0.7
IWD+12.8%+0.6
Click any ticker to chart its stretch history and its forward-return spaghetti from prior times it hit this same extreme. Ranked by composite Z (mean of the four MA-distance Z-scores vs 3-yr history). Negative = oversold / washed out (bounce candidates); positive = overbought / extended (fade or trail-stop candidates). |Z| ≥ 2 ≈ more stretched than ~97.5% of the past three years. Refreshes with every rebuild. Extension is a positioning gauge, not a timing trigger — pair with the Snapback Lab for forward odds.
🔎 Stretch Screen — candidates at a 95th / 5th-percentile MA stretch, ranked by their forward returns from this location (2023 → current only)
Only names currently sitting at a location extreme — top 5% (stretched high) or bottom 5% (stretched low) of their distance-from-MA distribution since 2023. For each, the table shows the forward 5 / 10 / 21-day return (median · win-rate) from prior visits to that same extreme in the 2023→current regime, and the Play: Fade / Bounce = mean-reversion (forward runs against the stretch), Ride / Break = the study says go with it. Edge★ = |21-day forward median| × sample × win-conviction — the sort key. Click a ticker for its history + snapback.
21-Day MA  · 10 names at the extreme
#TickerClassDist vs MAPctileFwd 5dFwd 10dFwd 21dnPlayEdge★
1TJXStock-9.7%0th+2.1% · 76%+2.9% · 89%+6.6% · 100%37Bounce ▲6.12
2GEStock-6.8%3th+1.7% · 61%+5.2% · 77%+5.7% · 84%44Bounce ▲4.79
3CRMStock+24.9%100th-0.4% · 49%+1.5% · 69%+3.8% · 74%35Ride ▲2.50
4DBAETF+4.3%97th-0.1% · 48%-0.6% · 48%-3.4% · 36%44Fade ▼2.15
5KLACStock-8.2%5th+3.7% · 64%+1.7% · 60%-3.4% · 45%42Break ▼1.84
6ETNStock-7.2%3th+1.4% · 68%+3.3% · 70%+2.4% · 59%44Bounce ▲1.41
7HONStock-6.9%1th+0.5% · 54%+1.7% · 67%+2.0% · 67%39Bounce ▲1.33
8NOWStock+16.9%99th+1.1% · 58%+2.3% · 66%-0.4% · 45%38Fade ▼0.20
9WMTStock-4.5%5th+1.0% · 66%+0.3% · 55%-0.3% · 47%38Break ▼0.15
10CMEStock+5.5%95th+0.1% · 52%-1.0% · 38%-0.1% · 50%42Fade ▼0.04
200-Day MA  · 15 names at the extreme
#TickerClassDist vs MAPctileFwd 5dFwd 10dFwd 21dnPlayEdge★
1TJXStock-13.1%0th+3.0% · 87%+3.8% · 94%+8.3% · 94%31Bounce ▲5.99
2SLVETF-7.6%5th+2.8% · 56%+3.0% · 66%+9.1% · 81%32Bounce ▲5.91
3AMGNStock+22.1%96th-0.2% · 44%-1.8% · 31%-7.3% · 11%36Fade ▼5.86
4HONStock-6.3%4th+1.9% · 76%+2.9% · 82%+4.7% · 91%45Bounce ▲4.28
5PANWStock+65.8%98th-3.0% · 48%+1.5% · 56%+7.5% · 84%25Ride ▲3.96
6LOWStock-12.8%3th+2.5% · 67%+3.0% · 79%+4.3% · 86%43Bounce ▲3.73
7CRWDStock+63.9%97th+0.6% · 58%+1.3% · 52%+4.2% · 70%40Ride ▲2.91
8MCDStock-10.6%1th+2.2% · 81%+2.3% · 92%+2.9% · 78%36Bounce ▲2.03
9IWDETF+12.8%96th+0.1% · 62%+0.8% · 75%+3.2% · 92%24Ride ▲1.74
10CRMStock+29.0%97th-1.0% · 27%-1.2% · 32%-2.1% · 34%44Fade ▼1.42
11SCHDETF+13.8%96th-0.2% · 37%-0.8% · 37%-1.9% · 20%30Fade ▼1.15
12ADPStock+22.2%100th-0.9% · 26%-0.8% · 22%-1.9% · 30%27Fade ▼0.92
13ISRGStock-19.4%3th+2.4% · 75%+2.9% · 75%+1.5% · 61%28Bounce ▲0.62
14PFEStock+12.2%98th-1.8% · 30%-1.5% · 30%-0.7% · 35%40Fade ▼0.42
15WMTStock-11.2%1th+0.3% · 52%+0.8% · 56%-0.3% · 44%25Break ▼0.12
Forward-return windows overlap (not de-clustered), so treat n as occurrences, not independent trials — a context/odds gauge, not a timing trigger. Percentiles and forward samples are both computed only over 2023→current, so this reflects the current regime, not the 2008–2022 history the Snapback Lab uses. Refreshes every build.
Stretch History — distance from a moving average over time, with the asset's own ±2σ bands
MA window:
Distance of price from the selected moving average over time. The dashed lines are this asset's historical mean and ±2σ of that distance — when the blue line pokes outside the band, the name was statistically stretched (the same condition the composite Z flags). Switch the MA window to see tactical (21d) vs primary-trend (200d) extension. For forward returns after any stretch level, use the 🎯 Threshold Lab tab.
Forward Returns Under the Current MA Setup — what historically followed this exact configuration
Signature = price above/below each of the 21/65/130/200-day MAs plus the short-term trend (whether the 21d MA is rising or falling over 10 sessions). We match every prior day in the identical signature and measure forward 5/10/21-day returns. "Edge" = conditional median minus the unconditional baseline. Few matches (n<20, flagged) = treat as anecdote, not signal. Deep history back to 2008 where available.
🎯 Snapback Lab — forward returns when an asset hits a historical stretch extreme
MA:
Extreme:
"Bottom 5%" = days when price was more below the chosen MA than 95% of the asset's history since 2008 (the most oversold / stretched-down extreme → snapback-up candidate). "Top" = the overbought extreme → snapback-down candidate. The table shows forward 5/10/21-day returns from those days vs the unconditional baseline; "Edge" = conditional median − baseline. The current-percentile banner shows how close the asset is to an extreme right now. Percentiles are in-sample (vs full history) — a ranking/context measure; n<20 (flagged) = anecdote, not signal.
🔔 Fresh 21-Day Crosses — every name that crossed its 21-day MA in the last two sessions
Show:
A cross = price closed on the opposite side of its 21-day MA vs the prior session. Yesterday = the most recent session; 2 days ago = the one before. Trend-aligned (★) = the 65/130/200-day MAs were all already on the new side — i.e. a true Alignment Cross (the high-quality subset). Click any row to open that name's cross study. "Hist 21d med" = the historical median 21-session return after that name's aligned cross in the same direction.
⚡ Alignment Cross — the 21-day snaps back into an already-unanimous longer-term trend
Direction:
The signal. Bullish reclaim = price was below its 21-day MA but above all of the 65/130/200-day MAs (a pullback inside an intact uptrend), then closed back above the 21-day — all four now aligned up. Bearish loss = the mirror (a bounce inside an intact downtrend that rolls back over). Each faint strand is the forward 1–30 session path after one such cross (green ended higher, red lower); the bold dashed line is the median with its 25–75 band. If the asset is primed (odd-man-out right now) or has just crossed, the banner flags the live opportunity and overlays the live path. Events are de-duplicated to ≥10 sessions apart; n<20 (flagged) = anecdote, not signal. History since 2008.
🎯 Threshold Lab — "the name just hit X% from its MA — what happened next?"
MA:
breached:
Type any level and pick a direction: a breach is the session price's distance from the chosen MA first crosses that level. Regime adds an "AND" filter — e.g. only breaches while the name is above a rising 200-day (buy-the-dip-in-an-uptrend). Each faint strand is the forward 1–30 session path from a breach; bold dashed = median with 25–75 band; indigo = the most recent (still-open) instance. Everything is computed live in your browser; Export CSV downloads every breach date + its 1–30 session forward returns. Daily data since 2020.
What This Measures

For every instrument we compute the percentage distance of price from each moving average (21, 65, 130 and 200 sessions): distance = price / SMA − 1. Positive means price is above the average (uptrend / extended up); negative means below (downtrend / extended down). The four windows span the spectrum from one-month tactical (21d) to one-year primary-trend (200d).

Why the Z-Score Matters

A raw +8% above the 200-day means something very different for low-volatility Berkshire than for high-beta Nvidia. So each distance is normalized into a Z-score against that name's own 3-year history of the same distance: Z = (distance − 3yr mean) / 3yr std. The composite Z averages the four windows into a single stretch reading. |Z| ≥ 2 (flagged red) means the instrument is more extended than it has been ~97.5% of the time over three years — a statistical mean-reversion candidate, in either direction.

How to Use It
Caveats

Distance from a moving average is a positioning/▒extension gauge, not a directional forecast — strong trends stay extended for long stretches. The stock and ETF lists are a curated snapshot ordered by approximate market cap / AUM (the distance figures are live; the membership is refreshed manually). Newly-listed names with under one year of history show a distance but no Z-score. Index levels use yfinance spot symbols (^GSPC, ^NDX, …).