DotVolatilityCompressionSqueezeBreakoutLS
Hypotheses
DOT Volatility-Compression Squeeze Breakout, Long-Short (DOTUSDT.BINANCE USD-M, 4H, Bollinger-inside-Keltner Coil Detector -> Trade the Directional Expansion, ATR-Trailing Exit, 3-Parameter)
Hypotheses
A LONG-SHORT, single-instrument, pure-OHLCV VOLATILITY-REGIME strategy on DOTUSDT.BINANCE USD-M perpetual. This is a deliberate MECHANISM pivot away from the momentum-confluence family that collided (and has repeatedly died overfit on XRP/BNB/AVAX/LINK/SOL-HL). Instead of requiring two timeframes to AGREE on trend direction (continuation), this detects a volatility STATE TRANSITION: when 4H Bollinger Bands contract fully INSIDE the Keltner Channels (a low-volatility 'coil' where realized range compresses below its ATR-implied envelope), volatility is mean-reverting toward expansion. The strategy stands flat during the coil and only fires on the directional break OUT of compression, taking the side of the expansion. The edge is structural and distinct from momentum: the fat left tail of realized-vol distributions means compression is followed by expansion far more reliably than price direction is autocorrelated, so the setup is a vol-regime bet with a directional overlay, not a trend-agreement bet. Kept to 3 tunable parameters (coil lookback, band width, ATR trail) to protect PBO/deflated-Sharpe. FEE ARITHMETIC: post-squeeze 4H DOT expansions historically run ~3-5% of notional over 1-3 days; the ATR chandelier captures roughly a third to a half (~1.2-1.6%, conservatively booked at 0.4% floor after slippage/partial-give-back) vs ~0.10% round-trip USD-M taker cost = ~4-15x fee coverage. Squeeze-gating fires only when compression is real, so trade count stays in the low hundreds over ~5-6 years (NOT thousands) and fee drag stays bounded - the opposite of the sub-fee VWAP/tick-churn graveyard.
Hypotheses
Implements the hypothesis exactly: the TTM-style Bollinger-inside-Keltner test is the coil detector, the release of that state is the vol-regime transition, and the sign of (close - channel mid)/ATR is the directional overlay taken at expansion. calculate_signal returns that ATR-normalised distance from the mid on EVERY bar (continuous, sign = direction, magnitude = force of the break); the coil/release gating lives in should_enter via state computed in the signal pass. Exactly three tunables are exposed and clamped with matching _param_bounds (coil_lookback 12-40, kc_atr_mult 1.0-2.5, atr_trail_mult 1.5-4.0), per the PBO/deflated-Sharpe concern. Venue is Binance USD-M futures because the strategy is long AND short; leverage stays 1.0 and sizing is risk-based (1% of equity per ATR-stop) so losses cannot compound into position size. ATR is Wilder-smoothed incrementally and the close buffer is a bounded deque, so per-bar work is O(lookback) with no growing-history scans. Frequency: releases gated by a 3-bar minimum coil plus a hold of ~10-30 bars per trade keep the count in the low hundreds over ~6 years, so the ~3-5% post-squeeze expansion (of which the chandelier books a third to a half) clears the ~0.10% USD-M round-trip taker cost many times over.
Hypotheses
Negative expectancy / edge-absent on a decisive 263-trade / 6-year sample: profit_factor 0.9796 (<1), size-weighted expectancy -$10.57/trade, and realized return approx -2.78% (headline +3.66% is inflated by end_unrealized_pct 6.44% from an un-exited end position). CAGR -0.47%, recovery_factor -0.12, information_ratio -0.25, Sharpe CI straddling zero, losing in 5 of 7 calendar years with only 2024 positive. The equal-weighted avg_trade_return_pct 0.2574% clears the fee floor but is contradicted by the negative USD expectancy (losers carry larger notional), so this is edge-absent, not fee-fragile — and commission is only 3.37% of gross, confirming a gross-negative signal. The trades correctly implement the coil-detector mechanism (263 signaled = 263 submitted, balanced long/short, ATR chandelier), so this is a fair test and the vol-compression-squeeze premise on DOT is not supported: the calm-regime bleed (-13.9%) overwhelms the stressed-regime edge (+11.6%), exactly QA's concern borne out on full history. A PF-0.98 gross-negative signal cannot be optimized above costs by 3 parameters. abandon_class=negative_expectancy.
Implementation
Long/short 4H volatility-regime strategy on DOTUSDT Binance USD-M perpetual. Detects a volatility coil when Bollinger Bands (20, 2 sigma) contract fully inside the Keltner Channels (20-period SMA +/- 1.5 ATR), stands flat during the coil, and enters on the directional break out of compression: within 3 bars of the squeeze releasing (after a coil of at least 3 bars), it takes the side of the expansion when price sits at least 0.5 ATR from the channel mid. Exits on a 2.5-ATR chandelier trail from the best price of the trade (which also serves as the initial stop) or a 30-bar (~5 day) time stop. Sizing risks 1% of equity across the chandelier stop distance with an independent 50%-of-equity gross-notional cap; leverage 1.0.
Verification Results
If the override is deliberate warm-up gating (it appears to be), leave it; otherwise rename. No behavioral defect observed.
Verification Results
min_bars_required(self) overrides/shadows the base framework method (static analyzer base_shadow warning). It functions correctly here (returns coil_lookback*2+5 and the sandbox produced 263 trades with proper warm-up), but confirm the base template honors the override rather than its own implementation.
Verification Results
Sandbox is only weakly positive (Sharpe 0.03, PF 1.03, total_return +3.66% over 2205d) and the calm-vol tercile is clearly negative (-13.9%, Sharpe -0.56) while the stressed tercile carries the profit (+11.6%). This regime split is actually CONSISTENT with a vol-expansion premise (expect losses in low-vol regimes, gains when compression releases into real expansion), so it is not a red flag for correctness — but the overall edge is thin and unoptimized. Worth watching whether the optimizer can lift the ATR-trail/coil-lookback into a region where the stressed-regime edge dominates net of the calm-regime bleed. Advisory only.
Backtest Review
Clean mechanism pivot away from the momentum-confluence graveyard; trades correctly implement the coil-detector premise (263 signaled = 263 submitted, balanced 119L/144S, ATR chandelier, ~3d18h holds)
Backtest Review
Bounded trade count (263 over 6 years) keeps fee drag low (commission only 3.37% of gross), so this is a fair test of the vol-expansion premise
Backtest Review
avg_trade_return_pct 0.2574% nominally clears the 0.15% USD-M fee floor
Backtest Review
profit_factor 0.9796 (<1) on a decisive 263-trade / 6-year sample — gross losing
Backtest Review
Negative size-weighted expectancy -$10.57/trade; the positive equal-weighted per-trade return is contradicted by USD PnL (losers carry larger notional) = edge-absent, not fee-fragile
Backtest Review
Realized return is negative: total_return +3.66% but end_unrealized_pct 6.44% -> realized approx -2.78%; the paper positive hinges on an un-exited end position
Backtest Review
CAGR -0.47%, Sharpe 0.03, Sortino 0.03, recovery_factor -0.12, information_ratio -0.25; Sharpe CI [-0.73, 0.85] straddles zero
Backtest Review
Losing in 5 of 7 calendar years (2022 -9.5, 2023 -3.2, 2025 -6.7, 2026 -9.2); only 2024 (+23.5) positive — single-regime dependence
Backtest Review
Commission is only 3.37% of gross, so this is a gross-negative signal, not fee fragility — optimization cannot invert a PF-0.98 result
Outcome Summary
DotVolatilityCompressionSqueezeBreak-67e8705183
Outcome Summary
This strategy deliberately pivoted away from the failed momentum-confluence family, betting instead on a volatility-regime mechanism: stand flat during a Bollinger-inside-Keltner coil, then trade the directional expansion out of compression on 4H DOT. The mechanism was implemented cleanly (263 signaled = 263 submitted, balanced long/short, ATR chandelier trail, ~3d18h holds) and trade count stayed bounded, making it a fair test of the premise. But over six years the signal was gross-negative — profit factor 0.9796, size-weighted expectancy -$10.57/trade, realized return about -2.78%, losing in 5 of 7 years — with the calm-regime bleed (-13.9%) overwhelming the stressed-regime edge (+11.6%). The analyst abandoned it at backtest-review before optimization, ruling the vol-compression-squeeze premise on DOT unsupported and unfixable by three parameters; later pipeline stages were never reached.
Outcome Summary
An equal-weighted avg_trade_return_pct (0.2574%) that clears the fee floor can still mask a losing strategy when losers carry larger notional; check size-weighted USD expectancy and strip un-exited end positions before trusting a positive headline return.
Outcome Summary
The analyst abandoned it at the pre-optimization backtest-review gate: on a decisive 263-trade/6-year sample the signal was gross-negative (PF 0.9796, negative USD expectancy), with commission only 3.37% of gross confirming it was edge-absent rather than fee-fragile, so 3 parameters could not lift it above costs.
Outcome Summary
A long-short 4H DOTUSDT.BINANCE USD-M strategy that detected a volatility 'coil' (Bollinger Bands contracting fully inside the Keltner Channels) and traded the directional break out of compression with a 3-parameter ATR-chandelier trailing exit, betting that compressed realized vol mean-reverts toward expansion.
Outcome Summary
Over 2205 days (2020-2026) it took 263 trades (119 long / 144 short) with a 42.2% win rate, profit factor 0.9796, CAGR -0.47%, Sharpe 0.03 (CI [-0.73, 0.85]) and size-weighted expectancy of -$10.57/trade. Headline total_return was +3.66% but realized return was about -2.78% once the un-exited end position (end_unrealized_pct 6.44%) is removed, and it lost money in 5 of 7 calendar years with only 2024 positive.
Backtest and paper results are hypothetical. Trading involves risk of loss.