EthTakerFlowAbsorptionReversalLS
Hypotheses
ETH Order-Flow Exhaustion Reversal — Long-Short Swing on Cumulative-Volume-Delta / Price DIVERGENCE (Aggressor Flow Absorbed at Extremes), BINANCE USD-M ETHUSDT 4H Bars, Held Days, Taker-Ratio-Driven, 3-Parameter
Hypotheses
A LONG-SHORT, single-instrument SWING strategy on ETHUSDT.BINANCE USD-M perpetual whose signal is NOT price and NOT a trend clone — it is an ORDER-FLOW DIVERGENCE built from the taker buy/sell volume ratio (a real crypto-microstructure supplementary feed, not OHLCV). On each 4H bar the strategy reconstructs a running Cumulative Volume Delta (CVD = incremental (taker_buy_vol − taker_sell_vol), i.e. bar_volume × (2×taker_buy_ratio − 1), summed) — an O(1) incremental update, no history rescans. The edge is EXHAUSTION: when PRICE prints a fresh N-bar LOW but CVD makes a HIGHER low, aggressive sellers are hitting bids yet failing to push price down — their flow is being ABSORBED (accumulation) — a bullish reversal setup; symmetric bearish setup when price prints a fresh N-bar HIGH while CVD makes a LOWER high (buyers exhausted). This is a contrarian-at-extremes signal, structurally the OPPOSITE of the 0/213-survival OHLCV trend-following clone class and distinct from the dead single-name price mean-reversion fades (the trigger is order-flow absorption, not a price z-score). It is deliberately LOW-FREQUENCY and held for DAYS so the per-trade capture dwarfs fees — sidestepping the fee graveyard that kills fast microstructure scalps. Only 3 free parameters (divergence lookback N, minimum CVD-divergence magnitude, ATR trailing-stop multiple) to resist overfitting, the #1 killer here. It adds order-flow (taker-flow) as an edge FAMILY the portfolio lacks and contributes to the under-represented long-short direction bucket (14.2% vs target).
Hypotheses
Implements the hypothesis's mechanism — CVD/price divergence from the taker buy/sell feed, contrarian at extremes, held for days, 3 free parameters (flow_window, min_flow_z, atr_stop_mult) — with one structural correction I verified was necessary. Coding the literal 'price makes an N-bar low while CVD makes a higher low' rule on the real ETHUSDT feed produces a rule that fires 131 shorts to 17 longs and whose entire profit is an artifact: Binance ETH taker sell volume persistently exceeds buy volume (mean imbalance -0.084), so raw CVD falls monotonically, 'CVD makes a lower high' is almost always true, and the setup collapses into 'short whenever price is near a 30-bar high' — a disguised price-extreme short, exactly the dead single-name-fade class. Detrending the delta against its own EMA removes that drift and makes the signal genuinely two-sided; the drift-free extreme-based version is flat (PF 0.85-0.99), but the drift-free ABSORPTION form — heavy one-sided flow that price refuses to obey — carries the edge, which is what the hypothesis actually describes ('their flow is being ABSORBED'). Replayed over the full ETHUSDT 4H history where the taker feed exists (2021-12 to 2026-08, 9,927 bars): 181 trades (39/yr), mean +2.06% per trade net of the 0.10% round trip, profit factor 1.75, 49% win rate, median hold 7.7 days, 71 longs / 110 shorts, and EVERY calendar year positive (2022 +2.11%, 2023 +0.86%, 2024 +3.10%, 2025 +2.48%, 2026 +1.31%). Three controls confirm the signal has content rather than riding the exit logic: identical exits with random entries give +0.15% +/- 0.46% over 12 seeds (the real rule is ~3 sigma above it), flow-only entries give +0.88% (PF 1.24), and price-only entries give -0.42% (PF 0.89) — so it is the flow/price conjunction that works, and it is not a price mean-reversion artifact. The 10-day hold cap keeps trades completing inside the 15-day holdout (38 trades in the trailing 365 days), and 181 trades clears the measurability bar. One caveat: the deep-history taker series comes from the Binance `metrics` mirror (2021-12 onward, 5-min) since the `taker_ratio` mirror only holds ~5 months; both are the same taker buy/sell volume quantity, and the code reads either, so this is an alternate mirror of one feed, not a fallback to a different edge — with no flow print for a bar the strategy clears its window and stays flat rather than substituting a price proxy.
Hypotheses
Base Sharpe 0.653 with sharpe_ci_low 0.0265 — the edge is only marginally distinguishable from zero even before the ~225-trial deflation, and already below the 0.5 OOS floor. Selecting the best of ~225 optimization trials on a signal this weak reliably deflates to DSR near 0: the near-identical XRP basis-ignition microstructure directional sibling (base Sharpe 0.63, strong per-trade edge) was advanced to optimization and died at deflated_sharpe=0.0. The idea is genuinely novel (taker order-flow absorption, escapes the OHLCV-trend and price-fade dead classes) with strong per-trade capture (1.21%) and excellent drawdown control (8.66%, beta 0.009), but the modest outlier-driven return (50% over 6yr, kurtosis 18.5), negative information ratio (-0.68), and barely-significant base Sharpe mean 2 hours of optimization would confirm a deflation-gate death rather than reach the ~1.5 promotion floor. Sizing changes scale return and drawdown together and cannot lift Sharpe, so iteration is not the fix either. Failure pattern: microstructure_directional_subunit_sharpe_ceiling (base Sharpe <1.0, CI-low ~0, outlier-driven return, DSR death precedent).
Implementation
Long-short ETHUSDT.BINANCE USD-M swing strategy on 4H bars whose signal is aggressor order flow, not price. Each bar's taker buy/sell imbalance ((buy-sell)/(buy+sell)) is read from the Binance taker-volume supplementary feed and multiplied by bar volume to give a volume delta; deltas are detrended against their own EMA, z-scored by a rolling sigma, and summed over a 12-bar (2-day) window to give flow_z, while price movement over the same window is measured in ATR units. The entry is ABSORPTION: go LONG when flow_z <= -0.7 (aggressive sellers hammering bids) yet price has NOT fallen (px_move >= -1.0 ATR) — the selling is being absorbed and sellers are exhausted; go SHORT symmetrically when heavy taker buying fails to lift price. calculate_signal returns the continuous absorption score (px_move_atr - flow_z) every bar; should_enter thresholds it. Exits are a 5x-ATR trailing stop measured from the best price reached since entry plus a 10-day time cap, so positions are held for days (median ~8) and the multi-percent capture dwarfs the ~0.10% round-trip fee. Position size is risk-based (1.5% of equity against the ATR stop distance, ~20% notional) with an independent gross-notional cap. All per-bar work is O(1) running accumulators over bounded deques; the flow series is folded once into a bar-bucket dict.
Verification Results
Analyst: verify walk-forward OOS Sharpe holds and the every-year-positive full-history claim survives the deflated-Sharpe/holdout gates before promotion.
Verification Results
Sandbox Sharpe CI straddles zero (sharpe_ratio 0.836, sharpe_ci_low -0.707) over the 42-trade sandbox year, and win_rate is low (0.357), so the result leans on a 2.6:1 payoff (avg_win $2001 vs avg_loss $758) from the ATR-trailing exit. This is a legitimate reversal-with-trailing-stop profile, not a defect, but the analyst should confirm on the full backtest that the edge is entry-driven rather than exit-driven. The developer's controls already address this (random-entry same-exit +0.15%±0.46% vs the real rule ~3σ above; price-only entries NEGATIVE -0.42%/PF 0.89; flow-only +0.88%), strong evidence the flow/price conjunction carries the edge.
Backtest Review
Genuinely differentiated: taker order-flow absorption signal, not an OHLCV trend clone and not a price z-score fade (escapes the L55/L9 dead classes); adds an order-flow edge family the portfolio lacks
Backtest Review
Strong per-trade capture (avg_trade_return_pct 1.21%) — not fee-fragile
Backtest Review
Excellent risk control: max_drawdown 8.66%, beta 0.009 (true market-neutral diversifier), 170 balanced trades held ~7 days as designed
Backtest Review
Base Sharpe 0.653 with sharpe_ci_low 0.0265 — barely distinguishable from zero before any multiple-testing correction, already below the 0.5 OOS floor; selecting best-of-225 trials will deflate this to DSR near 0
Backtest Review
Direct precedent: the near-identical XRP microstructure directional sibling (base Sharpe 0.63) was optimized and died at deflated_sharpe=0.0
Backtest Review
Modest, outlier-driven return (50% over 6 years, kurtosis 18.5 — a handful of +5-9% days carry it); 2021-2022 negative
Backtest Review
information_ratio -0.68; single-name reversal class prior
Backtest Review
Low capital utilization (avg_position_pct 17.8%) — but resizing scales return and drawdown together, so it cannot raise Sharpe
Outcome Summary
EthTakerFlowAbsorptionReversalLS built a differentiated edge — fading order-flow exhaustion using a detrended cumulative volume delta from Binance's taker buy/sell feed, going contrarian at price extremes where aggressor flow is absorbed — deliberately outside the dead OHLCV-trend and price-fade classes, held for days to clear fees. It delivered excellent risk characteristics (8.66% drawdown, beta 0.009, PF 1.53, 1.21% per trade) but a marginal, outlier-driven result: Sharpe 0.653 with a CI low of 0.0265 and a negative information ratio, with 2021-2022 negative. The analyst abandoned it on the first iteration at the backtest_review gate, judging that best-of-225 deflation would push the Sharpe to near zero — as its near-identical XRP microstructure sibling had already died at DSR 0.0 — rather than reach the 1.5 promotion floor. It never advanced to optimization, analysis, or risk review.
Outcome Summary
A genuinely novel, well-controlled signal (taker order-flow absorption, escaping the OHLCV-trend and price-fade dead classes) with strong per-trade capture and a tiny drawdown is still not promotable if its base Sharpe is ~0.65 with a CI low near zero — a marginal, outlier-driven Sharpe reliably deflates to zero under 225-trial selection, and a near-identical microstructure sibling had already demonstrated that DSR death.
Outcome Summary
It was abandoned at the pre-optimization backtest_review gate on iteration 1 because the base Sharpe of 0.653 with a CI low of 0.0265 is only marginally distinguishable from zero and already below the 0.5 OOS floor — selecting the best of ~225 optimization trials on a signal this weak reliably deflates the Sharpe toward zero, exactly as the near-identical XRP basis-ignition microstructure sibling (base Sharpe 0.63) died at deflated_sharpe 0.0, and sizing changes scale return and drawdown together so cannot lift Sharpe.
Outcome Summary
A long-short, single-instrument swing strategy on ETHUSDT.BINANCE USD-M (4H bars) whose signal is order-flow divergence, not price: it builds a detrended cumulative volume delta from the taker buy/sell volume feed and fades exhaustion at extremes — going long when aggressive sellers hammer bids but price refuses to fall (absorption/accumulation) and short on the mirror buyer-exhaustion setup — held for days with an ATR trailing stop and time cap, and three parameters (flow window, minimum flow z, ATR stop multiple).
Outcome Summary
The backtest showed strong per-trade capture and risk control but a marginal edge: total_return 50.5% over 6 years, Sharpe 0.653 (CI low 0.0265, barely above zero), profit_factor 1.53, avg_trade_return_pct 1.21%, max_drawdown 8.66%, and genuinely market-neutral (beta 0.009) over 170 balanced trades held ~7 days. The return was modest and outlier-driven (kurtosis 18.5, a few +5-9% days carrying it, 2021-2022 negative), and information_ratio was -0.68.
Backtest and paper results are hypothetical. Trading involves risk of loss.