60/40 month-end flows · what the month so far tells you
loading…
Call for the next session
—
Reading the calendar…
T−4: the month-so-far reading locksT−3: buy bonds at the closebond hold T−2 → MEturn of month
①Bonds rally into month-end — the one validated trade
—window
Buy 10-year Treasury exposure at the T−3 close, sell at the month-end close, every month. Index funds extend duration and institutions buy Treasuries on the last day, so the move is concentrated on the final session. It held in 1985–2003, a period the rule never saw, on two data vendors and on the futures contract itself.
10-yr Treasury futures — return on each day around month-end, above an average day
Evidence, era by era
Does the month so far change it? No.
The best and worst quadrants swap between the discovery years and the holdout, so none of them is a signal. Take the trade every month. Execution: ZN (or ZB for more duration); round-trip cost ≈ 2 bps against ≈ 17 bps average gross.
②What the month so far says about stocks
For stocks, the month's move does matter, but only at month-end. The more stocks beat bonds in the first ~17 sessions, the worse they do in the last four: about . The same test run mid-month finds nothing, so this is rebalancing flow rather than generic reversal.
Month-end: prior 16 sessions → last 4 sessions
each dot = one month, 1985–2026 (violet = 1985–2003 holdout)
Placebo: same test at mid-month
16 sessions → next 4, anchored 9 sessions before month-end
The catch: every mechanical rule built on this effect failed on 1985–2003 (section ③). The relationship is real but noisy (R² ≈ 3 %), and crisis months like 1998 break it. Use it as a tilt on equity risk into month-end, not as a trade by itself.
Stocks over the last four sessions, by the month-so-far quadrant
S&P 500 — return on each day around month-end, above an average day
③Every rule, graded on data it never saw
Rules were discovered on 2004–2026 ETF data, frozen in writing on 2026-09-30, then run once on 1985–2003 (S&P 500 plus 10-yr futures on TradingView; S&P plus a Treasury series rebuilt from yields on Yahoo). Pass bars were fixed before the run.
Tested and dropped
Conditioning the bond trade on stocks, bonds, spread, VIX or last month: no conditioner holds up. The trade works in all four quadrants.
Long-bond give-back in the first days of the month (TLT): −41 → −18 → −3 bps across eras, decayed to nothing.
Predicting the turn of the month (first three sessions) from the month's move: no conditioner above |t| 2.1. The first session is simply strong on average (+13 bps above a normal day).
Quarter-end-only signals, the 401k payday (~15th), vol-spike continuation, QQQ / EFA legs, and a separate December rule: all dead in earlier passes.
How this was tested
Freeze first. Exact rules and pass bars were written to FREEZE.md before any pre-2004 number was computed.
Out of sample. 1985–2003 predates every ETF used in discovery, so the holdout runs on the S&P 500 index with 10-yr futures and a yield-rebuilt Treasury series.
Two vendors. TradingView is primary: dividend-adjusted ETFs, and roll-free futures built from the back-adjusted price change over the raw price level. Yahoo is the independent re-run. The ETFs agree at a daily correlation of 0.998–1.000.
Placebo. Each month-end test is rerun at mid-month anchors. An effect only counts as a month-end effect if it vanishes there.