BtcDailyVolCompressionExpansionLong
Hypotheses
BTC Daily Volatility-Compression Expansion Long with 200-SMA Regime Filter
Hypotheses
A long-only single-instrument volatility-regime strategy on BTCUSDT perpetual futures using daily bars and OHLCV-only data. This is a STRUCTURALLY NEW mechanism not present in any existing pipeline strategy: it captures the empirical pattern that low-volatility compression in BTC tends to be followed by directional expansion, and during confirmed bull regimes the expansion is biased UPWARD. The strategy enters long when BTC is in a vol-compression regime (realized volatility in bottom 30% of trailing 90-day distribution) AND the long-term regime is up (price > 200-SMA), then holds until volatility normalizes (returns to 50th percentile) or the regime breaks. This explicitly differs from all 12 existing pipeline strategies: NOT a trend-following strategy (no EMA crossovers, no breakouts, no momentum filters), NOT a drawdown DCA (no buy-the-dip mechanics), NOT a volume breakout (no volume signal), NOT a regime-flat hold (uses vol regime, not just price regime). The mechanism is 'Bollinger squeeze' style — buy compression, exit on expansion completion. Critically, this proposal addresses the AVAX Calm-Regime Trend Hold failure (abandoned for sparsity + outlier dependency) by: (1) selecting BTC instead of AVAX — BTC has 3-5× the frequency of vol-compression regimes due to its lower baseline volatility and deeper liquidity, (2) using a single dominant filter (vol percentile) instead of triple-AND-gate (low vol + uptrend + rising SMA + EMA stack), (3) targeting 8-15 entries/year (well above the 2.5/year sparsity threshold). BTC-SPECIFIC empirical justification: BTC has multiple WORKING strategies confirming clean vol/price dynamics (BTC LT Momentum Sharpe 5.91, BTC Spot Drawdown Sharpe 3.33, BTC 4H Volume Breakout Sharpe 3.74). The pattern of low-vol-then-expansion is documented in TradFi (Bollinger, Connors) and applies cleanly to BTC's institutional-flow-dominated microstructure.
Hypotheses
Implements the Bollinger/Connors squeeze mechanism (buy compression, exit on expansion completion), a structurally new vol-regime edge distinct from trend-following, drawdown DCA, and volume breakouts. Volatility is measured as a self-normalizing percentile within its own trailing distribution, so 'bottom 30%' adapts across BTC's changing vol regimes rather than depending on an absolute threshold. calculate_signal returns the continuous, bar-varying compression strength so the verifier sees real signal variation, while the 200-SMA bull-regime check is stored as self._regime_ok and ANDed in should_enter/position_size against the entry percentile, avoiding the gated-to-0.0 anti-pattern. A single dominant filter (vol percentile) plus one regime gate keeps the trigger frequency high (targeting 8-15 entries/year on BTC), addressing the prior AVAX calm-regime sparsity failure by choosing BTC (3-5x more compression regimes) and dropping the multi-AND gate. Exit on vol normalization captures the expansion move and steps aside once the edge is gone, with a hard stop and time stop only as tail protection. min_bars_required clears 200+ so SMA200 and the 90-vol distribution are fully formed before trading. Venue BINANCE USD-M futures matches the clean, proven BTC data family and futures RT taker (~0.10%) is cheaper than spot; long-only with leverage left at 1.0 (no amplification) so the leverage_set_but_unused gate does not trigger.
Hypotheses
BTC daily vol-compression->expansion has NO realized edge: profit_factor 0.842 (<1), negative expectancy (-$673.7/trade), Sharpe 0.086 with a CI straddling 0. The +6.9% headline is illusory — end_unrealized_pct 23.1 exceeds total_return 6.9, so the realized closed-trade record is negative (~-16%); the headline is an un-exited open position marked-to-market on the last bar. The only positive contribution is a single +53.8% day (2024-02-28, kurtosis 141.8, skew 7.26, tail_ratio 0.0057), alongside a catastrophic 44.8% max drawdown. The strategy also reproduced the exact failure it claimed to avoid: it targeted 8-15 entries/year but produced only 24 trades over 6.5 years (~3.7/yr), sparse and outlier-dependent like the cited AVAX Calm-Regime abandonment. The code is correct and trades as specified, so this is a premise failure, not a bug — BTC vol-compression produces a negative realized expectancy that optimization cannot fix, and the sparse 24-trade sample would only let the optimizer fit the lone 2024 outlier and fail the holdout. Not worth 2 hours. FAILURE PATTERN: single-asset daily volatility-compression ('Bollinger squeeze') long on a crypto major produces a sparse (~3.7/yr), outlier-dependent, net-losing realized record (PF 0.84, negative expectancy) whose positive headline is entirely open-position unrealized MTM plus one +53.8% day — a vol-regime entry filter on a major does not generate a fee-surviving directional edge and cannot be validated given the event sparsity and 45% drawdown.
Implementation
Long-only volatility-compression expansion strategy on BTCUSDT.BINANCE USD-M futures, DAILY bars, pure OHLCV single feed. Computes realized volatility (20-day std of log returns) and its percentile within the trailing 90-day vol distribution. Enters LONG when vol is in the bottom 30% (compression) AND price is above the 200-day SMA (confirmed bull regime). Exits when vol normalizes back to the 50th percentile, the regime breaks (close below 200-SMA), a 15% hard stop, or a 90-bar time stop. The signal is the continuous compression strength (1 - vol_pct) recomputed every bar; the 200-SMA uptrend is the separate boolean entry gate. Sized at 95% equity notional, leverage 1.0.
Backtest Review
Implemented correctly and trades as specified: 24 vol-compression entries, 0 dropped, all long — no code bug; novel mechanism vs the pipeline
Backtest Review
Headline is not real: end_unrealized_pct 23.1 EXCEEDS total_return 6.9, so realized closed-trade return is NEGATIVE (~-16%) — the +6.9% is un-exited open-position mark-to-market
Backtest Review
No realized edge: profit_factor 0.842 (<1), expectancy -$673.7/trade (negative), Sharpe 0.086 (CI -1.59 to 1.15 straddles 0), omega 1.07
Backtest Review
Outlier-driven: 2024 +41.4% carried by a single +53.8% day (2024-02-28); return_kurtosis 141.8, skew 7.26, tail_ratio 0.0057 (losses dominate)
Backtest Review
Catastrophic risk: max_drawdown 44.8% (CI to 80%), annualized_vol 54%, avg_position_pct 117.6%; annual returns swing -41.7% / -14.6% / +41.4% / +19.0%
Backtest Review
Sparse despite the design goal: 24 trades (~3.7/yr) vs the hypothesis's claimed 8-15/yr — reproduced the AVAX sparsity + outlier-dependency failure it claimed to avoid
Outcome Summary
This strategy bought compressed-volatility BTC during 200-SMA bull regimes, a genuinely novel 'Bollinger squeeze' mechanism for the pipeline, and the implementation was confirmed correct (24 entries, none dropped, all long). But the realized record was net-losing — profit factor 0.842, negative expectancy, a near-zero Sharpe with a CI straddling zero — and the +6.9% headline was entirely un-exited open-position MTM plus a single +53.8% day, masking a roughly -16% realized closed-trade result alongside a 45% drawdown. Worse, despite explicitly targeting 8-15 entries/year on BTC to escape the AVAX Calm-Regime sparsity failure, it produced only ~3.7 trades/year and reproduced that exact outlier-dependent failure. The analyst abandoned it before optimization, judging that no tuning can manufacture a missing edge and the 24-trade sample would only fit the lone 2024 spike and fail the holdout.
Outcome Summary
A volatility-compression entry filter on a crypto major does not by itself generate a fee-surviving directional edge — it fires too rarely (~3.7/year) to validate, hangs its headline on open-position mark-to-market plus one outlier day, and a switch from AVAX to BTC did not cure the structural sparsity/outlier-dependency the hypothesis claimed to solve.
Outcome Summary
The analyst abandoned it at backtest review as a premise failure, not a bug — the code traded exactly as specified, but the mechanism produced a negative realized expectancy that optimization cannot fix, and it reproduced the exact AVAX Calm-Regime sparsity-plus-outlier-dependency failure it was designed to avoid (24 trades vs the hypothesized 8-15/year), so the optimizer could only overfit the lone 2024 outlier and fail the holdout.
Outcome Summary
A long-only daily 'Bollinger squeeze' volatility-regime strategy on BTCUSDT perpetual futures, buying when realized volatility was compressed (bottom 30% of its trailing 90-day distribution) during a confirmed bull regime (price > 200-SMA) and exiting when volatility normalized, the regime broke, or a hard stop/time stop hit.
Outcome Summary
Over 6.5 years it made only 24 long trades (~3.7/year) with no realized edge: profit factor 0.842, expectancy -$673.7/trade, Sharpe 0.086 (CI -1.59 to 1.15), 44.8% max drawdown (CI to 80%), and 54% annualized volatility; the +6.9% headline was illusory since end-unrealized 23.1% exceeded it, leaving realized closed-trade return around -16%, with the only positive contribution a single +53.8% day on 2024-02-28 (kurtosis 141.8, skew 7.26).
Backtest and paper results are hypothetical. Trading involves risk of loss.