Window: 2023-01-25 .. 2026-07-31 (1284 days, 352 gate60-long days) | features: |close->close ret| (1d, 2d), range/open, overnight gap | shifted +1d | gates on long days only, gross
| Variant | Days | LongDays | Ret | Sharpe | PF | MaxDD |
|---|---|---|---|---|---|---|
| baseline (gate60) | 1284 | 352 | +181.60% | 1.03 | 1.33 | -26.71% |
| skip abs1>=0.020 | 1284 | 185 | +66.81% | 0.75 | 1.33 | -26.84% |
| skip abs1>=0.025 | 1284 | 216 | +87.98% | 0.85 | 1.35 | -28.79% |
| skip abs1>=0.030 | 1284 | 240 | +226.29% | 1.35 | 1.59 | -19.41% |
| skip abs1>=0.040 | 1284 | 280 | +115.79% | 0.86 | 1.31 | -31.23% |
| skip abs1>=0.050 | 1284 | 302 | +159.67% | 1.01 | 1.36 | -32.37% |
| skip abs1<=0.010 | 1284 | 242 | +102.85% | 0.83 | 1.32 | -25.94% |
| skip abs2>=0.05 | 1284 | 259 | +75.84% | 0.69 | 1.25 | -24.86% |
| skip abs2>=0.08 | 1284 | 311 | +120.30% | 0.87 | 1.30 | -28.58% |
| skip rng>=0.06 | 1284 | 249 | +100.14% | 0.83 | 1.32 | -19.82% |
| skip rng>=0.09 | 1284 | 321 | +146.66% | 0.95 | 1.32 | -22.62% |
| skip | gap | >=0.02 | 1284 | 352 | +181.60% | 1.03 |
| skip | gap | >=0.03 | 1284 | 352 | +181.60% | 1.03 |
| skip down-shock only (<-0.03) | 1284 | 305 | +217.71% | 1.23 | 1.44 | -19.99% |
| skip up-shock only (>+0.03) | 1284 | 287 | +189.21% | 1.11 | 1.41 | -25.69% |
gate60-long-day forward returns by prior-shock bucket
| prior |ret| bucket | Mean daily ret | Days | |---|---|---| | <1% | +0.348% | 110 | | 1-2% | +0.295% | 75 | | 2-3% | +1.293% | 55 | | 3-5% | -0.299% | 62 | | >5% | +0.221% | 50 |
Overlap audit vs vol-level family (rejected 2026-08-25)
- corr(abs1, rv10): +0.368
- corr(abs1, vov90): +0.065
- corr(abs1, prior-day ret signed): +1.000
IS/OOS split at 2025-01-01 (rule picked by IS Sharpe, frozen before OOS)
Top-5 rules on IS:
- skip abs1>=0.030: IS Sharpe 1.58
- skip up-shock only (>+0.03): IS Sharpe 1.30
- skip down-shock only (<-0.03): IS Sharpe 1.29
- skip abs1>=0.025: IS Sharpe 1.26
- skip abs1>=0.050: IS Sharpe 1.15
| Segment | Variant | LongDays | Ret | Sharpe | PF | MaxDD |
|---|---|---|---|---|---|---|
| IS | baseline | 256 | +86.70% | 1.06 | 1.29 | -26.71% |
| IS | skip abs1>=0.030 | 184 | +131.71% | 1.58 | 1.57 | -15.45% |
| OOS | baseline | 96 | +50.83% | 0.99 | 1.40 | -18.42% |
| OOS | skip abs1>=0.030 | 56 | +40.82% | 1.02 | 1.61 | -15.21% |
OOS gated long-days: 56 | mean +0.6907% | bootstrap p(gate adds nothing): 0.656 | NULL-R permutation p (2000): 0.073
Rule neighbors (abs1 family), full window
| Variant | LongDays | Ret | Sharpe | PF |
|---|---|---|---|---|
| skip abs1>=0.020 | 185 | +66.81% | 0.75 | 1.33 |
| skip abs1>=0.025 | 216 | +87.98% | 0.85 | 1.35 |
| skip abs1>=0.030 | 240 | +226.29% | 1.35 | 1.59 |
| skip abs1>=0.040 | 280 | +115.79% | 0.86 | 1.31 |
| skip abs1>=0.050 | 302 | +159.67% | 1.01 | 1.36 |
| skip abs1<=0.010 | 242 | +102.85% | 0.83 | 1.32 |
Confound controls (full window)
| Control variant | LongDays | Ret | Sharpe | PF |
|---|---|---|---|---|
| control: skip if prior-day ret<0 (reversal-only) | 201 | +6.69% | 0.19 | 1.07 |
| winner OR prior-down (is winner just reversal?) | 287 | +189.21% | 1.11 | 1.41 |
| winner net of top-quintile RV10 (event vs level) | 307 | +166.79% | 1.03 | 1.36 |
| half size when flagged | 352 | +208.67% | 1.23 | 1.42 |
Per-year: baseline vs winner
| Year | Base ret | Gated ret | Base LD | Gated LD |
|---|---|---|---|---|
| 2023 | +26.35% | +23.79% | 66 | 54 |
| 2024 | +48.86% | +69.05% | 190 | 130 |
| 2025 | +48.80% | +38.68% | 96 | 56 |
| 2026 | +0.00% | +0.00% | 0 | 0 |
Cross-coin: same frozen rule via vectorized twin (own SMA200/ROC60 + BTC ROC60)
| Coin | Variant | LongDays | Ret | Sharpe | PF | MaxDD |
|---|---|---|---|---|---|---|
| BTC | baseline | 545 | +157.67% | 1.13 | 1.28 | -27.21% |
| BTC | skip abs1>=0.030 | 396 | +145.94% | 1.26 | 1.39 | -18.89% |
| SOL | baseline | 402 | +268.65% | 1.02 | 1.27 | -56.29% |
| SOL | skip abs1>=0.030 | 290 | +169.56% | 0.93 | 1.29 | -40.10% |
Decision memo
- Winner frozen from IS:
skip abs1>=0.030. - OOS evidence: bootstrap p=0.656, permutation p=0.073.
- Adopt ONLY if: OOS Sharpe/Ret improves, p<0.05 both tests, effect survives the vol-level netting and reversal controls, cross-coin consistent.
- Otherwise the shock-day family goes to the ledger.
VERDICT (2026-08-25): REJECT — family to ledger (with one caveat)
Criterion-by-criterion:
- OOS: gated +40.8%/Sharpe 1.02 vs baseline +50.8%/0.99 — total return DOWN, risk-adjusted flat. The gate skipped 40 long days that summed to +10.0% (mean +0.25%): on OOS it removed net WINNERS; per-day density improved (+0.69% vs +0.53%) but a fully-invested sleeve earns nothing from cash days.
- Significance FAILS: bootstrap p=0.656; permutation p=0.073 misses the <0.05 bar.
- Knife-edge neighbors: full-window Sharpe by threshold 0.85 / 1.35 / 0.86 / 1.01 at 2.5/3/4/5% — the 3% cell is an isolated spike.
- Bucket table non-monotone: the "effect" is only 2-3% (+1.29%) vs 3-5% (-0.30%) while >5% shock days are fine again (+0.22%). No mechanism.
- Vol-level netting erases it: "winner net of top-quintile RV10" falls to +166.8%/Sharpe 1.03 ≈ baseline — i.e. it mostly re-labels the high-vol regime just rejected in vol_regime_gate60.md.
- Cross-coin inconsistent: BTC mildly better (Sharpe 1.13->1.26), SOL clearly worse (ret +269%->+170%, Sharpe 1.02->0.93).
Caveat worth one line in history: permutation p=0.073 is the strongest round-2 signal so far and OOS PF improved (1.61 vs 1.40). If anyone revisits, it needs a NEW mechanism hypothesis (e.g. shock direction conditioned on gate-cross freshness, or half-size-only deployment) — NOT another threshold grid on abs1. Threshold re-grids are ledger-banned.