YTD Bucket Seasonal
Bucketing ^GSPC years by YTD magnitude through Jun; 2026 sits in 0 to 10%.
▶ View the live, interactive version with full charts →
Forward returns conditioned on the SIZE of the year-to-date move at a chosen month-end, not just its sign. Buckets every year in the sample by YTD magnitude (negative / 0-10% / 10-20% / 20%+), then reports 1M, 3M and rest-of-year returns per bucket with the current year placed in its bucket. The general form of the one-off conditional seasonals that circulate each summer — and it shows the buckets with no edge, which the one-offs never do.
- 75 signals since 1950-01-01.
- Bucketing ^GSPC years by YTD magnitude through Jun; 2026 sits in 0 to 10%.
When to run this study
Run at a month-end when you want to know whether the size of the year-to-date move says anything about what follows. Buckets every historical year by YTD magnitude at the same month-end and reports forward 1M / 3M / rest-of-year returns per bucket, with the current year placed in its bucket. Most useful mid-year, when "we are up a lot already" starts driving positioning.
Historical results
Forward returns by YTD bucket at end of Jun
| YTD through Jun | N | 1M | 1M win | 3M | 3M win | Rest of yr | RoY win |
|---|---|---|---|---|---|---|---|
| < 0% | 23 | 0.33 | 52.20 | -1.24 | 47.80 | 2.09 | 56.50 |
| 0 to 10% | 28 | 1.22 | 67.90 | 2.81 | 67.90 | 4.79 | 75 |
| 10 to 20% | 22 | 2.58 | 68.20 | 3.26 | 68.20 | 9.98 | 90.90 |
| >= 20% | 2 | -1.03 | 50 | -2.42 | 50 | -11.98 | 0 |
| ALL YEARS (baseline) | 75 | 1.33 | 62.70 | 2.49 | 61.30 | 6.23 | 72 |