Strategies
BTC Daily Volatility-Compression Expansion Long with 200-SMA Regime Filter
Outcome: Abandoned
BtcDailyVolCompressionExpansionLong
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.
Hypothesis
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
- Sharpe
- 0.09
- Total return
- 6.89%
- Max drawdown
- 44.78%
- Trades
- 24
- Win rate
- 41.7%
- Profit factor
- 0.84
Implemented correctly and trades as specified: 24 vol-compression entries, 0 dropped, all long — no code bug; novel mechanism vs the pipeline
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
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
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)
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%
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
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.
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.
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.
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.