QQQ turn-of-the-month vs mid-month return concentration (last ~3 years)
The test was simple: take QQQ over the most recent ~3 years (751 trading days), label the last trading day of each month plus the first three of the next as the turn‑of‑month (144 days, 19.17% of sessions), and compare returns there to the remaining mid‑month sessions. That setup probes the classic 401(k)/turn‑of‑month seasonality claim — that month‑boundary sessions pack a disproportionate share of gains.
They do not. The ToM window generated a cumulative 12.78% (about 17.03% of total), while mid‑month days produced roughly 79.68% of the cumulative return. Per‑day means were slightly lower at ToM (0.0912% vs 0.1057%) and a Welch t‑test (t = −0.124, p = 0.9017) indicates the gap is essentially noise. Full methodology, charts, and session‑level breakdowns follow below.
For QQQ over the past ~3 years, are its gains concentrated in the turn-of-the-month window — the last trading day of a month plus the first three of the next — while the remaining mid-month sessions net out flat, the classic 401(k)-inflow seasonality? Thesis: the four-day turn-of-month window captures a disproportionate share of QQQ's cumulative return and beats the everyday baseline while the mid-month sessions collectively add little, so the calendar edge lives at the month boundary.
How this was measured
Resampled minute bars to daily closes for QQQ, limited to the most recent ~3 years. Classified each trading day as turn-of-the-month (ToM: last trading day of the month plus the first three trading days of the next month) or mid-month (all other sessions). Computed close-to-close daily returns, mean returns per bucket, and cumulative contributions using log-return sums (expm1 of cumulative log-returns). Welch’s two-sample t-test compares mean daily returns of ToM vs mid-month days.
The key numbers
Reading the numbers
Across 751 trading days, 144 are turn-of-month (19.17%). Those ToM days generated a cumulative return of 0.1278 (≈12.78%), which is 17.03% of the total log-return; the remaining mid-month sessions produced 0.7968 (≈79.68%).
The charts
This cumulative-line chart juxtaposes the running contribution from the turn-of-month (ToM) days versus mid-month days and the total return. Look at the end points: ToM cumulative finishes at 0.1278 while mid-month finishes at 0.7968, and the total at 1.0264 — mid-month sessions clearly carry most of the aggregate gain. That pattern contradicts the idea that the month-boundary four-day window captures the lion’s share of returns; ToM supplies a modest slice (the stats show about 17% of total) despite being ~19% of trading days.
The bar chart compares mean daily returns: ToM = 0.000912, Mid-month = 0.001057, All days = 0.001000. The ToM mean is slightly lower than mid-month and essentially in line with the all-days baseline, and the formal test (Welch p = 0.9017) finds no statistically-clear difference. In short, average daily returns don’t show a meaningful turn-of-month edge that would explain most of QQQ’s gains.
Per-month contribution: ToM vs Mid-month (calendar-month containment)
| month | tom_days | tom_cum_return | mid_days | mid_cum_return | total_cum_return |
|---|---|---|---|---|---|
| 2023-07 | 4 | -0.0052 | 16 | 0.0448 | 0.0395 |
| 2023-08 | 4 | -0.0203 | 19 | 0.0053 | -0.0151 |
| 2023-09 | 4 | -0.0082 | 16 | -0.0421 | -0.05 |
| 2023-10 | 4 | 0.0069 | 18 | -0.0305 | -0.0238 |
| 2023-11 | 4 | 0.0461 | 17 | 0.0604 | 0.1092 |
| 2023-12 | 4 | -0.0057 | 16 | 0.0622 | 0.0561 |
| 2024-01 | 4 | -0.0381 | 17 | 0.0638 | 0.0232 |
| 2024-02 | 4 | 0.0351 | 16 | 0.0144 | 0.05 |
| 2024-03 | 4 | -0.0076 | 16 | 0.0194 | 0.0116 |
| 2024-04 | 4 | -0.0226 | 18 | -0.0248 | -0.0469 |
| 2024-05 | 4 | 0.0334 | 18 | 0.0327 | 0.0672 |
| 2024-06 | 4 | 0.0208 | 15 | 0.0421 | 0.0638 |
| 2024-07 | 4 | 0.0564 | 18 | -0.0621 | -0.0092 |
| 2024-08 | 4 | -0.0606 | 18 | 0.0667 | 0.002 |
| 2024-09 | 4 | -0.0318 | 16 | 0.0587 | 0.025 |
| 2024-10 | 4 | -0.0291 | 19 | 0.0254 | -0.0044 |
| 2024-11 | 4 | 0.0249 | 16 | 0.0256 | 0.0512 |
| 2024-12 | 4 | 0.0172 | 17 | -0.0133 | 0.0037 |
| 2025-01 | 4 | 0.0155 | 16 | 0.0006 | 0.0161 |
| 2025-02 | 4 | 0.0305 | 15 | -0.0505 | -0.0216 |
| 2025-03 | 4 | -0.0159 | 17 | -0.0656 | -0.0805 |
| 2025-04 | 4 | -0.0182 | 17 | 0.0521 | 0.033 |
| 2025-05 | 4 | 0.0067 | 17 | 0.0682 | 0.0754 |
| 2025-06 | 4 | 0.0267 | 16 | 0.0375 | 0.0652 |
| 2025-07 | 4 | -0.0104 | 18 | 0.0326 | 0.0218 |
| 2025-08 | 4 | -0.0215 | 17 | 0.0331 | 0.0108 |
| 2025-09 | 4 | 0.012 | 17 | 0.0397 | 0.0522 |
| 2025-10 | 4 | 0.0005 | 19 | 0.0502 | 0.0507 |
| 2025-11 | 4 | -0.0045 | 15 | -0.0114 | -0.0159 |
| 2025-12 | 4 | 0.0001 | 18 | -0.0067 | -0.0065 |
| 2026-01 | 4 | 0.0034 | 16 | 0.0063 | 0.0097 |
| 2026-02 | 4 | -0.0216 | 15 | -0.0024 | -0.024 |
| 2026-03 | 4 | 0.0561 | 18 | -0.0914 | -0.0404 |
| 2026-04 | 4 | 0.0135 | 17 | 0.1358 | 0.1512 |
| 2026-05 | 4 | 0.0324 | 16 | 0.0703 | 0.1049 |
| 2026-06 | 4 | 0.0163 | 17 | -0.0183 | -0.0023 |
The takeaway
No — over the last ~3 years QQQ’s gains are not concentrated at the turn‑of‑the‑month. The turn‑of‑month window (144 days, 19.2% of sessions) produced a cumulative return of 12.78% and accounted for about 17.03% of the total, while the remaining mid‑month days produced 79.68% of the cumulative return. On a per‑day basis ToM actually averaged slightly less (about 0.091% vs 0.106% for mid‑month) and the fraction of positive days is similar (59.7% vs 56.8%). Statistical testing (Welch t = -0.124, p = 0.9017) with 751 trading days says this tiny difference is almost certainly noise — roughly a 9‑in‑10 chance the gap is random — so there is no detectable ToM edge here. Practically, the classic 401(k)/turn‑of‑month seasonality does not show up in this sample; the bulk of QQQ’s gains over these three years came outside the month boundary and month‑to‑month contributions swing considerably.
The fine print
- This covers only ~3 years; turn‑of‑month effects can change across regimes or longer horizons.
- ToM was defined as the last trading day plus the first three of the next month; alternate windows shift the counts and returns.
- Returns are close‑to‑close (include overnight gaps); any true edge might live in overnight moves rather than intraday.
- Welch t‑test assumes independent daily returns; serial correlation or clustered events around month‑end can hide or mimic effects.