AI Research SPY

SPY forward 5d/10d returns after top-decile vs bottom-decile intraday range (≈3y window)

Do the spikiest SPY sessions actually signal short-term buying opportunities? We tested that exact hypothesis over roughly three years by using each day’s intraday high−low range divided by close as a VIX-like proxy, then comparing forward 5- and 10‑day close-to-close returns after the highest-range and lowest-range decile days.

The result is suggestive but weak. Top-decile range days averaged +0.71% over the next 5 trading days (vs an unconditional +0.43%), while bottom-decile (calm) days averaged only +0.21% — a “fear pays / calm lags” pattern. However, tail sample sizes are small (~75 days), dispersion is large, and p-values (top-decile vs rest: 0.293 for 5d, 0.601 for 10d) leave the edge far from conclusive. Full methodology, stats, and charts follow below.

The research question

For SPY over the past ~3 years, do the most volatile sessions — measured by SPY's own intraday high-low range as a VIX proxy — actually mark buying opportunities, with forward 5- and 10-day returns running higher after high-range 'fear' days than after the calmest ones? Thesis: forward returns following the top-decile volatility days meaningfully beat the baseline while ultra-calm 'complacency' days deliver flat-to-soft returns, showing that fear pays and calm doesn't.

How this was measured

Resampled SPY minute bars to daily OHLCV, computed an intraday realized-range proxy as (high−low)/close. Classified days into top decile (highest range), bottom decile (lowest range), and middle 80% using in-sample deciles over the ~3-year window ending at the latest available date. Computed forward 5- and 10-trading-day close-to-close returns from the day of the signal (close[t+H]/close[t]−1). Compared mean forward returns across buckets and ran Welch two-sample t-tests: top-decile vs rest and bottom-decile vs rest for each horizon.

The key numbers

Analysis window (trading days)
752
2023-05-31 to 2026-05-29
Bottom-decile threshold (range/close)
0.8587%
10th percentile of realized range over the window
Top-decile threshold (range/close)
10.9792%
90th percentile of realized range over the window
Top decile mean fwd 5d
0.7118%
N=75 days
Top decile mean fwd 10d
1.0001%
N=74 days
Bottom decile mean fwd 5d
0.2056%
N=75 days
Bottom decile mean fwd 10d
0.5045%
N=75 days
Unconditional mean fwd 5d
0.4277%
All eligible days, N=747
Unconditional mean fwd 10d
0.8384%
All eligible days, N=742
Edge: Top − Uncond (5d)
0.2841%
Positive = fear-day outperformance vs unconditional
Edge: Top − Uncond (10d)
0.1617%
Positive = fear-day outperformance vs unconditional
Edge: Bottom − Uncond (5d)
-0.2221%
Negative = calm-day underperformance vs unconditional
Edge: Bottom − Uncond (10d)
-0.3339%
Negative = calm-day underperformance vs unconditional
Welch p (Top vs rest, 5d)
0.2932
p=0.2932 ≥ 0.05 → no clear difference
Welch p (Top vs rest, 10d)
0.6012
p=0.6012 ≥ 0.05 → no clear difference
Welch p (Bottom vs rest, 5d)
0.1150
p=0.1150 ≥ 0.05 → no clear difference
Welch p (Bottom vs rest, 10d)
0.1112
p=0.1112 ≥ 0.05 → no clear difference

Reading the numbers

Top-volatility days average +0.71% over 5 trading days and +1.00% over 10 days, versus bottom-decile +0.21% (5d) and +0.50% (10d). The top-decile edge versus the unconditional mean is about +0.28% (5d) and +0.16% (10d).

The charts

Mean forward returns by volatility bucket
What this chart says

This bar chart shows mean forward returns for three realized-range buckets: calm (bottom decile), middle 80%, and high-volatility (top decile). The right-hand bars (top decile) are the tallest for both horizons — 0.71% over 5 days and 1.00% over 10 days versus 0.21% and 0.50% in the bottom decile — so on average the highest-range days lead to bigger short-term gains. That gap is the simple 'fear pays' signal: high-range days beat the unconditional mean by about 0.28% (5d) and 0.16% (10d), though these are average effects, not guarantees for each instance.

Forward 5d return distribution by bucket
What this chart says

This box plot for forward 5-day returns gives the distribution behind the means. The top-decile group (n=75) has the highest mean (0.71%) but also much wider tails (min −8.51% and max +8.77%) than the calm group (n=75, mean 0.21%, min −3.41%, max +2.97%). What to watch: the top-decile’s larger upside is paired with larger downside risk, so while fear days raise the average forward return they also produce more variable outcomes than calm days.

Forward 10d return distribution by bucket
What this chart says

The forward 10-day box plot tells the same story on a slightly longer horizon. The top-decile mean is 1.00% (n=74) compared with 0.50% for the bottom decile (n=75) and 0.86% for the middle 80% (n=593). Range-wise the top decile’s outcomes sit between the middle group’s widest negatives and the bottom group’s more constrained moves (top decile min −4.27% max +9.39%), so the 10-day lens still shows higher average returns after high-range days but with overlapping distributions and meaningful tail risk.

Per-bucket forward-return summary

bucketN_5dmean_5dmedian_5dstd_5dfrac_pos_5dN_10dmean_10dmedian_10dstd_10dfrac_pos_10d
Bottom decile (calm)750.00210.00350.01160.5867750.0050.00660.01770.6133
Middle 80%5970.00420.00550.01970.62485930.00860.01170.02780.6813
Top decile (high vol)750.00710.0080.02510.6933740.010.0070.02810.6081

The takeaway

Yes — the data show a small average edge after the highest-range SPY days and weaker returns after the calmest days, but the evidence is thin. Top-decile days averaged +0.71% over the next 5 trading days (N=75) and +1.00% over 10 days (N=74), versus unconditional means of +0.43% (5d) and +0.84% (10d) — edges of about +0.28 and +0.16 percentage points. Bottom-decile (calm) days averaged +0.21% (5d) and +0.50% (10d), underperforming the unconditional by roughly -0.22 and -0.33 percentage points. Those gaps are not statistically robust: top-decile vs rest has p=0.293 (5d) and p=0.601 (10d) — roughly a 29-in-100 and 60-in-100 chance those top-decile edges are just noise; bottom-decile p≈0.11 (~11-in-100 chance) is a weak lean but still not definitive. Dispersion is large relative to the edges (top 5d std ≈ 2.51%, bottom 5d std ≈ 1.16%), and sample sizes in each tail are only ~75 days, so results are noisy. Practical takeaway: there is a suggestive “fear pays / calm lags” pattern on average, but it’s far from conclusive — treat it as a tentative signal that needs stronger, controlled testing before trading on it.

The fine print