SPY top-10 up vs top-10 down day proximity (last ~3 years)
The biggest up days for SPY over the last ~3 years are not scattered gifts — they disproportionately occur near the biggest down days. In this sample, 3 of 10 top up days (30%) landed within ±3 trading sessions of a top-10 down day, versus a permutation baseline of roughly 7.6%, suggesting the extremes cluster into the same volatile windows rather than sitting apart.
Below you'll find the full study: how the top-10 up and down days were identified, the 2,000-iteration permutation test used to define a null, and the distance metrics that back this result. The finding is a directional lean rather than an airtight law (only 10 events per side), but the detailed stats and charts are in the analysis that follows.
For SPY over the past ~3 years, do the market's 10 biggest up days sit right on top of its 10 biggest down days — is a top-10 gain far more likely to land within a few sessions of a top-10 loss than random spacing would allow? Thesis: the extremes cluster inside the same volatile windows, so the best days are rebound convulsions in the middle of selloffs rather than calm-market gifts, meaning you can't sidestep the crashes without forfeiting the biggest rallies.
How this was measured
Resampled SPY minute bars to daily closes and computed close-to-close returns over the trailing ~3 years. Identified the 10 largest up days (by return) and the 10 largest down days. For each top-10 up day, measured the trading-day distance to the nearest top-10 down day and summarized the share landing within ±3 and ±5 sessions, plus the mean nearest distance. To quantify whether this proximity exceeds random spacing, ran a 2,000-iteration permutation test: shuffled daily returns across dates, re-picked the top/bottom 10 in each shuffle, and recomputed the same proximity metrics. Reported one-sided Monte Carlo p-values.
The key numbers
Reading the numbers
Three of the 10 biggest up days (30%) occur within ±3 trading days of a top-10 down day and four (40%) within ±5 days; the average nearest up-to-down distance is 17.7 days versus a permutation mean of 37.1 days, with p≈0.03 for these clustering tests.
The charts
This histogram shows the permutation distribution for the share of top-up days that fall within ±3 trading days of a top-down day; the randomization average is 0.0763. The observed share, 0.3, sits far out on the right tail compared with the bulk around 0.0763. That right‑tail placement means three of ten up-days being this close to big down-days is unlikely under random spacing (see p≈0.032), so short-window clustering is stronger than chance.
This histogram plots the permutation distribution of mean nearest distance (in trading days) between each up-day and its closest down-day; the permutation mean is 37.1012 and simulated values span from 8.1 to 149.5. The observed mean nearest distance is 17.7 days, which sits well to the left of the permutation bulk (first reported permutation values start around 29.9), indicating up-days are on average much closer to down-days than random. The Monte Carlo p≈0.024 confirms that the shorter observed mean distance is unlikely to have arisen by chance.
This bar chart puts observed metrics side‑by‑side with permutation baselines: within ±3 days observed 0.3 vs null 0.0764, within ±5 days observed 0.4 vs null 0.1224, and mean nearest distance observed 17.7 days vs null 37.1011. Look at the gaps—the short-window shares are roughly three times the null and the mean distance is about half the null—visual confirmation that the biggest up and down days cluster in the same volatile windows rather than being randomly spaced.
Top-10 up days and nearest top-10 down neighbor
| up_date | up_return | nearest_down_date | nearest_down_return | distance_td |
|---|---|---|---|---|
| 2025-04-09 | 0.1125 | 2025-04-10 | -0.0432 | 1 |
| 2025-04-22 | 0.0398 | 2025-04-10 | -0.0432 | 7 |
| 2026-03-31 | 0.0344 | 2026-03-27 | -0.023 | 2 |
| 2025-05-12 | 0.0303 | 2025-04-10 | -0.0432 | 21 |
| 2024-08-08 | 0.0302 | 2024-12-18 | -0.027 | 92 |
| 2026-02-06 | 0.0247 | 2026-03-27 | -0.023 | 34 |
| 2026-04-07 | 0.0237 | 2026-03-27 | -0.023 | 6 |
| 2025-04-11 | 0.0231 | 2025-04-10 | -0.0432 | 1 |
| 2026-06-11 | 0.023 | 2026-06-05 | -0.0259 | 4 |
| 2025-04-24 | 0.0219 | 2025-04-10 | -0.0432 | 9 |
Top-10 down days and nearest top-10 up neighbor
| down_date | down_return | nearest_up_date | nearest_up_return | distance_td |
|---|---|---|---|---|
| 2025-04-04 | -0.0575 | 2025-04-09 | 0.1125 | 3 |
| 2025-04-10 | -0.0432 | 2025-04-09 | 0.1125 | 1 |
| 2025-04-08 | -0.0375 | 2025-04-09 | 0.1125 | 1 |
| 2025-04-02 | -0.03 | 2025-04-09 | 0.1125 | 5 |
| 2025-10-10 | -0.0295 | 2026-02-06 | 0.0247 | 81 |
| 2025-03-10 | -0.0284 | 2025-04-09 | 0.1125 | 22 |
| 2024-12-18 | -0.027 | 2025-04-09 | 0.1125 | 75 |
| 2026-06-05 | -0.0259 | 2026-06-11 | 0.023 | 4 |
| 2025-11-20 | -0.0233 | 2026-02-06 | 0.0247 | 52 |
| 2026-03-27 | -0.023 | 2026-03-31 | 0.0344 | 2 |
The takeaway
Yes — over the last ~3 years the biggest up days tend to cluster near the biggest down days rather than being randomly spaced. Specifically, 3 of the 10 top up days (30%) fell within ±3 trading days of a top-10 down day versus a permutation baseline of about 7.6% (Monte Carlo p = 0.032). Expanding to ±5 days, 4 of 10 up days (40%) sit close to a top down-day versus a null average of 12.24% (p = 0.0245). The mean nearest up-to-down distance is 17.70 trading days compared with a null mean of 37.10 (p = 0.024), so extremes are noticeably closer together than random shuffling would produce. Those p-values imply only about a 2–3% chance this clustering is pure luck under the permutation null, but the result rests on just 10 events per side so treat it as a meaningful lean rather than airtight proof. Practically, extremes cluster — for example 2025-04-09 was +11.25% and sits one trading day from 2025-04-10 (−4.32%) — so avoiding crashes will likely forfeit at least some of the largest rebounds.
The fine print
- Window is ~3 years (2023-07-03 to 2026-06-30); results may be regime-sensitive.
- Only 10 up and 10 down events are used — event-level metrics are noisy and sample-thin.
- Permutation test shuffles dates and destroys volatility clustering; it's a reasonable baseline for spacing but not the only null to consider.
- Analysis uses daily close-to-close returns; intraday rebounds around crashes are not captured.