BtcCoinMVolRegimeGatedDonchianBreakoutLS
Hypotheses
BTC COIN-M Inverse Perp Volatility-Regime-Gated Donchian Breakout, Long-Short (Single-Instrument BTCUSD_PERP.BINANCE_CM, 4h Bars, Trade Channel Breaks ONLY in an Expanding-Volatility Regime — Flat in Chop, Pure OHLCV, 3-Parameter)
Hypotheses
A LONG-SHORT, single-instrument directional strategy on the Binance COIN-M inverse perpetual BTCUSD_PERP.BINANCE_CM (BTC-margined, ~0.06% round-trip taker), 4-hour bars, pure OHLCV. It trades classic Donchian channel breakouts BUT gates every entry behind a volatility-regime filter: signals are only taken when the market is in an EXPANDING-volatility state, and the strategy sits flat during low-volatility chop. Mechanism per 4h bar: (1) compute an N-bar Donchian high/low channel (default N=30 ≈ 5 days); (2) compute a volatility-regime flag = current ATR(14) is above its own rolling median over the last M bars (default M=60 ≈ 10 days) AND rising vs 6 bars ago; (3) go LONG on a close above the upper channel and SHORT on a close below the lower channel, but ONLY if the vol-regime flag is TRUE. If the flag is FALSE (contracting/quiet vol), ignore all breakout signals and hold no position. This deliberately fills three under-represented portfolio buckets at once — BINANCE_CM venue (2.9% vs ≥5% target), long_short direction (14.8% vs the long-only-dominated book), and cross-venue-diversification away from the 71% BINANCE USD-M concentration — while using a low-fee venue so the fee math is forgiving. It is explicitly a single-leg CM strategy on BTC OHLCV only, which L20 blesses (no multi-asset CM funding history needed), and it addresses the exact failure mode that killed the SOL 15m opening-range breakout (chop whipsaws with 28% win rate) by refusing to trade in the regime where breakouts fail-and-reverse.
Hypotheses
Implements the hypothesis exactly: (1) N-bar Donchian channel excluding the current bar; (2) expanding-vol regime = ATR(14) > its rolling median over M bars AND ATR rising vs 6 bars ago; (3) long/short on channel breaks gated on that flag, flat otherwise. calculate_signal returns a CONTINUOUS decision variable every bar - the normalized channel position (close - mid)/(width/2), which is 0 mid-channel, +/-1 at the channel edges and beyond +/-1 on a breakout - so should_enter simply thresholds it at +/-1.0 together with the regime flag; nothing is gated behind a constant return. COIN-M correctness (L14/L66): sizing goes through self.contracts_for_notional() so the position is an integer contract count of fixed $100 USD face, never coin units divided by price; the only fallback path is for a non-inverse-typed instrument (verification proxy), which sizes linearly. Risk control (L15): notional = equity * 1% / (3xATR/price) capped at 0.75x equity, so losses cannot compound into position size; leverage stays 1.0 because the strategy never needs more than 0.75x equity of notional (declaring leverage>1 while sizing under 1x would be inert). All state is bounded deques with O(lookback) work per bar - no full-history recomputation, so the 300s sandbox budget is safe. Only three parameters are exposed to the optimizer (entry_channel, vol_lookback, exit_channel); structural constants are underscore-prefixed so the optimizer/sensitivity engine skips them, keeping the multiple-testing luck bar low (past siblings died on DSR with 6-parameter searches). Pre-submission dry run on the real BTCUSD_PERP 4h catalog data (12,635 bars, 2020-08..2026-05): 157 trades, avg net per-trade +1.32% (fee floor for CM is 0.10%), win rate 38%, and the vol gate genuinely helps - ungated the same rules give +0.88% avg on 229 trades - so the regime filter is doing the work the hypothesis claims. One honest caveat: this is a directional OHLCV breakout family whose base Sharpe is its ceiling; the vol gate improves per-trade edge but will not turn a tail-driven return stream into a smooth one.
Hypotheses
tail_driven_closet_beta_ohlcv_donchian_clone: BTC COIN-M vol-regime-gated Donchian breakout is a single-instrument OHLCV directional-breakout clone (0/213 survival, L41/L63) whose attractive headline does not survive scrutiny. The +210% total_return is ~70% unrealized (end_unrealized_pct 147.7 — an un-exited open position at backtest end, not realized edge) and is tail-driven (kurtosis 6.6): a single day 2020-11-26 (+21.6%) IS the entire 2020 and 2023-01-30 (+15.4%) carries 2023. It is closet-long BTC — benchmark_correlation 0.917, beta 0.43, information_ratio -0.622, alpha only +0.014 — so the result is captured beta, not an active edge. Significance is already marginal (Sharpe 0.708 but bootstrap CI low 0.064, essentially zero) and the mechanism has decayed: 2025 -3.6%, 2026 -0.9%, with rolling Sharpe deeply negative from mid-2025 through 2026. avg_trade_return_pct 1.26% clears the CM fee floor so this is not a fee death — the edge quality is the problem. Per L41/L63 a directional OHLCV book's base Sharpe is its ceiling; a 225-trial / 3-param sweep would strip the CI-low-near-zero Sharpe via deflation and die at DSR/holdout, exactly as prior Donchian/trend clones did. Not worth the 2-hour optimization run.
Implementation
Long-short Donchian channel breakout on the BTC COIN-M INVERSE perpetual (BTCUSD_PERP.BINANCE_CM, ~0.06% round-trip taker), 4-hour bars, pure OHLCV. Each bar it computes a 30-bar Donchian channel over the PRIOR bars and a volatility-regime flag (ATR(14) above its own 60-bar rolling median AND above its value 6 bars ago). It goes LONG on a close above the upper channel and SHORT on a close below the lower channel, but ONLY while volatility is expanding; in quiet/contracting vol it takes no breakout and stays flat, which is exactly the chop regime where channel breaks fail and reverse. Positions exit on the tighter 15-bar opposite Donchian (trailing stop) or on a 3xATR adverse excursion. Sizing is inverse-correct: an integer COIN-M CONTRACT count ($100 USD face each) derived from a 1%-of-equity risk budget over the ATR stop distance, hard-capped at 0.75x equity of gross notional.
Verification Results
At backtest review, judge on realized/risk-adjusted metrics, not total_return; confirm the Sharpe CI clears zero on full history before optimizing.
Verification Results
Headline return is dominated by an open-position mark: end_unrealized_pct = 143.26% out of total_return 210.05%, so only ~67% is realized PnL. Calmar 12.0 and total_return are flattered. The reliable figures are avg_trade_return_pct 1.39%, PF 1.95, and Sharpe 0.708 (CI low +0.064).
Verification Results
Watch regime concentration and overfitting at walk-forward/holdout; weight DSR/PBO given 156 trades (~27/yr) vs 3 searched params.
Verification Results
Returns are largely BTC long-beta, not independent alpha: benchmark_correlation 0.917, beta 0.431, information_ratio -0.62. Pure-OHLCV directional-breakout family whose base Sharpe is its ceiling (developer flags this). The vol gate does lift per-trade edge, but the PnL is tail-driven and regime-concentrated. Informational, not a code defect.
Backtest Review
Highest Sharpe of the family (0.708) with PF 1.88 and avg_trade_return_pct 1.26% (clears CM fee floor)
Backtest Review
Balanced long/short book (80 long / 76 short), 156 trades over 5.8 years, clean inverse-contract sizing
Backtest Review
Vol-regime gate is a sensible whipsaw filter and is implemented correctly
Backtest Review
210% headline is ~70% unrealized: end_unrealized_pct 147.7 — most of it is an un-exited open position at backtest end, not a realized edge
Backtest Review
Tail-driven (kurtosis 6.6): 2020-11-26 alone +21.6% IS the entire 2020, 2023-01-30 +15.4% carries 2023 — strip a couple days and the edge collapses
Backtest Review
Closet-long BTC: benchmark_correlation 0.917, beta 0.43, information_ratio -0.622, alpha only +0.014 — captured beta, not active edge
Backtest Review
Marginal significance: Sharpe 0.708 but CI low 0.064 (barely above zero) — will not survive 225-trial deflation
Backtest Review
Decayed in recent years: 2025 -3.6%, 2026 -0.9%; rolling Sharpe deeply negative from mid-2025 through 2026
Backtest Review
Single-instrument OHLCV Donchian-breakout clone family (0/213 survival, L41/L63); the vol-regime gate adds no robustness the multiple-testing deflation can't strip
Outcome Summary
BtcCoinMVolRegimeGatedDonchianBreakoutLS paired a classic long-short Donchian breakout with an expanding-volatility gate meant to keep it flat in the chop regime that whipsaws breakouts, routed to the under-represented low-fee COIN-M venue. It posted the best headline of its family — +210% return, PF 1.88, Sharpe 0.708 — but the review found the shine was illusory: ~70% of the return was an un-exited open position, a handful of tail days carried whole years, and with a 0.917 BTC correlation and negative information ratio it was capturing beta, not alpha, while decaying to negative in 2025-2026. With significance already marginal (Sharpe CI low ~0.06), it was abandoned at backtest review as another 0/213 OHLCV Donchian clone that wouldn't survive optimization deflation, before any optimization or analysis ran.
Outcome Summary
A volatility-regime gate is a reasonable whipsaw filter but adds no robustness that multiple-testing deflation can't strip from a directional OHLCV breakout; always discount headline return for unrealized open-position PnL and tail days, and check information ratio/alpha to distinguish real edge from captured beta.
Outcome Summary
It was abandoned at the pre-optimization BACKTEST_REVIEW gate as a tail-driven, closet-beta OHLCV Donchian-breakout clone: fees were fine, but the attractive headline was mostly unrealized open-position gains and captured beta rather than active edge, its significance was already marginal (CI low ~0), and the mechanism had decayed. A 225-trial/3-param sweep would strip the near-zero-CI Sharpe under deflation and die at DSR/holdout, so it was judged not worth the optimization run. Optimization, analysis, and risk review were never reached.
Outcome Summary
A long-short, single-instrument directional strategy on the BTC COIN-M inverse perp (BTCUSD_PERP.BINANCE_CM, 4H, pure OHLCV) that traded classic Donchian channel breakouts but only when volatility was expanding (ATR above its rolling median and rising), sitting flat during low-volatility chop, with a tighter opposite-Donchian trailing exit and an ATR stop.
Outcome Summary
Over 5.8 years it made 156 trades (80 long / 76 short) with a headline total return of +210%, profit factor 1.88, Sharpe 0.708, and avg_trade_return_pct 1.26% (clearing the CM fee floor) — the best of its family. But ~70% of the return was unrealized (end_unrealized_pct 147.7, an un-exited open position at backtest end), the PnL was tail-driven (kurtosis 6.6, single days carrying entire years), the Sharpe CI low was just 0.064, and it was effectively closet-long BTC (benchmark correlation 0.917, beta 0.43, information ratio -0.622, alpha +0.014), having decayed to negative in 2025 (-3.6%) and 2026 (-0.9%).
Backtest and paper results are hypothetical. Trading involves risk of loss.