spec: v1 symmetric: alpha=0.1 up=1.05 down=0.9 [0.5,1.25] | sym=ETH | IS n=761 OOS n=621 frozen reference (v2): OOS lift -0.02 (net10 -0.03)
Stage A — repo suite (OOS)
- base Sharpe 1.09 -> adapt 1.07 (lift -0.02, net10 -0.03, net25 -0.05)
- bootstrap p=0.928 (net10 p=0.925), resid=1.15, IS lift -0.03 (same-sign required)
- SR 1.07 | PSR 0.49 | DSR(K=1) 0.49 | haircut 1.07 | sortino 0.77 calmar 1.83 omega 1.41 | K_eff=1.0
- White p=0.169 SPA p=0.169 PBO=0.29
Stage B — tournament (net10)
- recent90: lift -0.21 winrate 0.52 PF 1.43 maxDD -2.97%
- full_oos: lift -0.03 winrate 0.54 PF 1.39 maxDD -10.29%
Verdict: REJECT (std_pass=False small_pass=False)
Bars: std lift>=+0.10 / small lift>=+0.05, both + p<0.05 + resid>0 + IS same-sign. Frozen spec — never re-grid thresholds on OOS; calendar re-run only.