Skip to content

View translation

ADAFourHourVolumeSpikeMeanReversionLong

Hypotheses

ADA 4H Volume-Spike Mean-Reversion Long-Only on ADAUSDT.BINANCE

Hypotheses

A long-only, single-instrument volume-spike mean-reversion strategy on ADAUSDT.BINANCE — directly responding to the recent analyst prescriptive recommendation (in both the OBV and Parabolic SAR failure feedback): 'pivot to volume-spike mean-reversion (large volume bar tends to mean-revert within 24-48h)'. This is the FIRST VOLUME-SPIKE MEAN-REVERSION strategy in the portfolio. Structurally distinct from every prior ADA pipeline strategy: those use price-channel (Donchian), calendar timing, vol-regime, mean-reversion via Bollinger/Keltner, divergence (RSI), trend-strength (Aroon), bar-pattern (Heikin-Ashi), or volume-confirmation (Volume-Confirmed Donchian). This strategy fires when an EXTREME volume bar occurs (volume z-score > 2.5 vs trailing 100-bar baseline) accompanied by a sharp price DOWN move — the panic-burst signature where forced selling temporarily drives price below fundamentals. The 24-48h subsequent rebound captures the natural reversion as natural buyers step in after forced flow exhausts. Critically distinct from the failed Keltner range-trading: that strategy continuously faded price-channel edges (whipsaw against trend); this fires ONLY on rare extreme-volume events (~5-10/year) with a TREND FILTER (200-SMA) ensuring we're in a long-term uptrend regime where the recovery thesis is supported. Distinct from the failed OBV-divergence: that uses divergence between price and cumulative volume; this uses ABSOLUTE volume spike magnitude on the SAME BAR as the price move. Documented in crypto-specific research (Kaiko 2022 'Liquidation Cascade Analysis', Coin Metrics 2023 'Forced Flow vs Discretionary Flow'). Uses ONLY ADAUSDT.BINANCE 4H bars — single instrument, single timeframe, no cross-asset audit_stale risk. Fills critical gaps: (1) FIRST volume-spike-mean-reversion strategy in portfolio (entirely new mechanism class — distinct from breakout, divergence, and continuation), (2) Directly responds to the analyst's explicit prescription, (3) Single-instrument simplicity, (4) Long-only matching the proven directional asymmetry, (5) Confirmed-testable instrument. Position sizing: 15% per trade. Risk per trade: ~1.5% capped by stop-loss.

Hypotheses

Implements the analyst's explicit prescription — 'volume-spike mean-reversion: large volume bar tends to mean-revert within 24-48h' — as a distinct mechanism class from prior ADA strategies (no Donchian, divergence, or continuation). calculate_signal returns the continuous volume z-score every bar (no gated return-0.0), keeping logic visible to the verifier, and stores the three decomposed components (vol_z, bar_ret, trend_margin) so should_enter applies the full conjunction with matching-unit thresholds. The volume baseline mean/std are computed from PRIOR bars only (self._bars[-(N+1):-1]) since the base class appends the current bar before calling calculate_signal, avoiding self-contamination of the z-score. The 200-SMA trend filter restricts entries to uptrend regimes (the recovery thesis), distinguishing it from the failed continuous Keltner range-fade. Risk geometry matches the spec: 15% position × 10% stop ≈ 1.5% account risk per trade, with a tighter 6% take-profit appropriate for high-hit-rate reversion. Net-of-fee viability: futures round-trip taker cost ~0.10% (vs ~0.20% spot) is well below the 6% TP / 10% SL band, so the strategy stays on BINANCE USD-M futures as specified; the lower fee preserves the edge. leverage=1 and position_size sizes notional without referencing leverage, so there is no leverage_set_but_unused conflict. Edge cases guarded: zero/negative open or close, zero volume std, empty SMA window, NaN/inf, and sub-min-notional sizing all return safe defaults. Single instrument, single 4H timeframe — no cross-asset stale-data risk.

Hypotheses

Structural rare-event sparsity that cannot be validated out-of-sample -- the exact failure flagged at pre-optimization. The strategy is implemented correctly (genuine non-inverted reversion payoff in-sample) but every decisive gate fails after best-of-225 selection: deflated_sharpe 0.0076 (is_significant FALSE), optimized Sharpe 3.93 far below the expected-max luck bar 10.12, PBO 0.6944, sharpe_ci_low -0.80; walk-forward is_overfitted=TRUE with OOS windows [0.0, 9.73, -1.38] (one zero-trade, one negative, average propped by a single window); and the holdout FAILED degenerately with ZERO trades (holdout_sharpe 0.0, ratio 0). Root cause: the panic-burst volume-spike reversion fires only ~9/year, and the optimizer drove vol_z_thresh from 2.5 to 3.53, cutting the sample from 60 to 23 trades (exposure 1.09%) -- so the signal does not fire at all in the holdout segment. There is no robust region to tune toward: the sensitivity grid's high-Sharpe corner is at even-sparser settings (the overfit direction), while lowering vol_z_thresh to densify REDUCES Sharpe (0.84-0.88), so thinning zero-trades the holdout and densifying kills the edge. Not iterate (attempt 1 of 2): no parameter change can manufacture out-of-sample trades from a structurally rare signal on a single asset, and the optimizer already produced a zero-trade holdout. Not revise_hypothesis: there is no promoted volume-spike-reversion sibling to redirect, and the mechanism is simply too sparse/weak to validate on one major. FAILURE PATTERN: rare-event (z>2.5 volume-spike) mean-reversion on a single crypto major produces too few entries (~60 over 6yr, optimizer thins to ~23) to survive walk-forward/holdout -- the optimizer over-selects toward higher thresholds for flashy in-sample Sharpe that yields zero-trade OOS/holdout windows, fails DSR (0.0076), and is_overfitted=TRUE. The genuine non-inverted reversion payoff is real in-sample but unvalidatable out-of-sample at this event frequency.

Implementation

Long-only volume-spike mean-reversion on ADAUSDT.BINANCE 4H bars. Enters LONG only on rare forced-flow panic events: when a single 4H bar shows (a) a volume z-score > 2.5 vs the trailing 100-bar baseline, (b) a sharp down move (bar return (close-open)/open <= -2%), AND (c) the close is above the 200-bar SMA (long-term uptrend regime). It then holds for the 24-48h rebound as natural buyers step in after forced selling exhausts. The signal is the continuous volume z-score (computed every bar, varying); entry thresholds are applied in should_enter. Exits on a 6% take-profit, a wide 10% stop-loss, or a 48h (12-bar) timeout, whichever comes first. OHLCV-only, single instrument, no supplementary data. Position sizing is 15% of equity notional per trade via get_account_equity() (~1.5% account risk at the 10% stop); leverage = 1.

Backtest Review

Genuine positive profile, NOT the inverted-payoff death signature of continuous faders: win_rate 0.533, avg_win $1,157 > avg_loss $992, PF 1.33, skew -0.03 (symmetric), Sharpe 1.36

Backtest Review

Rare-event design (volume z>2.5 panic bursts + 200-SMA uptrend filter) -- structurally distinct from the failed Keltner/RSI(2)/Bollinger continuous channel-faders

Backtest Review

Very low risk and idle capital: max_drawdown 5.85%, exposure 3.76%, capacity $42M; positive in 4 of 7 years spread across 2020-2024 (not solely front-loaded)

Backtest Review

Only 60 trades -- right at the ~62 walk-forward floor; ~20 trades/OOS window is thin, and the rare-event design resists densification without diluting the 'extreme volume' premise

Backtest Review

sharpe_ci_low -0.87 (CI straddles 0 widely, -0.87 to 4.32) -- strong DSR-fail risk after 225-trial selection

Backtest Review

Recent years negative (2025 -4.6%, 2026 -0.76%); impact_cost_pct 4.86%

Backtest Review

~0.5+ (pre-opt)

Backtest Review

~62 WF floor

Backtest Review

4 of 7

Backtest Review

majority-ish

Analysis

Mechanism implemented correctly, market-neutral to ADA (beta 0.005), genuine non-inverted reversion payoff in-sample; clean sizing and capacity ($128M)

Analysis

Fails deflated Sharpe decisively: DSR 0.0076, is_significant FALSE, optimized Sharpe 3.93 far below the expected-max luck bar 10.12 over 225 trials; sharpe_ci_low -0.80 (straddles 0); PBO 0.6944

Analysis

Optimizer drove the sample DOWN (vol_z_thresh 2.5->3.53, 60->23 trades, exposure 1.09%) -- the rare-event signal got rarer, not denser

Analysis

Walk-forward is_overfitted TRUE: avg IS 12.63 -> avg OOS 2.79 with OOS windows [0.0, 9.73, -1.38] (one zero-trade, one negative, average carried by a single window)

Analysis

Holdout FAILED degenerately: zero trades in the holdout (holdout_sharpe 0.0, ratio 0); sensitivity FAILED with 2 cliffs (vol_lookback, vol_z_thresh)

Analysis

No robust region: densifying (lower vol_z_thresh) reduces Sharpe; thinning zero-trades the holdout -- a structural dead-end

Analysis

> 10.12 (expected-max)

Outcome Summary

ADAFourHourVolumeSpikeMeanReversionLong was a direct, well-reasoned response to prior analyst feedback — pivoting to panic-burst volume-spike reversion, a new mechanism class with a trend filter to avoid the whipsaw deaths of the continuous Keltner/RSI(2) faders. Encouragingly, it worked in-sample with the right geometry: a non-inverted payoff (avg_win > avg_loss), PF 1.33, Sharpe 1.36, and tiny 5.85% drawdown, earning an 'optimize' verdict. But the rare-event premise was its undoing — at ~9 trades/year the 60-trade sample sat at the validation floor, and optimization chased in-sample Sharpe by raising the volume threshold, cutting the sample to 23 and leaving the holdout with literally zero trades. The analyst abandoned it on its first iteration: DSR 0.0076 against a 10.12 luck bar, PBO 0.69, an overfitted walk-forward, and a degenerate zero-trade holdout, with no robust region to tune toward — a real edge that simply doesn't fire often enough on one asset to prove itself forward.

Outcome Summary

Rare-event (z>2.5 volume-spike) mean-reversion on a single crypto major fires too few times (~60 over 6 years, optimizer thins to ~23) to survive walk-forward/holdout — the optimizer over-selects toward higher thresholds for flashy in-sample Sharpe that yields zero-trade OOS windows — so a genuine, non-inverted payoff is necessary but not sufficient: at this event frequency the edge is real in-sample yet structurally unvalidatable out-of-sample.

Outcome Summary

The backtest-review gate passed it to optimization ('optimize'), but the analyst abandoned it post-optimization on structural rare-event sparsity: the optimized Sharpe 3.93 sat far below the expected-max luck bar of 10.12 over 225 trials (is_significant=false), the optimizer drove vol_z_thresh higher and thinned the sample so the signal didn't fire at all in the holdout (zero-trade, degenerate fail), and there was no robust region to tune toward — densifying lowers Sharpe while thinning zero-trades the holdout.

Outcome Summary

A long-only, single-instrument volume-spike mean-reversion on ADAUSDT.BINANCE 4H — the portfolio's first of its class — firing on rare panic-burst events (volume z-score > 2.5 vs a trailing 100-bar baseline) coincident with a sharp down bar (return ≤ −2%) while price is above its 200-SMA, betting the forced-selling dip rebounds within 24–48h, captured via a 6% take-profit, 10% stop, or 12-bar (48h) timeout.

Outcome Summary

The initial backtest showed a genuine, non-inverted reversion payoff — 60 trades, win_rate 53.3%, avg_win $1,157 > avg_loss $992, profit_factor 1.33, symmetric skew −0.03, Sharpe 1.36, max drawdown just 5.85%, exposure 3.76%, positive in 4 of 7 years — but the Sharpe CI straddled zero widely (−0.87 to 4.32). After optimization the in-sample Sharpe leapt to 3.93 but the sample shrank to 23 trades (exposure 1.09%), and every generalization gate failed: DSR 0.0076, PBO 0.6944, walk-forward IS 12.63 → OOS 2.79 (is_overfitted=true, windows [0.0, 9.73, −1.38]), holdout zero trades (Sharpe 0.0), and 2 sensitivity cliffs (vol_lookback, vol_z_thresh).
Strategy report

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