backtest
PIT frozen-macro momentum backtest
FOMC±1 and SPY>SMA200 judge at decision time T — live top-1/max-6 protocol replay.
Window: 2019-01-01 → now · universe n=170 (168 frames)
Decision T: daily momentum_spec rising-edge close; fill next open
Judge (frozen): skip new entry if FOMC ±1 calendar day or SPY close < SMA200 at T
Trade standard: min_rr 2.0 · ATR×2 · RS>SPY · sector>SPY · liquidity floor (no pennies) · hold≤25 · 1R
Books compared
| Book | Trades | Win% | E[R] | total R | CAGR% | MaxDD% | stop/target/time |
|---|---|---|---|---|---|---|---|
| 1) Baseline (all signals, pooled 1R) | 3291 | 43.69 | 0.1268 | 417.3 | 66.60 | −70.38 | 1635/870/786 |
| 2) + frozen PIT judge | 2631 | 43.56 | 0.1297 | 341.3 | 52.62 | −68.40 | 1311/715/605 |
| 3) Live-style top-1 / max-6 | 767 | 42.76 | 0.0988 | 75.8 | 9.50 | −25.80 | 399/200/162 |
| 3b) Judge then top-1 / max-6 | 623 | 44.46 | 0.1752 | 109.2 | 14.73 | −19.85 | 312/184/121 |
Walk stats (3b)
- Signal days: 1919 · raw enters gated to 4884 · judge skips 1296 (636 FOMC, 758 SPY) · taken 623
Inventory honesty
Used at T: FOMC calendar, SPY vs SMA200, daily bars ≤ T, 63d RS/sector.
Not used: live theses, earnings filter keyed to date.today(), agent conviction, headline APIs.
Source
Summarized from state/reports/momentum_pit_macro_bt_20260821.md.