AI Research QQQ

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.

The research question

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

Trading days analyzed
751
2023-07-03 to 2026-06-30
ToM days (count)
144
Last day of month + first 3 of next
ToM share of trading days
19.1744%
Mean daily return — ToM
0.0912%
N=144 days
Mean daily return — Mid-month
0.1057%
N=607 days
Welch t-stat (ToM − Mid)
-0.124
Two-sided; unequal variance
Welch p-value
0.9017
p=0.9017 ≥ 0.05 → no statistically-clear difference
Cumulative return — ToM window
12.7801%
Expm1 of sum of log-returns on ToM days
Cumulative return — Mid-month
79.6786%
Expm1 of sum of log-returns on mid-month days
Share of total cumulative (ToM)
17.0289%
Share of total log-return
Fraction positive — ToM
59.7222%
Fraction positive — Mid-month
56.8369%

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

QQQ cumulative return contributions — ToM vs Mid-month
What this chart says

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.

Mean daily return by bucket
What this chart says

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)

monthtom_daystom_cum_returnmid_daysmid_cum_returntotal_cum_return
2023-074-0.0052160.04480.0395
2023-084-0.0203190.0053-0.0151
2023-094-0.008216-0.0421-0.05
2023-1040.006918-0.0305-0.0238
2023-1140.0461170.06040.1092
2023-124-0.0057160.06220.0561
2024-014-0.0381170.06380.0232
2024-0240.0351160.01440.05
2024-034-0.0076160.01940.0116
2024-044-0.022618-0.0248-0.0469
2024-0540.0334180.03270.0672
2024-0640.0208150.04210.0638
2024-0740.056418-0.0621-0.0092
2024-084-0.0606180.06670.002
2024-094-0.0318160.05870.025
2024-104-0.0291190.0254-0.0044
2024-1140.0249160.02560.0512
2024-1240.017217-0.01330.0037
2025-0140.0155160.00060.0161
2025-0240.030515-0.0505-0.0216
2025-034-0.015917-0.0656-0.0805
2025-044-0.0182170.05210.033
2025-0540.0067170.06820.0754
2025-0640.0267160.03750.0652
2025-074-0.0104180.03260.0218
2025-084-0.0215170.03310.0108
2025-0940.012170.03970.0522
2025-1040.0005190.05020.0507
2025-114-0.004515-0.0114-0.0159
2025-1240.000118-0.0067-0.0065
2026-0140.0034160.00630.0097
2026-024-0.021615-0.0024-0.024
2026-0340.056118-0.0914-0.0404
2026-0440.0135170.13580.1512
2026-0540.0324160.07030.1049
2026-0640.016317-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