BtcFourHourBollingerLowerBandOversoldMeanRevLongDailyRegime
Hypotheses
BTC 4H Bollinger Band Lower-Band Oversold Mean-Reversion Long with Daily Bull Regime Filter
Hypotheses
A long-only single-instrument STATISTICAL-DISTANCE MEAN-REVERSION strategy on BTCUSDT perpetual futures using 4-hour bars and OHLCV-only data, with a daily-bar bull regime filter. This is the COMPLEMENTARY mean-reversion mechanism to the just-added BtcFourHourRsi2OversoldMeanRevLong: RSI(2) measures VELOCITY of recent decline (Wilder-smoothed 2-period rate); Bollinger Bands measure DISTANCE FROM MEAN (std-dev distance from 20-period SMA). The two statistical foundations are fundamentally different and fire on partially overlapping but distinct bar conditions: RSI(2) fires after rapid 2-bar drops regardless of starting level; BB fires when current price is far below the 20-period mean regardless of recent velocity. A slow multi-bar drift downward can trigger BB without triggering RSI(2); a sharp 2-bar drop from a high level can trigger RSI(2) without going below BB. Together they provide robust mean-reversion coverage across both fast (RSI) and slow (BB) oversold conditions on the same asset+timeframe. This proposal is DOUBLY FILTERED against the documented failure patterns: (1) AVOIDS the 'altcoin_daily_minimum_param_trend' pattern — BTC is the top-tier crypto (explicitly excluded), uses 4H not daily (high signal density), uses mean-reversion not trend-following; (2) AVOIDS the 'hypothesis specifies instrument class unsupported by FactoryStrategy' pattern — uses LINEAR FUTURES (BTCUSDT.BINANCE perpetual, fully supported), no options or multi-leg derivatives. The Bollinger Band mechanism was documented by John Bollinger ('Bollinger on Bollinger Bands', 2002) and has 40+ years of empirical validation. BTC 4H specifically has the most-cached data path in the system (BtcFourHourVolumeBreakoutLong in paper trading at Sharpe 3.74). The economic mechanism: when BTC 4H close drops below the 20-period lower Bollinger Band (more than 2 std-devs below the 20-period mean), it represents a statistical-distance extreme. On BTC specifically, this is amplified by (a) institutional dip-buying flows that systematically respond to multi-sigma extensions, (b) ETF rebalancing that buys at extension lows, (c) systematic mean-reversion algos that target the 20-period SMA. Trade frequency: 30-50/year, well above tail-dependence threshold. Only 4 explicit parameters (BB period, BB std-dev multiplier, regime SMA period, stop pct).
Hypotheses
Single-instrument BTC 4H mean-reversion implemented with the standard FactoryStrategy hooks. The statistical-distance foundation is made explicit by returning z = (close-SMA)/std as the continuous per-bar signal (varies every bar -> Layer-2 frozen-signal detection passes), and the entry gate thresholds it at <= -bb_mult, i.e. close below the lower Bollinger band; this is orthogonal to RSI(2) velocity because a slow multi-bar drift pushes z below -2 with no sharp 2-bar drop. The daily bull-regime filter is a SLOWER-timeframe context leg on the same instrument supplied via extra_bar_types (BTCUSDT 1-DAY); because its timeframe differs from the primary 4H, the base does not treat it as a sync leg and the cross-leg alignment barrier never stalls the 4H signal. on_extra_bar collects the daily closes and _update_regime gates entries on daily close > daily SMA(50). To guarantee the daily series is actually fetched, extra_instruments lists BTCUSDT.BINANCE index-paired with the daily extra_bar_type (on_demand.py pairs them positionally), and the runner also loads it from the catalog by parsing the instrument from the bar-type string -- so no data_unavailable. Exits combine the mean-reversion target (close >= 20-period SMA) and a 6% hard stop via get_position_pnl_pct. Sizing is capital-relative (2% risk over the 6% stop ~ 0.3 BTC at typical price) capped at 50% notional, clearing the BTCUSDT $100 min-notional and leaving per-trade reversion edge well above the ~0.10% round-trip futures fee. Long-only; leverage stays 1.0 and is referenced only as a sizing multiplier (=1), so the unused-leverage gate does not apply. Avoids the cited failure patterns: BTC top-tier (not alt-daily), 4H high-density mean-reversion (not daily trend), linear futures (not options/multi-leg), pure OHLCV (no supplementary-data no-trades risk).
Hypotheses
Do not optimize — this is a fairly-tested, correctly-built strategy that loses money. With 117 trades over 6 years, sane sizing (exposure 10%, low max_DD 11.4%, no blow-up, metrics_reliable=true), the Bollinger lower-band oversold mean-reversion lost: total_return -2.0%, CAGR -0.9%, Sharpe -0.29 (sharpe_ci_low -1.87), profit_factor 0.91, omega 0.92, Sortino -0.33, expectancy -$47/trade. The 65.8% win rate is misleading — it is the classic mean-reversion trap where avg_loss ($1,557) is 2x avg_win ($737) with return_skew -1.42: buying multi-sigma dips books many small reversions to the SMA but eats occasional large losses when the downtrend continues past the -6% stop (picking up pennies in front of a steamroller). The strategy is net-negative across the period (2020 -4%, 2022 -7.5%, 2024 -6.4% outweigh the modest positive years), and fees compound it (commission_pct_of_gross 6.66%). A negative-Sharpe, sub-1.0-PF signal has no gross edge for optimization to refine — best-of-N tuning would only fit noise. This is not sparsity (trade count is adequate) and not a code/sizing bug, so there is no correctness fix to iterate on, and the small-win/big-tail-loss structure is inherent to fading multi-sigma extensions on a trending asset — no change to bb_period, bb_mult, regime_sma_period, or stop_pct converts a PF 0.91 negative-expectancy mean-reverter into a winner. Abandon rather than optimize or iterate.
Implementation
Long-only single-instrument Bollinger-Band lower-band oversold mean-reversion on BTCUSDT.BINANCE USD-M futures, 4H bars, with a daily bull-regime filter. Each 4H bar computes the 20-period SMA and population std; the lower band is SMA - 2*std. It enters long when the 4H close falls below the lower band (z = (close-SMA)/std <= -2) AND the daily close is above its 50-day SMA (bull regime). It exits when price reverts up to the 20-period SMA (mean target) or hits a 6% hard stop. Risk-based sizing (2% equity risk over the 6% stop) capped at 50% notional, leverage 1.0, pure OHLCV. Four parameters: bb_period, bb_mult, regime_sma_period, stop_pct.
Backtest Review
Clean, correctly-built single-instrument BTC strategy (sane sizing, exposure 10%, no blow-up, low max_DD 11.4%); novel statistical-distance mean-reversion premise
Backtest Review
Healthy trade count (117) — not a sparsity or data problem
Backtest Review
Money-loser: total_return -2.0%, Sharpe -0.29 (sharpe_ci_low -1.87), profit_factor 0.91, omega 0.92, Sortino -0.33, expectancy -$47/trade
Backtest Review
Classic mean-reversion asymmetry: 65.8% win rate but avg_loss ($1,557) is 2x avg_win ($737), return_skew -1.42 — small reversions offset by big falling-knife losses
Backtest Review
Net-negative across the period (2020 -4%, 2022 -7.5%, 2024 -6.4% outweigh positive years); fee-fragile with commission 6.66% of gross
Backtest Review
No correctness bug and healthy trade count, so the BB oversold mechanism itself has no edge after costs on BTC 4H
Outcome Summary
BtcFourHourBollingerLowerBandOversoldMeanRevLongDailyRegime added the distance-based complement to an RSI(2) velocity mean-reverter, buying BTC 4H closes that extended below the lower Bollinger Band within a daily bull regime. The implementation was clean — sane sizing, 117 trades, an 11.4% drawdown — and posted a 65.8% win rate, but it still lost 2.0% with a profit factor of 0.91 because its average loss was twice its average win (skew -1.42): small reversions repeatedly offset by big losses when downtrends ran past the 6% stop, with fees at 6.66% of gross compounding the bleed. No correctness fix applied and the small-win/big-tail structure is intrinsic to fading multi-sigma dips on a trending asset, so the analyst abandoned the strategy at the backtest-review gate rather than optimize a negative-expectancy mechanism.
Outcome Summary
A high win rate is not edge when the loss distribution is asymmetric — buying multi-sigma dips books frequent small wins but eats large tail losses when the trend continues, so no tuning of band width, lookback, regime, or stop converts a negative-expectancy 'pennies in front of a steamroller' mean-reverter into a winner.
Outcome Summary
The analyst abandoned it at the backtest-review gate before optimization because a negative-Sharpe, sub-1.0 profit-factor signal has no gross edge to refine; with adequate trades and no correctness or sizing bug, the result is the classic mean-reversion trap — many small reversions to the mean offset by occasional large falling-knife losses when the downtrend continues past the stop — compounded by fees, a structure inherent to fading multi-sigma extensions on a trending asset.
Outcome Summary
A long-only, OHLCV-only statistical-distance mean-reversion strategy on BTCUSDT 4H futures — entering long when the 4H close fell more than 2 standard deviations below its 20-period mean (below the lower Bollinger Band) while a daily bull-regime filter held (daily close above its 50-day SMA), exiting on reversion to the 20-period mean or a 6% hard stop, with 4 parameters; conceived as the slow-distance complement to an RSI(2) velocity mean-reverter.
Outcome Summary
The build was clean and correctly sized (10% exposure, 11.4% max drawdown, no blow-up) over a healthy 117 trades, but it lost money: -2.0% total return (CAGR -0.9%), Sharpe -0.29 (CI low -1.87), profit factor 0.91, per-trade expectancy -$47, and was net-negative across the period. Its 65.8% win rate was misleading because avg loss ($1,557) was ~2x avg win ($737) with return skew -1.42, and commission ran 6.66% of gross.
Backtest and paper results are hypothetical. Trading involves risk of loss.