← all research

Pre-reg: PRIMARY = skip gate60 long if prior-day ETH DVOL z(30d) > +1.5. IS < 2025-01-01, OOS >= 2025-01-01 (DVOL from 2022-12-26). Lag-1 by calendar. Non-OK days BLOCKED, counted separately. Complacency + realized confound controls (must lose).

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

SegmentVariantLongDaysRetSharpeNet10 SharpeTurnover
ISbaseline (gate60)256+86.70%+1.03+1.0019 flips
ISskip if eth_z>+1.5 (PRIMARY)198+31.48%+0.57+0.5234 flips
ISskip if btc_z>+1.5203+33.44%+0.59+0.5431 flips
ISskip if eth_lvl>trail-med18+4.97%+0.31+0.2216 flips
IScontrol: skip if eth_z<-1.5232+110.29%+1.23+1.1927 flips
IScontrol: skip ifret>2%144+67.04%+1.09
OOSbaseline (gate60)121+65.79%+1.09+1.0715 flips
OOSskip if eth_z>+1.5 (PRIMARY)111+74.60%+1.22+1.1725 flips
OOSskip if btc_z>+1.5100+100.74%+1.59+1.5521 flips
OOSskip if eth_lvl>trail-med79+78.42%+1.56+1.5315 flips
OOScontrol: skip if eth_z<-1.5110+56.53%+1.01+0.9723 flips
OOScontrol: skip ifret>2%56+2.39%+0.17
FULLbaseline (gate60)377+209.52%+1.05+1.0333 flips
FULLskip if eth_z>+1.5 (PRIMARY)309+129.56%+0.85+0.8059 flips
FULLskip if btc_z>+1.5303+167.87%+1.00+0.9651 flips
FULLskip if eth_lvl>trail-med97+87.29%+1.06+1.0131 flips
FULLcontrol: skip if eth_z<-1.5342+229.16%+1.14+1.1049 flips
FULLcontrol: skip ifret>2%200+71.03%+0.74

OOS verdict (PRIMARY, gross)

  • lift +0.13, bootstrap p 0.338
  • beta vs BH: -0.01 | corr: -0.12 | resid Sharpe +0.33 (ret +4.23%, maxDD -6.34%)
  • OOS blocked-day fraction 0.0%
  • DSR(K=3) 0.92 | haircut +0.74

Verdict: REJECT (lift +0.13 >= +0.10; p 0.338 NOT < 0.05; resid +0.33; blocked 0.0%; DSR(K=3) 0.92; controls complacency -0.08 / realized -0.92 < PRIMARY)

Forward returns of OK gate60-long days by eth_z quartile

Quartile (eth_z)Mean daily retDays
Q1(calm)+0.588%95
Q2-0.037%94
Q3+0.401%94
Q4(spike)+0.471%94

Reading

  • PASS needs all bars incl. both control bars. IS shown for consistency; OOS decides.
  • Next on PASS: walk-forward + 31d forward + shadow; on REJECT: ledger entry, vol-spike veto parked with the F-family.

Time: 3s. Feed: Deribit DVOL via data/dvol.py.