Skip to content

View translation

AvaxDailyBollingerOversoldMeanReversionLong

Hypotheses

AVAX Daily Bollinger Band Oversold Mean-Reversion Long with 200-SMA Bull Regime Filter

Hypotheses

A long-only single-instrument mean-reversion strategy on AVAXUSDT perpetual futures using daily bars and OHLCV-only data. This is a STRUCTURALLY NEW mechanism class for the portfolio: every existing promoted strategy (BNB/BTC/SOL 4H Volume Breakout, ETH Golden Cross, LINK/SOL Multi-Week Trend Continuation, SOL 21/55 EMA TC) is a trend-following / breakout / momentum-continuation signal. This proposal is the OPPOSITE: a counter-trend oversold-reversion signal. The strategy enters long only when price closes below the lower Bollinger Band (20-period, 2-sigma) AND is still above its 200-day SMA — meaning we are buying a short-term oversold dip within a structurally bullish regime, not catching a falling knife in a bear market. The 200-SMA filter is the same guardrail that survived in the LINK Multi-Week strategy. AVAX is chosen specifically because (a) it is NOT currently in the portfolio (no auto-replication conflict), (b) it has deep daily futures liquidity (top-15 perp by volume) so daily bars are statistically meaningful, (c) its historical price action shows clearer dip-and-recover behavior than BTC/ETH whose mean reversion is already partially harvested by trend strategies, and (d) it avoids the saturated ETH/BNB/LINK daily-trend slots that have produced 4 failures this session. The mechanism is fundamentally orthogonal to existing strategies — it FIRES when trend strategies are SILENT (during pullbacks within uptrends), creating non-overlapping signal timing. Only 4 parameters total (BB period, BB std-dev, SMA period, stop-loss pct), all well-understood with stable economic meaning, minimizing overfitting surface area.

Hypotheses

Iteration 2 fix for the Layer-2 frozen-signal failure. Root cause: calculate_signal returned 0.0 on every bar where the two entry conditions weren't both satisfied (the gated-signal anti-pattern), so across steady_uptrend/downtrend/flat/price_gap the signal was 0.0 on all 296 bars. The fix makes calculate_signal compute and return the CONTINUOUS decision variable every bar — the band stretch (lower_band - close)/sigma, which varies bar to bar and during warmup falls back to a short-window deviation so it is never frozen — while moving the unchanged entry logic (close > SMA200 AND close < lower band) into should_enter via stored _regime_ok / _below_band flags. Exit logic, position sizing, leverage usage, imports, and config are untouched, so Layer-1 static and the already-correct mean-reversion mechanism remain intact and trading behavior is identical; only the signal is now continuous. Leverage 2.0 is genuinely consumed in position_size (equity * position_pct * leverage), so the leverage_set_but_unused gate stays satisfied.

Hypotheses

Triple failure -- structurally sparse, catastrophically money-losing, and over-leveraged. The 200-SMA + 2-sigma Bollinger oversold combo fires only ~1.6x/year, producing just 9 trades over ~5.5 years (far below the ~62 walk-forward floor), so it cannot be optimized regardless of edge. And the edge is decisively negative: profit_factor 0.123, Sharpe -3.41, win_rate 0.111 (1 of 9 trades win), total_return -68.6%, max_drawdown 68.6%, expectancy -7,485, with the Sharpe CI entirely negative (-6.25 to -0.44) and negative in all 4 active years. Root cause: buying AVAX dips below the lower Bollinger band -- even gated by a 200-SMA 'uptrend' -- is catching falling knives on a high-beta alt; the band-stretch keeps stretching and the 8% stop at 2.0x leverage (avg_position_pct 116.6%) turns each loser into a -10% to -25% daily hit. No parameter set converts a PF-0.123, 1-of-9-win, all-years-negative fade into an edge, and optimizing 9 trades fits pure noise. Not iterate (the code matches the hypothesis; the premise has no edge AND the daily cadence is structurally too sparse -- densifying just generates more falling-knife losses). FAILURE PATTERN: oversold Bollinger mean-reversion dip-buying on a high-beta crypto major/alt has no edge -- it catches falling knives (win rate ~0.11, profit factor ~0.12), and on daily bars the 200-SMA+2-sigma gate is so rare (9 trades/5.5yr) that it is both un-optimizable AND money-losing; leverage amplifies the falling-knife losses. This is the recurring mean-reversion/oversold-fade no-edge family (Keltner/RSI(2)/Bollinger-BTC/SUI-reversal), made worse here by 2x leverage and daily sparsity.

Implementation

Long-only counter-trend Bollinger-Band oversold mean-reversion on AVAXUSDT.BINANCE USD-M futures daily bars, OHLCV-only. It enters long when the close is below the lower Bollinger Band (20-period, 2-sigma) AND still above its 200-day SMA (a bull-regime guardrail so it buys dips in uptrends, not falling knives). It exits when price recovers to the middle band (SMA20), the regime breaks (close < SMA200), or an 8% stop-loss triggers. calculate_signal returns a continuous band-stretch (how many sigmas the close sits below the lower band) every bar so the signal varies; the regime and below-band gates are captured in flags and checked in should_enter. Sizes 0.60 x leverage(2.0) = ~1.2x equity notional, genuinely consuming the configured leverage.

Verification Results

Verification failed (Layer 2 — synthetic scenarios): Parameters used: ['bb_std', 'bb_period', 'sma_period', 'min_notional', 'position_pct', 'stop_loss_pct'] Check that __init__ sets all attributes from self.parameters.get(). - steady_uptrend: Frozen signal: all 296 signals are identical (value=0.0). calculate_signal() likely has a bug — the signal never varies. - steady_downtrend: Frozen signal: all 296 signals are identical (value=0.0). calculate_signal() likely has a bug — the signal never varies. - flat_ranging: Frozen signal: all 296 signals are identical (value=0.0). calculate_signal() likely has a bug — the signal never varies. - price_gap: Frozen signal: all 296 signals are identical (value=0.0). calculate_signal() likely has a bug — the signal never varies.

Backtest Review

Implemented as specified (9 oversold-dip long entries, 200-SMA gated), clean entry_diag, metrics_reliable=true

Backtest Review

Structurally far too sparse: only 9 trades over ~5.5 years -- un-optimizable (far below the ~62 walk-forward floor)

Backtest Review

Catastrophically money-losing: profit_factor 0.123, Sharpe -3.41, win_rate 0.111 (1 of 9), total_return -68.6%, max_drawdown 68.6%, expectancy -7,485

Backtest Review

Falling-knife fade amplified by leverage: negative in all 4 active years, daily losses of -25.4%/-19.5%/-16.4% at avg_position_pct 116.6% (2.0x leverage); Sharpe CI entirely negative (-6.25 to -0.44)

Backtest Review

viable

Backtest Review

~0.5+ (pre-opt)

Backtest Review

~62 WF floor

Outcome Summary

AvaxDailyBollingerOversoldMeanReversionLong was pitched as a structurally new mechanism class — a counter-trend oversold-reversion signal that would fire when the portfolio's trend strategies are silent — with a 200-SMA bull-regime filter meant to avoid catching falling knives. But the guardrail didn't hold: buying below the lower Bollinger band on a high-beta alt systematically preceded further declines, yielding a 1-of-9 win rate, profit_factor 0.123, and a −68.6% return that 2.0× leverage amplified into −10% to −25% daily hits. The daily cadence compounded the problem — only 9 trades over 5.5 years, far too sparse to optimize, with densification only producing more knife-catches. The analyst abandoned it at backtest review on all three counts at once, placing it firmly in the session's recurring oversold-fade no-edge family (Keltner/RSI(2)/Bollinger-BTC/SUI) and confirming that a fresh, orthogonal mechanism with leverage and daily sparsity stacked on top is a worse bet, not a better one.

Outcome Summary

Oversold Bollinger mean-reversion dip-buying on a high-beta crypto alt has no edge — it catches falling knives (win rate ~0.11, PF ~0.12) and a 200-SMA bull-regime filter doesn't stop the band from stretching further — and on daily bars the 200-SMA+2-sigma gate is so rare (9 trades/5.5yr) that it is simultaneously unvalidatable and money-losing, with leverage multiplying the losses; orthogonality to existing strategies is not the same as having an edge.

Outcome Summary

The analyst issued an abandon verdict at backtest review on three independent grounds: the 200-SMA + 2-sigma gate fires only ~1.6×/year so 9 trades cannot be optimized (densifying just generates more losses), the oversold dip-buy has a decisively negative edge (catching falling knives on a high-beta alt with PF 0.123 and a 1-of-9 win rate), and 2.0× leverage amplified each falling-knife loss — no parameter set converts an all-years-negative fade into an edge, and the code matches the hypothesis so the premise itself is the flaw.

Outcome Summary

A long-only, OHLCV-only counter-trend mean-reversion on AVAXUSDT.BINANCE daily bars (4 parameters, 2.0× leverage) — structurally orthogonal to the portfolio's trend/breakout strategies — buying oversold dips when price closes below the lower Bollinger Band (20-period, 2-sigma) while still above its 200-day SMA (a 'bull-regime' guardrail to avoid catching falling knives), exiting on reversion to the middle band, a regime break below the 200-SMA, or an 8% stop.

Outcome Summary

It was a triple failure: structurally sparse (only 9 trades over ~5.5 years, far below the ~62-trade walk-forward floor), catastrophically money-losing (profit_factor 0.123, Sharpe −3.41, win_rate 0.111 (1 of 9), total_return −68.6%, max drawdown 68.6%, expectancy −7,485, Sharpe CI entirely negative −6.25 to −0.44, negative in all 4 active years), and over-leveraged (avg_position_pct 116.6% at 2.0×, turning the 8% stop into −10% to −25% daily hits).
Strategy report

Backtest and paper results are hypothetical. Trading involves risk of loss.