← all research

Pre-registered 2026-09-09. Papers: Da-Gurun-Warachka 2014 FIP (ID); Heston-Sadka 2008 seasonality; Novy-Marx 2012 intermediate-skip. Universe: 501 delisting-inclusive names, 2006-08-14..2026-08-12, top_k=50 (FIP pre-stage top-100), next-open, cost 10bps one-way (decimal 0.001), sqrt(252). Split 2016-01-01. Look-ahead guard PASS (lag>=1, next-open; FIP trailing-only; seasonal prior-years-only; skip ends t-21).

Signals: F1 = -ID masked to top-100 ret126 (ID=sgn(ret126)*[%neg-%pos], 126d); S1 = mean same-month monthly return prior 5y (>= 3 obs); N1 = 126d return ending 21d ago.

VariantOOS RetOOS SharpeOOS MaxDDTurn/yrCorrMktCorrBaseResidShp vs BASE
BASE L126/H21 raw+942.19%1.07-38.77%8.570.771.000.45-
F1 FIP continuous+633.02%1.02-38.73%9.730.800.970.340.9804
S1 seasonal-5y+482.17%0.85-38.26%17.260.920.80-0.190.9006
N1 skip-21 L126+1026.52%1.06-36.38%8.540.800.950.430.3502

IS (pre-2016) reference

VariantIS RetIS SharpeIS MaxDD
BASE L126/H21 raw+232.45%0.67-55.43%
F1 FIP continuous+140.05%0.54-55.75%
S1 seasonal-5y+189.90%0.79-27.45%
N1 skip-21 L126+158.64%0.54-61.14%

Verdict rules (pre-registered): adopt requires OOS p<0.05 vs BASE (Bonferroni ~=0.017 for 3 tests noted) or structural risk case (DD cut >=5pp with Sharpe within -0.10); turnover not exploding; resid Sharpe > 0 and corrBase < 0.95 for diversifier claims.

Verdicts (2026-09-09) — all REJECT, no promotion

  • F1 FIP continuous — REJECT. OOS 1.02 vs BASE 1.07, p=0.9804 (underperforms); IS also worse (0.54 vs 0.67). Turnover up (9.73 vs 8.57), corrBase 0.97 (no diversification), resid 0.34 < BASE 0.45. Paper mechanism (long-short conditional continuation, 5.94% vs -2.07% over 6m) does not transfer to this long-only top-decile book: filtering winners by continuity adds churn without Sharpe or DD gain. Do not revisit without a new hypothesis (e.g. interaction with media/analyst attention, which needs non-price data).
  • S1 seasonal-5y — REJECT. OOS 0.85 vs 1.07, p=0.9006; turnover 2x BASE (17.26 vs 8.57); corrMkt 0.92 with resid Sharpe -0.19 (pure beta, no alpha). IS looked tempting (0.79 with DD -27.5% vs -55.4%) but decayed OOS — textbook overfit + cost drag, consistent with Heston-Sadka's own warning that

    70bps round-trip costs erase seasonality. No sleeve, no overlay.

  • N1 skip-21 — REJECT (tie). OOS 1.06 vs 1.07, p=0.3502; DD cut only 2.4pp (-36.38% vs -38.77%, below the 5pp structural bar); IS worse (0.54 vs 0.67). Skipping the most recent month neither helps nor hurts long-only momentum here — same conclusion as P5a long-hold (H21 stays live). No change to live eqmom.

Ledger: BASE L126/H21 stands. Next paper-based candidates (new mechanisms only): industry momentum needs sector mapping beyond the 101-name sectors.json (not free price-only at 501 scale — parked unless mapping is built); QMJ/profitability needs fundamentals probe; vol/crash-hedge already covered by C7/B5 shadows.