Window: 2022-12-28 .. 2026-07-31 (1312 days, 352 gate60-long days)
Backend: gmm | ADX(14) + ATR%(14) shifted +1d (decision sees bars <= D-1) | gates on long days only, gross | floor 0.40 / 0.85 per production/regime.py
| Variant | Days | LongDays | Ret | Sharpe | PF | MaxDD |
|---|---|---|---|---|---|---|
| baseline (gate60) | 1312 | 352 | +181.60% | 1.02 | 1.33 | -26.71% |
| full_table | 1312 | 352 | +55.56% | 0.63 | 1.20 | -25.15% |
| skip_volatile | 1312 | 352 | +53.16% | 0.57 | 1.18 | -28.24% |
| skip_ranging | 1312 | 352 | +181.99% | 1.05 | 1.34 | -26.19% |
Regime state distribution (full window)
- trending: 505 days (38.5%)
- ranging: 426 days (32.5%)
- volatile: 381 days (29.0%)
Among gate60-long days:
- trending: 117 days (33.2% of long days)
- ranging: 109 days (31.0% of long days)
- volatile: 126 days (35.8% of long days)
gate60-long-day mean forward return by regime
| Regime | N days | Mean ret | Std |
|---|---|---|---|
| trending | 117 | -0.004% | 3.108% |
| ranging | 109 | +0.105% | 3.486% |
| volatile | 126 | +0.897% | 3.579% |
IS/OOS split at 2025-01-01 (variant picked by IS Sharpe, frozen before OOS)
All variants on IS:
- skip_ranging: IS Sharpe 1.10
- full_table: IS Sharpe 0.65
- skip_volatile: IS Sharpe 0.51
| Segment | Variant | LongDays | Ret | Sharpe | PF | MaxDD |
|---|---|---|---|---|---|---|
| IS | baseline | 256 | +86.70% | 1.04 | 1.29 | -26.71% |
| IS | skip_ranging | 256 | +89.18% | 1.10 | 1.31 | -26.19% |
| OOS | baseline | 96 | +50.83% | 0.99 | 1.40 | -18.42% |
| OOS | skip_ranging | 96 | +49.06% | 0.99 | 1.40 | -16.43% |
OOS gated long-days kept: 96 | mean +0.4894% | bootstrap p(gate adds nothing): 0.717 | NULL-R permutation p (2000 circular shifts): 0.087
Cross-check on BTC and SOL (vectorized rule twin)
| Symbol | OOS days | Variant | Ret | Sharpe | PF | MaxDD |
|---|---|---|---|---|---|---|
| BTC | 577 | baseline | +2.80% | 0.19 | 1.07 | -13.32% |
| BTC | 577 | skip_ranging | +3.13% | 0.21 | 1.08 | -12.06% |
| SOL | 577 | baseline | -3.73% | 0.10 | 1.03 | -29.50% |
| SOL | 577 | skip_ranging | -7.99% | -0.01 | 1.00 | -28.38% |
Verdict
- IS winner variant:
skip_ranging - OOS mean gated long-day return: +0.4894%
- bootstrap p(gate adds nothing): 0.717
- NULL-R permutation p: 0.087
- Verdict: REJECT
Prior regime overlays in this family (vol_regime_gate60, shock_gate60, pullback_gate60) all REJECTED — see docs/ROADMAP.md:699-718. The bar for promotion is the same: positive OOS Sharpe, bootstrap p < 0.05, permutation p < 0.10, BTC/SOL cross-check not worse than baseline.
elapsed: 35.4s | backend=gmm | window 2022-12-28..2026-07-31