#76 — Momentum confirmation Stage 1 (deep-history FX momentum(12-1))
Hypothesis — what it tests
Whether fx_factors' one positive secondary (monthly FX momentum(12-1), +27.4 p/rebalance) was a real, generalizing factor or a favorable-regime artifact of its narrow 2020-24 test window, by rerunning the identical frozen rule on 196 rebalances of deep pre-2020 history the original sweep never touched.
Description
fx_factors' sweep found one positive secondary — monthly FX cross-sectional momentum(12-1), +27.4 p/rebalance — but flagged it single-pass and unpromotable (only ~44-46 rebalances, all within the 2020-11→2024-08 observation window). This experiment reruns that IDENTICAL rule, imported verbatim (not refitted) from the frozen research/experiments/fx_factors/factors.py, on a freshly fetched deep D1 dataset (data/d1_deep/) covering 196 monthly rebalances from 2004-05-31 to 2020-08-31 — a much longer, earlier, non-overlapping window, hard-sealed from the original observation window and the fx_factors OOS. Result: net -8.245 p/rebalance (cum -1616.0p, max DD -3047.1p), below the R10 null's p95 of -0.278p; walk-forward thirds only 1/3 positive (+9.15 / -1.85 / -31.68); regime split at 2013 shows pre-2013 weakly positive (+3.72 p/rebalance, n=104) but post-2013 strongly negative (-21.77 p/rebalance, n=92) — momentum decayed roughly a decade before the sweep's 2020-24 test window even began. A carry-free/gross-only cut shows a whisper of edge (+1.27 p/rebalance) but real trading costs erase it, and at 1.5x the assumed spread even the gross number goes negative (-0.19 p/rebalance). Per the pre-registration's decision rule, Stage 1 failing 2 of 4 required gates means Stage 2 is NOT requested — the fx_factors sealed OOS window (2024-08-30→2026-05-21) stays sealed and unspent, and momentum(12-1) is recorded as a sweep-artifact.
Key result
Indicators
Algorithms
Code
Interactive version (search, filters, figures): the experiment explorer.