← all research

Pre-reg: PRIMARY = skip gate60 long if prior-day chop z(30d) > +0.5. IS < 2025-01-01, OOS >= 2025-01-01 (klines from 2022-12). Lag-1 by calendar. Non-OK days BLOCKED, counted separately. Control = skip the clean tail (must lose).

Window: 2022-12-02 .. 2026-09-13 (1382 days). Status mix: OK 1352, WARMING 30, NO_DATA 0, STALE 0

SegmentVariantLongDaysRetSharpeNet10 SharpeTurnover
ISbaseline (gate60)256+86.70%+1.03+1.0019 flips
ISskip if chop_z>+0.5 (PRIMARY)154+33.61%+0.66+0.41136 flips
ISskip if rvol_z>+1.0213+46.23%+0.75+0.6565 flips
ISskip if asia_z>+0.5182+20.93%+0.45+0.27115 flips
IScontrol: skip if chop_z<-0.5194+59.69%+0.88+0.71109 flips
OOSbaseline (gate60)121+65.79%+1.09+1.0715 flips
OOSskip if chop_z>+0.5 (PRIMARY)82+72.87%+1.27+1.1750 flips
OOSskip if rvol_z>+1.0102+36.19%+0.75+0.6933 flips
OOSskip if asia_z>+0.589+58.01%+1.08+0.9657 flips
OOScontrol: skip if chop_z<-0.586+43.16%+0.94+0.8157 flips
FULLbaseline (gate60)377+209.52%+1.05+1.0333 flips
FULLskip if chop_z>+0.5 (PRIMARY)236+130.98%+0.95+0.77186 flips
FULLskip if rvol_z>+1.0315+99.15%+0.75+0.6697 flips
FULLskip if asia_z>+0.5271+91.08%+0.72+0.57171 flips
FULLcontrol: skip if chop_z<-0.5280+128.61%+0.90+0.75165 flips

OOS verdict (PRIMARY, gross)

  • lift +0.18, bootstrap p 0.442
  • beta vs BH: -0.04 | corr: -0.20 | resid Sharpe +0.13 (ret +1.42%, maxDD -15.40%)
  • OOS blocked-day fraction 0.0%
  • DSR(K=3) 0.92 | haircut +0.80

Verdict: REJECT (lift +0.18 >= +0.10; p 0.442 NOT < 0.05; resid +0.13; blocked 0.0%; DSR(K=3) 0.92; control lift -0.15 < PRIMARY (corr chop/|ret| -0.03))

Forward returns of OK gate60-long days by chop_z quartile

Quartile (chop_z)Mean daily retDays
Q1(clean)+0.372%95
Q2+0.089%94
Q3+0.550%94
Q4(noisy)+0.414%94

Reading

  • PASS needs all bars incl. the control bar (a veto that ~= skipping small-|ret| days is repackaging, however pretty). IS shown for consistency; OOS decides.
  • Next on PASS: walk-forward + 31d forward + shadow; on REJECT: ledger entry, gate-filter family parked.

Time: 5s. chop=1-|net|/sum|5m|; rvol=sqrt(sum r^2); asia=vol(00-08UTC)/vol(day); z(30d).