EthBtcRatioPercentileMeanReversionPairsLS6H
Hypotheses
ETH/BTC Ratio Mean Reversion Long-Short Pairs (BINANCE USD-M Futures, 6H, OHLCV-Only Cross-Sectional)
Hypotheses
Dollar-neutral cross-asset pairs strategy that trades the ETH/BTC ratio's mean-reversion tendency. Both instruments traded on BINANCE USD-M futures (ETHUSDT and BTCUSDT) for matched fees, deep liquidity, and no data refill risk (both are the most heavily trafficked symbols in the catalog). When the ETH/BTC price ratio falls below the 15th percentile of its trailing 30-day distribution, simultaneously LONG ETH and SHORT an equal-dollar-notional of BTC — betting on ratio mean-reversion upward. Symmetric SHORT-ETH/LONG-BTC entry when ratio rises above the 85th percentile. Exits on ratio reverting to median, profit target, stop, or time. Fills four genuine portfolio gaps simultaneously: (1) pairs scope (currently 14.0%, useful diversifier from 78.5% single-instrument concentration), (2) long-short direction (currently 9.6% vs ≤55% long-only ceiling), (3) cross-sectional / spread mechanism class (effectively zero in current portfolio — all prior strategies are single-asset directional or funding/liquidation-driven), (4) market-neutral exposure that diversifies portfolio beta against overall crypto direction. Mechanism is structurally immune to the cross-asset analog failure mode that killed AVAX volume-breakout: this strategy IS the cross-asset relationship rather than cloning a single-asset signal onto a new symbol. Expected trade count: 30-50 round-trip cycles per year × 6 years of usable data ≈ 200-350 trades — comfortably above walk-forward sample-size floor.
Hypotheses
Iteration 2 fixes the Layer-3 zero-trades failure. Diagnosis: the strategy overrides on_bar without calling super(), so the FactoryStrategy base routing that dispatches extra-instrument bars to on_extra_bar was bypassed. NautilusTrader delivers ALL subscribed bars to on_bar, so the BTC extra bars fell into the ETH primary branch and were written to _eth_pending; _btc_pending never filled, the timestamp sync never completed, _synced stayed empty, and no pair entry could ever fire. (Layer 2 passed because its _StrategyProxy calls on_extra_bar directly.) Fix: at the top of on_bar, route extra (BTC) bars to on_extra_bar when bar.bar_type is in self._extra_bt_set — exactly the base class's own routing check. All sync/percentile/entry/exit/sizing logic is unchanged; imports are unchanged (no banned imports); Layers 1 and 2 remain green. With BTC bars now populating _btc_pending, the timestamp sync builds the ratio series and the percentile entries fire.
Hypotheses
Fundamentally no edge — optimization cannot help. The (now-trading) ETH/BTC ratio percentile mean-reversion loses money over the full sample: total_return -35.7%, CAGR -7.2%, Sharpe -0.60 (CI -1.37 to +0.15), profit_factor 0.92 (<1), expectancy -$36/trade across 1050 trades and ~6 years, negative in 5 of 7 years, max_drawdown 44% underwater ~2257 days. The signal carries no directional edge: avg_win $824 ~ avg_loss $830 at a 48% win rate is a symmetric coin flip that loses to fees (commission 4.33% of gross). This is a structural absence of edge, not a bug (iteration 2 already fixed the on_bar routing) and not a tunable-region problem: the ETH/BTC ratio TRENDS (multi-year ETH/BTC regimes) rather than mean-reverting to its 30-day median on a 6H percentile basis, so fading percentile extremes systematically loses — the same 'majors are a momentum, not a fade, regime' reality the hypothesis itself cited for BTC applies to the ratio. There is no profitable parameter region for a best-of-N sweep to find in a PF-0.92 coin flip, so it is not worth 2 optimization hours. Constructive reframe for the Research Lead (a new hypothesis, outside this gate): the OPPOSITE direction — ETH/BTC ratio momentum/breakout (trade WITH ratio extremes, not against) — is the more promising formulation, since a losing mean-reversion book is often the mirror of a viable trend book; the cross-sectional/pairs and market-neutral gaps remain worth filling with a trend-aligned spread signal.
Implementation
Dollar-neutral cross-asset pairs strategy on the ETH/BTC price ratio, both legs on BINANCE USD-M perpetual futures (ETHUSDT primary, BTCUSDT extra), 6H bars, pure OHLCV. Computes the ratio percentiles over a trailing 90-bar window; when the ratio falls to/below its 15th percentile it goes LONG ETH + SHORT equal-notional BTC (betting on upward reversion), and SHORT ETH + LONG BTC when it rises to/above the 85th percentile. Exits when the ratio reverts through the median, on combined side-aware PnL take-profit/stop, or a time stop. Market-neutral, leverage 1.0 (each leg ~20% of equity).
Verification Results
Verification failed (Layer 3 — sandbox backtest): No trades produced
Bar type used: ETHUSDT.BINANCE-6-HOUR-LAST-EXTERNAL, Bars processed: 9320
Diagnostics: should_enter() returned a side 0 times over 0 evaluated bars -> your ENTRY CONDITION never triggered. Loosen the entry logic / thresholds.
Ensure your strategy produces trades with the given data and parameters.
Backtest Review
Routing bug fixed: the pair now trades atomically (1050 trades, 525 long-ratio + 525 short-ratio), dollar-neutral, benchmark_meaningful=false correctly recognizes market-neutral construction
Backtest Review
Clean per-leg sizing (avg_position_pct 21%), fills genuine portfolio gaps (pairs, long-short, market-neutral) — but only if it had an edge
Backtest Review
Loses money: total_return -35.7%, CAGR -7.2%, Sharpe -0.60 (CI -1.37 to +0.15), Sortino -0.64, expectancy -$36/trade over ~6 years
Backtest Review
No edge in the signal: profit_factor 0.92 (<1), avg_win $824 ~ avg_loss $830 with 48% win rate — a symmetric coin flip that loses to fees; PSR 0.057
Backtest Review
Losing across regimes: negative in 5 of 7 years (2025 -18%, 2020 -12%, 2022 -10%); max_drawdown 44% with a ~2257-day underwater stretch
Backtest Review
Premise refuted: the ETH/BTC ratio trends rather than mean-reverting to its 30-day median on a 6H percentile basis, so fading percentile extremes systematically loses — no profitable parameter region to optimize toward
Outcome Summary
EthBtcRatioPercentileMeanReversionPairsLS6H was a dollar-neutral pairs strategy fading ETH/BTC ratio percentile extremes, designed to fill four genuine portfolio gaps at once (pairs, long-short, cross-sectional, and market-neutral beta) and to be structurally immune to the cross-asset-analog failure mode by being the relationship rather than a cloned single-asset signal. Iteration 2 fixed an on_bar routing bug so the pair finally traded atomically — 1,050 trades, dollar-neutral, correctly recognized as market-neutral — but the signal carried no edge: it lost 35.7% over ~6 years with profit factor 0.92, negative in 5 of 7 years, and avg wins essentially equal to avg losses at a sub-coin-flip win rate. The backtest-review gate abandoned it as a fundamental absence of edge rather than a bug or a tuning problem, concluding the ETH/BTC ratio trends instead of mean-reverting, so fading extremes systematically loses. The reviewer's constructive reframe for the Research Lead was the opposite direction — ratio momentum/breakout — as the more promising way to fill the still-open pairs and market-neutral gaps.
Outcome Summary
The 'majors are a momentum, not a fade, regime' reality extends to the ETH/BTC ratio itself — it trends across multi-year regimes rather than mean-reverting, so a percentile-fade pairs signal is a symmetric coin flip that loses to fees; the mirror formulation (ratio momentum/breakout, trading with extremes) is the more promising way to fill the pairs/market-neutral gaps.
Outcome Summary
The backtest-review gate abandoned it before optimization: it failed on Sharpe (-0.60), total return (-35.7%), profit factor (0.92), positive years (2 of 7) and per-trade expectancy (-$36) — a structural absence of edge, since the ETH/BTC ratio trends rather than mean-reverting to its 30-day median, so fading percentile extremes systematically loses to fees with no profitable parameter region to optimize toward.
Outcome Summary
A dollar-neutral, long-short cross-asset pairs strategy on BINANCE USD-M futures (6H bars, pure OHLCV) that traded ETH/BTC ratio mean-reversion — going long ETH / short BTC when the ratio fell below the 15th percentile of its trailing distribution and short ETH / long BTC above the 85th percentile, exiting on reversion to the median, target, stop, or time — to fill portfolio gaps in pairs, long-short direction, cross-sectional mechanism, and market-neutral beta.
Outcome Summary
After an iteration-2 routing fix it traded atomically (1,050 trades, 525 long-ratio / 525 short-ratio) with clean per-leg sizing, but lost money: total return -35.7%, CAGR -7.2%, Sharpe -0.60 (CI -1.37 to +0.15), profit factor 0.92, expectancy -$36/trade, with avg win ($824) ≈ avg loss ($830) at a 48% win rate and a 44% max drawdown.
Backtest and paper results are hypothetical. Trading involves risk of loss.