AI Research SPY

SPY turn-of-the-month seasonality — last ~3 years (L + F1–F3 vs the rest)

Contrary to the seasonality thesis, the last trading day plus the first three of the next month did not capture SPY’s recent gains. Over the trailing ~3 years those TOM sessions compounded to about 7.40% while the other trading days accounted for roughly 74.78% of the cumulative return — TOM contributed only a small share of the total log-return.

I resampled minute bars to daily closes across 751 sessions, separated the defined TOM window from the rest, and decomposed log-returns (with Welch’s t-test on mean daily returns). The report below lays out the full statistics, charts, and significance testing that overturn the idea that turn-of-month days drove SPY’s performance in 2023‑06 through 2026‑05.

The research question

For SPY over the past ~3 years, are gains concentrated in the 'turn-of-the-month' window (the last trading day of each month plus the first three of the next) while the other ~16 sessions are roughly flat? Thesis: that handful of turn-of-month days captured the bulk of SPY's cumulative return and the rest of the month added almost nothing, showing the seasonality is still alive.

How this was measured

Resampled SPY minute bars to daily closes and computed close-to-close returns over the trailing ~36 months (2023-06-01 to 2026-05-29). Turn-of-the-month (TOM) days are defined as the last trading day of each calendar month plus the first three trading days of the following month. Daily log-returns were summed within TOM versus non-TOM buckets to measure cumulative contribution (log-additivity ensures exact decomposition), then exponentiated back to simple returns. Welch's t-test compares mean daily returns between TOM and non-TOM days.

The key numbers

Trading days analyzed
751
2023-06-01 to 2026-05-29
TOM days (count)
141
Last day of month + first 3 of next
Non-TOM days (count)
610
Mean daily return — TOM
0.0548%
N=141
Mean daily return — non-TOM
0.0964%
N=610
Cumulative return — TOM
7.4034%
From log-sum of TOM days
Cumulative return — non-TOM
74.7779%
From log-sum of non-TOM days
Share of total from TOM (log space)
11.3409%
TOM contributed less than half of cumulative log-return
Welch t-stat (TOM vs non-TOM means)
-0.478
Positive favors TOM
Welch p-value (two-sided)
0.6332
p=0.6332 ≥ 0.05 → no statistically-clear mean difference

Reading the numbers

Across 751 trading days (141 TOM), TOM days generated a cumulative return of 0.074 while non‑TOM days generated 0.7478; mean daily returns were 0.0005484 (TOM) vs 0.0009637 (non‑TOM) and the two‑sample p=0.6332 shows no statistically‑clear mean difference.

The charts

Cumulative return paths — Total vs Turn-of-the-month vs Rest
What this chart says

This cumulative‑return line chart layers three paths: Total ends at 0.8772, the turn‑of‑month path ends at 0.074, and the rest‑of‑month path ends at 0.7478. Visually the TOM line stays near the bottom compared with the tall rise in the rest‑of‑month line — the big chunk of total cumulative gain is in the rest series. That directly challenges the thesis that a few TOM sessions captured most gains: numerically the rest of month accounts for far more of the total path.

Daily return distribution — TOM vs Rest
What this chart says

The box plots show daily return dispersion for TOM (n=141) and rest (n=610): TOM daily returns range roughly −0.03 to 0.0344 with mean 0.0005, while the rest ranges about −0.0575 to 0.1125 with mean 0.001. The rest group has larger upside outliers and a wider spread; TOM days are tighter and lack the extreme positive moves that drive large cumulative gains. If you were expecting TOM to concentrate the big positive days, this plot shows those big positive outliers live mostly in the rest‑of‑month sample.

Mean daily return by group
What this chart says

The two bars compare mean daily returns: TOM at 0.0005 versus Rest at 0.001. The rest mean is roughly double the TOM mean in these raw numbers, but both means are very small and the reported Welch t p‑value is 0.6332, indicating that difference is not statistically clear. So while the rest has a higher average daily return here, the evidence doesn’t show a reliable mean separation.

Cumulative return by group (simple, decomposed via log-sum)
What this chart says

This decomposed cumulative bar chart makes the split explicit: TOM contributed 0.074, rest contributed 0.7478, and the total is 0.8772. Look at the tall rest bar versus the much smaller TOM bar — most of the cumulative return over the sample period came from non‑TOM days. That outcome contradicts the idea that a handful of turn‑of‑month sessions captured the bulk of SPY’s gains over these ~3 years.

TOM vs Rest summary (daily stats and cumulative over window)

groupN_daysmean_daily_retmedian_daily_retstd_daily_retcumulative_returnfraction_positive_days
Turn-of-month (L + F1–F3)1410.00050.00090.00920.0740.5603
Rest of month6100.0010.00130.00990.74780.5639
Total (sanity check)7510.00090.00120.00970.87720.5632

The takeaway

No — over the last ~3 years the turn-of-month days did not concentrate SPY's gains; the rest of the month produced the lion's share. Across 751 trading days there were 141 TOM days: those TOM sessions compounded to about 7.40% while the other 610 days produced about 74.78%, so TOM contributed only ~11.3% of the total log-return. On a per-day basis the TOM mean was actually smaller: 0.0005484 per day (~0.055%) vs 0.0009637 (~0.096%) on non‑TOM days. The difference is not statistically meaningful: Welch's t = -0.4779 with p = 0.633, which is roughly a 63‑in‑100 chance the observed mean gap is just noise. With 751 days (141 TOM) we have reasonable recent coverage, and the data actively contradicts the thesis rather than merely failing to prove it. Bottom line: in 2023‑06 through 2026‑05 the turn‑of‑month seasonality is not driving SPY's returns — the other sessions accounted for almost all of the cumulative gain.

The fine print