Skip to content

View translation

SolEthRelativeStrengthTrendDollarNeutralLS

Hypotheses

SOL/ETH Relative-Strength Trend, Dollar-Neutral Long-Short (SOLUSDT.BINANCE long-leg + ETHUSDT.BINANCE short-leg USD-M, Dual-Timeframe Momentum Confluence Applied to the RATIO, 4H Primary + 1D Confirm, ATR-Trailing Exit, 3-Parameter)

Hypotheses

Iteration-2 fix for the backtest gate. The gate flagged the metrics as incoherent (mtm-curve Sharpe +0.59 vs equity-curve total_return -27.40%) and said to judge on the equity curve — i.e. the strategy really lost ~27%. That mtm/realized split is the signature of transaction-cost drag on a two-leg book: every position change pays taker fees on FOUR fills (~0.2% of per-leg notional), and iteration 1 both entered and exited on a bare sign test of the volatility-scaled spread, so every jitter across zero forced a full round trip (~0.08% of equity each at ~0.4x equity per leg — enough to produce the observed loss while the marked path drifts up). Smallest change that addresses it, leaving signal construction, sizing, hedging and all previously-passing layers untouched: a dead band. Entries now require |spread| > entry_threshold (0.6 vol-scaled units) instead of a bare sign; the fast-read exit fires only when side*signal < -exit_band_frac*entry_threshold instead of at the zero crossing. Trailing-stop and daily-regime exits are unchanged, so real reversals are still cut. max_notional_frac trimmed 0.35 → 0.30 to shrink the per-flip fee footprint and gross exposure. entry_threshold is exposed as a tunable with declared _param_bounds matching the in-code clamp; typical |spread| on this ratio runs 1–3, so 0.6 still fires regularly and sandbox trade count stays well above zero. No imports or class structure changed.

Hypotheses

Cost-fragile, no deployable edge on a decisive 1612-trade / 6-year sample. profit_factor 1.0108 sits in the fee/impact-drag band [0.85,1.10] (L18) — the gross edge is real but sits inside costs. Here the dominant cost is market IMPACT, not commission: impact_cost_pct 66.78% consumes two-thirds of gross PnL and capacity_usd is only ~$224k, so the apparent 0.26% per-trade return survives only at toy scale and vanishes at any meaningful size (QA's edge concern borne out, and worse than the sandbox 55.4%). Sharpe 0.533 with CI [-0.249, 1.265] straddling zero, max_drawdown 50.4%, recovery_factor 0.65, and the book LOSES badly in the calm regime (-61.2% return / 74.1% DD) while deteriorating in recent years (2025 -17.4%, 2026 -26.1%). This is the dollar-neutral major-perp long-short class (L45, multi_instrument 0/84) whose PF~1.0/large-DD signature dies overfit or no-edge after optimization — tuning 3 parameters cannot lift an edge that is already smothered by impact. Not worth 2 hours of compute. abandon_class = negative_expectancy.

Implementation

Dollar-neutral SOL/ETH relative-strength trend on Binance USD-M perps. Signal is dual-timeframe momentum confluence applied to the log price RATIO ln(SOL/ETH): a fast 4H volatility-scaled EMA spread must agree in sign with a calendar-daily ratio momentum read (daily_lookback days), otherwise flat. Long SOL / short ETH on positive confluence, the reverse on negative, with both legs sized to the SAME USD notional so the book carries ~zero net dollar delta. Exits: ATR-style trailing stop on the ratio (trail_atr_mult x entry vol of give-back from the best ratio reached), a daily-trend flip, or a hysteretic reversal of the 4H spread past a dead band. Per-leg notional is risk-first (trailing-stop distance risks ~1.8% of equity) and capped at max_notional_frac x equity x leverage.

Verification Results

Reconcile the hypothesis's parameter count with the code, or update the hypothesis/title to reflect the 4th tunable added during iteration.

Verification Results

Hypothesis title states a '3-Parameter' design, but the code exposes 4 tunables with declared _param_bounds (ema_ratio, daily_lookback, trail_atr_mult, entry_threshold). This is the documented iteration-2 dead-band fix (entry_threshold promoted to a tunable to curb zero-crossing churn), not a structural change to the edge: the dual-timeframe ratio confluence, calendar-daily confirm, and ATR trailing exit named by the hypothesis are all present and correct. Non-blocking; noting the count drift for the record.

Verification Results

High-turnover two-leg book: sandbox shows turnover 628, impact_cost_pct 55.4% (impact consumes over half of gross PnL) and capacity_usd only ~$325k, on 1612 trades. avg_trade_return_pct 0.26% clears the fee floor and commission_pct_of_gross is only 5.0%, but the modeled market-impact drag is the dominant cost and would compress the edge sharply at any meaningful size. Regime split is also uneven (calm tercile -61.2% return / 74% DD vs normal +68%). This is a smoke test on unoptimized params over a truncated window, so it does not block — but the analyst should verify at full history that the relative-strength edge survives realistic impact/turnover, and consider whether the entry dead band / turnover needs further widening.

Backtest Review

Reliable, decisive sample: 1612 trades over a 6-year / 2183-day full history, balanced long/short (806 each), so this is a fair test of the mechanism, not a thin one.

Backtest Review

Trades implement the hypothesis — dollar-neutral two-leg SOL/ETH ratio book with the dead-band churn fix; commission is only 5.04% of gross, so the developer's zero-crossing-churn concern was genuinely addressed.

Backtest Review

avg_trade_return_pct 0.26% nominally clears the Binance USD-M 0.15% fee floor.

Backtest Review

profit_factor 1.0108 sits squarely in the fee/cost-fragility band [0.85,1.10] (L18) — the gross edge is statistically real but sits almost entirely inside costs. Sharpe 0.533 with CI [-0.249, 1.265] straddling zero.

Backtest Review

Impact, not commission, is the killer: impact_cost_pct 66.78% (worse than the sandbox 55.4% QA flagged) — modeled market impact consumes two-thirds of gross PnL, and capacity_usd is only ~$224k, i.e. the 'edge' exists only at toy scale and evaporates at any deployable size. QA's edge concern is borne out on full history.

Backtest Review

Regime split is badly uneven and adverse: calm tercile -61.15% return / 74.1% max DD, normal +68%, stressed +24.5% — the book bleeds in exactly the low-vol regime where a relative-strength trend should be cheapest to hold.

Backtest Review

Overall max_drawdown 50.4%, recovery_factor 0.65, max_drawdown_duration 790 days, and the edge is deteriorating: annual returns 2025 -17.4%, 2026 -26.1%.

Backtest Review

Class prior: dollar-neutral / market-neutral long-short major-perp baskets are 0/84 (L45); a PF ~1.0 book carried by leverage/vol-targeting with a 50% DD is the exact signature that dies overfit or no-edge after the 3-phase run.

Analysis

Backtest gate: - metrics unreliable: Incoherent: Sharpe 0.59 disagrees in sign with total_return -27.40% — the Sharpe is computed from the mtm_equity_curve series while the return comes from the equity curve. Judge on the equity curve.

Outcome Summary

SolEthRelativeStrengthTrendDollarNeu-a7d4db4dd5

Outcome Summary

Clearing the per-trade fee floor isn't enough when market impact dominates and caps capacity at toy scale.

Outcome Summary

Abandoned at the pre-optimization backtest-review gate — edge sat inside costs, dominated by market impact, deployable only at toy scale.

Outcome Summary

A dollar-neutral SOL/ETH long-short on Binance USD-M trading the SOL/ETH price ratio with dual-timeframe momentum confluence and an ATR-trailing exit, to harvest relative-strength trend while stripping out common crypto beta.

Outcome Summary

6-year backtest: 1612 trades (806 long / 806 short), 46.7% win rate, total return 64.4%, Sharpe 0.533 (CI [-0.249, 1.265]), PF 1.0108, max DD 50.4%; avg per-trade return 0.26% of notional but impact cost 66.78% of gross and capacity only ~$224k.
Strategy report

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