← all research

Universe: untouched MidCap-400, 398 names, 2020-07-27..2026-09-18. Frozen spec top_k=30, hold=21, base 10bps, next_open. Viability rule: VIABLE = placebo p<0.05 AND beats MOM_126 (p<0.10) AND grid median Sharpe>0.30 AND >=70% cells positive AND block p<0.05; VARIANT = real but not independent; REJECT = placebo/block p>=0.05.

1. Placebo null (within-date score permutation, N=100)

observed Sharpe 0.65 vs null mean 0.70, p95 0.87, max 1.00 -> empirical p = 0.640

2. Ablation vs controls (midcap Sharpe, same k=30)

ArmSharpe
H5 (compression + breakout)0.65
PLAIN_BO (no compression gate)0.78
COMPRESSION_ONLY (no breakout)0.57
MOM_126 (plain momentum)0.78
H5_RESID_MOM (momentum-neutral)0.45

H5 vs MOM_126: corr 0.61, p_vs_mom 0.861 (small = H5 beats momentum).

3. Parameter fragility (one-at-a-time, midcap Sharpe)

min 0.46 | median 0.65 | max 0.74 | positive 100% of cells

paramvalueSharpe
atr_look100.56
atr_look140.65
atr_look200.50
rank_look630.74
rank_look1260.65
rank_look2520.46
pct_thr0.150.52
pct_thr0.250.65
pct_thr0.350.72
bo_look100.65
bo_look200.65
bo_look400.70
hold100.50
hold210.65
hold420.65
top_k200.65
top_k300.65
top_k500.60

4. Significance & track record

  • iid bootstrap p 0.050; block(10) bootstrap p 0.057
  • expected-null Sharpe sr0 0.32 (K=6); MinTRL 6123.6952907695595 obs (have 1545)
  • positive years 6/7; halves 0.38 / 0.99
  • locked 24mo holdout (main panel): Sharpe 1.90 (p=0.005)

Verdict: REJECT

  • placebo p=0.640; p_vs_mom=0.861; grid median=0.65 (100% pos); block p=0.057.
  • VIABLE means an independent, robust edge -> next step is a fill-measuring paper shadow. VARIANT means it is momentum/small-cap beta in disguise -> fold into the existing book, do not fund it separately. REJECT means the ranking is noise.