← all research

spec: v2 mistake-aware: crowded loss->x0.90+journal, washed/neutral loss->HOLD, crowded win->HOLD, clean win->x1.05, unknown->HOLD+blocked (carry/basis 1.5/2.0, depth>0.0; alpha=0.1) | sym=ETH | IS n=761 OOS n=621 frozen reference (v1): 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.04)
  • bootstrap p=0.933 (net10 p=0.929), resid=1.14, IS lift -0.03 (same-sign required)
  • SR 1.07 | PSR 0.49 | DSR(K=1) 0.49 | haircut 1.07 | sortino 0.74 calmar 1.74 omega 1.41 | K_eff=1.0
  • White p=0.169 SPA p=0.169 PBO=0.39

Stage B — tournament (net10)

  • recent90: lift -0.19 winrate 0.52 PF 1.43 maxDD -2.80%
  • full_oos: lift -0.03 winrate 0.54 PF 1.39 maxDD -10.42%

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.