Strategies
BTC Volatility-Regime-Gated Momentum Confluence, Long-Short (Single-Instrument BTCUSDT.BINANCE Perp, 4H+1D Momentum ACTIVE ONLY in Normal-to-Elevated Volatility Regimes, Flat in Dead-Low-Vol Chop, ATR-Trailing, 3-Parameter)
Outcome: Abandoned
BtcVolRegimeGatedMomentumConfluenceLS
Measurable full-history sample: 121 trades over 2437 days, avg_trade_return_pct 2.06% (well above the 0.15% fee floor), PF 1.48, positive alpha (0.139) with near-zero beta (0.027) so it is genuinely long-short rather…
Hypothesis
Decayed dual-TF momentum edge that falls below the L82 survivable profile (Sharpe 0.90 vs >1.3, PF 1.48 vs >2.0, DD 26.7% vs <20%) — not worth 2 hours of optimization. The mechanism worked 2020-2023 but is weak in 2024 (+6%) and sharply negative in 2025 (-20.5%), with rolling Sharpe deeply negative (-3 to -7) across 2025-2026; the 20% holdout sits entirely in that losing regime and will fail the hard holdout Sharpe>0 gate, while the base Sharpe <1.0 is the ceiling the ~225-trial deflation only lowers. The vol-regime gate — the whole point of this variant — demonstrably added nothing (regime_performance uniform 0.88/0.95/0.95, choppy DD still 26.7%), so optimization would only curve-fit the momentum thresholds to the older bull regimes. Failure pattern: L82/L63 sub-survivable dual-TF momentum with a decayed recent regime that dooms the holdout.
Implementation
Verification Results
sandbox_timeout: Verification failed (Layer 3 — sandbox backtest): smoke test exceeded the 300s wall-clock limit on a ~20000-bar window (2400 days of BTCUSDT.BINANCE-4-HOUR-LAST-EXTERNAL). This almost always means per-bar work that scales with history — e.g. rescanning the full funding/supplementary series, or rebuilding a list and calling min()/sorted() inside calculate_signal()/on_bar() on every bar. Precompute sorted timestamp arrays ONCE in __init__ and use bisect, or cache lookups keyed by timestamp, so per-bar cost is O(log n) not O(n).
Backtest Review
- Sharpe
- 0.90
- Total return
- 153.70%
- Max drawdown
- 26.65%
- Trades
- 121
- Win rate
- 39.7%
- Profit factor
- 1.48
Measurable full-history sample: 121 trades over 2437 days, avg_trade_return_pct 2.06% (well above the 0.15% fee floor), PF 1.48, positive alpha (0.139) with near-zero beta (0.027) so it is genuinely long-short rather than crypto beta.
Belongs to the one factory-promotable mechanism family (4H+1D dual-TF momentum confluence on Binance USD-M, L82); clean single-instrument pure-OHLCV implementation, developer already fixed the two known confluence/exit defects.
Below the L82 survivable dual-TF profile on every axis: Sharpe 0.90 (needs >~1.3), PF 1.48 (needs >2.0), max_drawdown 26.7% (needs <20%). Base Sharpe <1.0 is the ceiling the ~225-trial deflation only lowers (L63/L82).
Edge has clearly decayed: 2020 +31.9%, 2021 +36.5%, 2022 +19.4%, 2023 +19.1%, then 2024 +6.2%, 2025 -20.5%, 2026 +6.5%. rolling_sharpe is deeply negative (-3 to -7) across 2025-08 through 2026, and information_ratio is -0.63.
The 20% holdout (last ~15 months) lands squarely in the losing 2025-2026 regime and will almost certainly fail the hard holdout gate (Sharpe > 0). PSR is already only 0.9487 for the single config.
The vol-regime gate that is the entire premise of this variant added nothing: regime_performance is uniform across calm/normal/stressed (0.88/0.95/0.95) and the choppy-period drawdown is still 26.7% — the lever did not lift per-trade edge or cut chop drawdown as hypothesized.
Iteration History
Verification failed (Layer 4 — QA review): - THE COUNT FIX WORKED AND REVEALED NO EDGE -- the developer's own pre-committed abandon condition. The base-selectivity fix (1D leg made a directional FLOOR gate instead of a co-equal signed-minimum threshold, the same fix that took the macro sibling 9 -> 22) correctly lifted the count from 6 to 21 trades over 363 days (~105-130 over a multi-year span, roughly measurable). But the enlarged, measurable sample is decisively net-negative: total_return -8.12%, profit_factor 0.650, Sharpe -0.532 (CI [-2.28, 0.93]), win_rate 0.333, avg_trade_return_pct -0.592% (negative and on the wrong side of the 0.15% fee floor), expectancy -$386/trade. The reward:risk is favorable (avg_win $2,151 vs avg_loss $1,655, ~1.30) but the 33% hit rate cannot carry it (EV ~= 0.333 x 2151 - 0.667 x 1655 ~= -$388). Both of the developer's pre-committed abandon triggers fire: the count is under ~30/year AND the measurable sample is negative / below the fee floor. The volatility-regime lever adds nothing to a momentum confluence on BTC.
Backtest and paper results are hypothetical. Trading involves risk of loss.