EthBtcRatioTrendNeutralPairLS
Hypotheses
ETH/BTC Ratio Trend-Following on the Direct Spot Cross Pair, Long-Flat (Single-Instrument ETHBTC.BINANCE_SPOT, Daily Bars, Ride Multi-Week Rotation Cycles Between the Two Majors, No Supplementary Data, 3-Parameter)
Hypotheses
A LONG-FLAT, single-instrument trend-following strategy that trades the ETH/BTC relative-strength cycle DIRECTLY via the native spot cross pair ETHBTC.BINANCE_SPOT, rather than as a two-leg basket. Instead of ranking a basket of 8 perps (the deployed cross-sectional rotation survivor) or fading deviations (the mean-reversion class that dies with inverted reward/risk), this simply owns ETHBTC when ETH is in a confirmed multi-week uptrend against BTC and sits in quote cash (BTC/USDT) otherwise. It fills the two structurally best-surviving buckets at once: BINANCE_SPOT (12.0% vs >=15% target, and the highest-survival venue) and no_supplementary_data (4% survival — the best of any tag family, vs 1-2% for funding/liquidation/OHLCV-basket ideas). It is deliberately LOW-PARAMETER (trend lookback, ROC threshold, ATR-stop multiple) to sidestep the overfit graveyard (233 deaths, the #1 cause), and LOW-FREQUENCY (a handful of trades/year, multi-week holds) so the 0.20% spot round-trip is a rounding error against the 8-20% swings the ETH/BTC ratio routinely produces during rotation regimes. Trading the direct cross pair (one fill per side) also halves the fee count versus synthesizing the ratio from two USDT legs, defusing the L12/L1 'each leg pays taker fee' death that kills spread constructions.
Hypotheses
Fixes the QA-breaking issue that the executed position did not capture the hypothesis's ETH-vs-BTC rotation edge. Previously the code traded a single outright leg (long ETHUSDT), whose PnL is ETH-vs-USD (full crypto beta) rather than ETH-vs-BTC, so the signal could be right while the position lost to BTC beta. The native cross ETHBTC.BINANCE_SPOT has 0 catalog bars and a spot CASH account cannot short BTC, so the only way to actually own the ratio is a dollar-neutral long-ETH / short-BTC pair, which requires a futures venue. I therefore override the venue from the hypothesis's BINANCE_SPOT to BINANCE futures (justified by the venue-selection rule: the strategy now goes short) and add the BTC hedge leg via the established _submit_entry/_submit_exit override pattern (no on_bar override). Each leg is sized to equal notional (leg_frac=0.40 of equity per leg, ~0.8x gross), leverage stays 1.0 (gross fits within 1x margin; futures is used for the short capability, not leverage), so no leverage-gate issue. The ratio-ROC trend signal, ATR trailing stop, and hysteresis exit that passed Layers 1-3 are preserved; the only additions are the hedge leg and symmetric long-short direction (which also roughly doubles trade frequency to address the one-winner measurability concern). Ratio synthesis uses the base's same-timeframe cross-leg alignment barrier so ETH and BTC closes are contemporaneous.
Hypotheses
No robust edge to optimize. profit_factor 1.10 (< 1.2 no-edge line), Sharpe 0.29 with CI [-0.34, 0.91] through zero, and the +53.7% headline is carried by ~6 outlier days (kurtosis 9.1) — removing them leaves a net loser, with 4 of 7 calendar years negative and a 40.9% drawdown. This is a price-only ratio trend-follower (OHLCV-derived momentum class, near-zero survival in the outcome store) whose 'edge' is tail-event luck, not a stable rotation signal. Tuning lookback/roc_threshold/atr_mult cannot create year-over-year consistency from a distribution whose profit lives in a handful of days — it would only overfit those spikes. Not worth 2 hours of optimization.
Implementation
Dollar-neutral ETH/BTC ratio trend follower on BINANCE futures, daily bars. Synthesizes the ETH/BTC ratio from ETHUSDT and BTCUSDT daily closes and computes its ROC over a trend lookback. When ETH is trending up vs BTC (ROC > threshold) it goes long ETH-perp and short BTC-perp of EQUAL notional (owning the ratio); when ETH is trending down vs BTC (ROC < -threshold) it does the inverse (short ETH / long BTC). Net PnL tracks the ETH/BTC relative-strength move with market beta hedged out. Exits the whole pair on a trend zero-cross or an ATR trailing stop on the ratio. Long-short so it captures rotation in both directions.
Verification Results
Verification failed (Layer 4 — QA review):
- The traded instrument does not capture the hypothesis's edge. The hypothesis is an ETH-vs-BTC relative-strength ROTATION that wants to OWN the ETH/BTC ratio (directly via ETHBTC.BINANCE_SPOT). The code synthesizes the ratio (ETHUSDT/BTCUSDT) for the SIGNAL but trades a single OUTRIGHT leg: long ETHUSDT / flat. A long-ETHUSDT position's PnL is ETH-vs-USD (full crypto beta), NOT ETH-vs-BTC — the signal can be right ('ETH outperforming BTC') while the position loses because BTC dragged ETH/USD down, and vice-versa. So the position does not monetize the rotation edge the signal identifies. Sandbox confirms directional-long behavior (beta 0.18, benchmark_correlation 0.39, max_drawdown 27.9%), not a neutral ratio trade. The hypothesis's core edge is absent from execution.
- Sub-measurability / single-trade dependence. Only 5 trades over 363 days, win_rate 0.2 = exactly ONE winner; the entire +1.2% total_return rests on it (avg_win $16,907 == largest_win). Sharpe 0.13 CI [-1.48, +1.63] straddles zero. By design (daily, multi-week holds, one name) it stays far below the ~100-trade measurability floor even over a multi-year run. A one-winner sample is noise, not an edge, and cannot be optimized.
- config.instrument_id is ETHUSDT.BINANCE_SPOT, not the hypothesized ETHBTC.BINANCE_SPOT (cross pair has 0 catalog bars). Documented, and long-flat/no-shorts respects the CASH venue, but this substitution is what breaks the ratio edge above.
Verification Results
No code change required; flagging so the analyst knows it contradicts the fee-halving premise.
Verification Results
The code has materially departed from the filed hypothesis's STRUCTURE (long-flat single-instrument native cross ETHBTC.BINANCE_SPOT, spot, fee-halving direct cross) and now trades a two-leg dollar-neutral long-short pair (ETHUSDT + BTCUSDT) on futures. This is NOT a mislink — the core ETH/BTC relative-strength edge is preserved and it's the sanctioned iteration-3 fix for the prior QA finding (outright leg didn't own the ratio). The native cross has 0 catalog bars and CASH can't short BTC, so a synthesized futures pair is defensible. But it reintroduces the two-leg double-fee structure the hypothesis was built to avoid.
Verification Results
Analyst decision at backtest_review; no code fix needed.
Verification Results
Realized edge is razor-thin: avg_trade_return_pct 0.20% sits exactly at the two-leg round-trip cost floor, PF 1.016, Sharpe 0.112 with CI [-1.61, +1.82] straddling zero, total_return 1.05% over 34 trades. Design-level fee test passes (3% entry threshold >> 0.20% cost), so this is a realized-performance shortfall for the analyst, not a design defect.
Backtest Review
Well-sampled (220 trades over 6.5 years) and avg_trade_return_pct 0.72% clears the futures fee floor — this is not a fee-fragility death
Backtest Review
Dollar-neutral construction works: beta 0.03, benchmark_correlation 0.10 — the iter-3 pivot did successfully hedge out market direction and now owns the ratio
Backtest Review
profit_factor 1.10 (below the 1.2 no-edge threshold), Sharpe 0.29 with 95% CI [-0.34, 0.91] straddling zero — no statistically distinguishable edge
Backtest Review
Return is outlier-dependent: ~6 tail days (+16.2/+21.7/+12.3/+11.0/+11.5/+20.0%) account for the bulk of gross PnL; kurtosis 9.1. Strip them and the strategy is a net loser
Backtest Review
4 of 7 years negative/flat (2021, 2023, 2024 all losing); rolling Sharpe reached -8 in 2024 — no consistent regime
Backtest Review
max_drawdown 40.9% (CI up to 71%) against only a 0.29 Sharpe — poor risk-adjusted profile
Backtest Review
Price-only ratio-ROC trend follower (the OHLCV-derived trend/momentum class with near-zero survival history); optimizing 3 params will curve-fit to the handful of outlier rotation days
Outcome Summary
This strategy set out to ride the ETH/BTC rotation cycle, and after earlier iterations revealed that trading a single outright leg captured crypto beta rather than the ratio, it pivoted to a dollar-neutral long-ETH / short-BTC perp pair on futures (a documented venue override, since a spot cash account cannot short BTC). The construction worked mechanically — beta was hedged to 0.03 and it clocked a healthy 0.72% per trade over 220 trades — but the backtest showed no distinguishable edge: profit factor 1.10, Sharpe 0.29 with a CI through zero, a 40.9% drawdown, and 4 of 7 years negative. At the pre-optimization review gate the analyst abandoned it, noting the +53.7% return was carried by about six outlier days and that optimizing the three parameters would merely overfit those spikes. It never reached optimization, analysis, or risk review.
Outcome Summary
A dollar-neutral construction can correctly isolate the intended relative-strength exposure yet still fail if the returns are tail-event luck rather than a stable signal — a price-only ratio trend-follower whose profit lives in a handful of days is not worth optimizing.
Outcome Summary
The analyst abandoned it at the pre-optimization backtest-review gate, judging there was no robust edge to optimize: the +53.7% headline was carried by ~6 outlier days (kurtosis 9.1) that, if stripped, leave a net loser, so tuning the three parameters would only curve-fit those spikes rather than create year-over-year consistency.
Outcome Summary
A trend-follower on the ETH/BTC relative-strength cycle that, after a pivot from the filed long-flat spot cross to a dollar-neutral long-ETH-perp / short-BTC-perp pair on BINANCE futures, goes long or short the ratio based on its ROC over a trend lookback, exiting on a trend zero-cross or ATR trailing stop.
Outcome Summary
Over 6.5 years and 220 well-sampled trades it returned +53.7% with avg_trade_return_pct 0.72% (clearing the futures fee floor) and successfully hedged market beta (beta 0.03, benchmark correlation 0.10), but had no statistical edge: profit factor 1.10, Sharpe 0.29 (CI [-0.34, 0.91] straddling zero), max drawdown 40.9%, and 4 of 7 calendar years negative.
Iteration History
EthBtcRatioTrendFollowingLongFlat
Iteration History
Verification failed (Layer 3 — sandbox backtest): `Instrument` ETHBTC.BINANCE_SPOT for the given data not found in the cache. Add the instrument through `add_instrument()` prior to adding related data.
Bar type used: ETHBTC.BINANCE_SPOT-1-DAY-LAST-EXTERNAL, Bars processed: 0
Ensure your strategy produces trades with the given data and parameters.
Backtest and paper results are hypothetical. Trading involves risk of loss.