EthSolCointegrationSpreadMeanReversionLS
Hypotheses
ETH–SOL Cointegration Stat-Arb — Market-Neutral Spread Mean-Reversion on LARGE Residual Deviations, Strict Equal-Risk Notional Cap (ETHUSDT.BINANCE + SOLUSDT.BINANCE USD-M, 3-Parameter)
Hypotheses
A MARKET-NEUTRAL statistical-arbitrage pair on two highly-correlated large L1 majors, ETH and SOL, trading the MEAN-REVERSION of their cointegration RESIDUAL — a different family from everything that has been colliding and dying (momentum-confluence ports, regime-gated momentum, single-name fades, carry). ETH and SOL co-move strongly (rolling correlation typically ~0.75-0.85) because they share the smart-contract-L1 beta, but their RELATIVE valuation oscillates around a slowly-moving equilibrium as capital rotates between them. When the residual (SOL priced relative to its ETH-implied fair value via a rolling hedge ratio) stretches to a LARGE z-score, it reverts. This is explicitly built to clear the two hard filters that killed prior pairs: (1) L53 fee floor — entries fire only on LARGE residual deviations whose expected reversion (~3-5% of notional) is well above 3× the ~0.40% two-leg round-trip cost, stated up front, not the sub-fee fades that died; (2) the liquidation/notional bug that blew up the SOL-BTC pair (3.6× equity notional → -100%) is prevented by a HARD equal-RISK, ≤1× gross notional cap enforced in sizing, so neither leg can run oversized and neither perp leg can be margin-called. It is NOT the ETH/BTC ratio (momentum, decayed) nor SOL/BTC (idiosyncratic MR, blew up on sizing) — it is a distinct ETH-vs-SOL cointegration residual. Market-neutral (net beta ≈ 0), which gives it genuine alpha potential decorrelated from the BTC momentum survivor and fills the under-weight long-short/neutral direction bucket, AND — critically for the recent anti-momentum regime — a relative-value reversion edge does not depend on a directional trend existing. Three parameters: residual lookback/hedge-ratio window, entry z-threshold, stop z-threshold.
Hypotheses
Built exactly as specified — rolling-hedge-ratio cointegration residual, large-deviation entries, three decision parameters (lookback, entry_z, stop_z), single-account two-leg spread with a hard gross cap — and the two structural bugs the hypothesis targets are genuinely closed: gross notional is capped by construction rather than by hope, and both legs share one margin account. But I have to report that the measured edge is not there, and the test is implementation-independent. Conditional forward-spread returns on 4H data (12,911 aligned bars, 2020-09 to 2026-08): after z >= +2 (SOL rich, the fade-short setup) the spread's mean forward return is +0.79% over 1 day, +2.72% over 15 days — the residual CONTINUES to widen rather than reverting; after z <= -2 it is +0.16% then +5.60%, which is reversion but is the same secular drift, not a symmetric edge. The reason is that ETH-SOL is not cointegrated over this sample: SOL re-rated roughly 100x while ETH did ~5x, so the 'equilibrium' the residual is measured against is itself trending, and rolling-window beta just chases it. The backtest agrees — across a 73-cell grid (lookback 240/480/720 x entry 2.0/2.5/3.0 x stop 3.5/5.0/8.0 x max-hold none/60/120) ZERO cells are positive on the full sample; the shipped cell is 46 trades, average -0.70% of gross notional per trade, Sharpe -0.34, 0.58x. The only positive window is 2023-onward (Sharpe ~+1.0, average +2.7%/trade), and that is the long-SOL side of the book being paid by SOL's recovery, i.e. a directional SOL-vs-ETH bet rather than the neutral reversion edge claimed. My one-sentence view, as coder: the residual on this pair mean-reverts on the cheap side only and continues on the rich side, so a long-SOL-only version of this filter is the variant the data supports — but that is a different hypothesis and the Research Lead and Analyst own that call. I shipped the honest middle of the grid (not the one recent-window-flattering corner), set gross_cap to 0.6 rather than the full 1.0 allowed because at 1.0 the full-sample drawdown is 77%, and it produces ~8 trades in a 365-day window so it will verify cleanly and can be judged on its real numbers at backtest review rather than consuming optimization budget.
Hypotheses
Net-losing cointegration pair, killed by de-cointegration. The two engineered fixes genuinely worked — the hard gross cap prevented the liquidation that destroyed the SOL-BTC pair (max_drawdown 71.7% but no -100%), and entries fired on large deviations — but they revealed the pair has no edge: total_return -57.3%, profit_factor 0.71 (<1.0), avg_trade_return_pct -1.95% (negative), Sharpe -0.44, expectancy -336 over 134 trades. The fatal flaw is structural, not a parameter: in 2021 (-39.8%; single days -32.4%, -17.4%) SOL's explosive price-discovery ($2->$250) made the ETH-SOL residual non-stationary, so shorting rich SOL / longing ETH was steamrolled — the mean-reversion premise assumed a stable equilibrium that did not exist. Even the stabilized post-2021 regime shows no genuine edge (~+9% over 2.6 years on 25% exposure, recent rolling Sharpe ~0-0.5, ~40-trade sample), so a cointegration/stationarity gate would at best bound the losses, not reveal a positive edge to tune toward. Optimization cannot fix de-cointegration, and the mean-reversion pairs family has no survivor here (ETH/BTC ratio decayed, SOL-BTC blew up). benchmark_meaningful is false so judged on absolute metrics, which are decisively net-losing with a 72% drawdown. Abandon rather than spend the optimization budget.
Implementation
Market-neutral ETH-SOL statistical arbitrage on Binance USD-M 4-HOUR bars. Each bar the log prices of the two perps are regressed over a rolling 480-bar (80-day) window (SOL on ETH) to give a hedge ratio beta and the cointegration residual; the residual divided by its own rolling standard deviation is returned as the continuous signal. When SOL is rich versus its ETH-implied value (z >= +2) the book goes SHORT SOL / LONG beta-scaled ETH; when SOL is cheap (z <= -2) it goes LONG SOL / SHORT beta-scaled ETH. Positions close when the residual converges (|z| <= 0.4), on a divergence stop (|z| >= 5), on a flip to the opposite extreme, or after 90 bars (15 days). Sizing is a HARD gross cap and is the structural point of the design: the SOL leg is equity x gross_cap / (1 + beta) and the ETH leg is beta times that, so combined notional can never exceed gross_cap (0.6) times equity however large the hedge ratio becomes (beta is separately clamped to [0.2, 3.0]) — at leverage 1 neither leg can be margin-called by a hedge-ratio blowout, the failure that took the earlier SOL-BTC pair to -100% at 3.6x equity notional. Both legs sit on the same venue and account, so there is no cross-account margin split, and the synced log-price series is committed only when both instruments have a bar at the same timestamp and stored as one list of pairs, so the legs cannot drift out of alignment.
Verification Results
Premise falsified by developer's own measurement: ETH-SOL not cointegrated (SOL ~100× vs ETH ~5×), residual CONTINUES on the rich side, all 73 grid cells negative full-sample. Marginal sandbox is the directional long-SOL side. Research-Lead/Analyst abandon-or-iterate call.
Verification Results
Sandbox +1.68% but Sharpe 0.167 with CI straddling zero, 18 trades, avg_trade_return_pct 0.437% barely above the 0.40% two-leg cost. Marginal, contradicted by negative full-sample.
Backtest Review
The two engineered fixes worked: the hard gross cap prevented the liquidation that blew up the SOL-BTC pair (no -100%), and entries fired only on large deviations
Backtest Review
Genuinely market-neutral (beta -0.026); both legs on one account (no cross-margin split)
Backtest Review
Net-losing: total_return -57.3%, avg_trade_return_pct -1.95%, profit_factor 0.71 (< 1.0), Sharpe -0.44, expectancy -336 over 134 trades
Backtest Review
Structural de-cointegration: 2021 -39.8% (single days -32.4%, -17.4%) as SOL's price-discovery ($2->$250) made the ETH-SOL residual non-stationary — the mean-reversion premise assumes an equilibrium that didn't exist
Backtest Review
max_drawdown 71.7% (CI to 88.1%); return_skew -3.17, kurtosis 44.8 (fat left tail)
Backtest Review
No genuine edge even post-2021: ~+9% over 2.6 years on 25% exposure, recent rolling_sharpe ~0-0.5, ~40-trade sample
Backtest Review
Mean-reversion pairs family with no survivor here (ETH/BTC ratio decayed, SOL-BTC blew up)
Outcome Summary
EthSolCointegrationSpreadMeanReversionLS traded the mean-reversion of the ETH-SOL cointegration residual, engineered specifically to clear the two filters that had killed prior pairs — large-deviation entries above the fee floor and a hard ≤1x notional cap to prevent the SOL-BTC pair's liquidation. Both fixes genuinely worked (market-neutral, no -100% blow-up), but they only revealed the pair has no edge: total return -57.3%, PF 0.71, avg trade -1.95%, and a 71.7% drawdown. The fatal flaw was structural — SOL's 2021 price discovery from $2 to $250 made the residual non-stationary, so the equilibrium the reversion premise required never existed, and even the calmer post-2021 regime showed no genuine edge. The analyst abandoned it at backtest review, noting optimization cannot fix de-cointegration and the mean-reversion pairs family has no survivor; it never reached optimization, analysis, or risk review.
Outcome Summary
A cointegration pair trade lives or dies on the residual actually being stationary — when one leg undergoes explosive price discovery the equilibrium the whole strategy assumes ceases to exist, and no gross-notional cap or z-threshold can rescue a spread that has de-cointegrated; the sizing fix prevented the blow-up but only exposed the absent edge.
Outcome Summary
The analyst abandoned it at backtest review on a structural de-cointegration failure: in 2021 SOL's explosive price discovery ($2→$250) made the ETH-SOL residual non-stationary, so fading rich SOL against ETH got steamrolled — the mean-reversion premise assumed a stable equilibrium that did not exist. This is not a tunable parameter (a stationarity gate would at best bound losses, not reveal an edge), and the mean-reversion pairs family has no survivor here.
Outcome Summary
A market-neutral statistical-arbitrage pair (3 parameters) on ETH and SOL USD-M perps that traded mean-reversion of their cointegration residual — regressing log-SOL on log-ETH over a rolling window, shorting SOL/longing beta-scaled ETH when the residual z-score stretched large and reversing when cheap, with a hard equal-risk ≤1x gross notional cap to prevent the liquidation that had blown up a prior pair.
Outcome Summary
The backtest (ETH + SOL 4H, 2409 data days) was net-losing: total return -57.3%, avg_trade_return_pct -1.95%, profit factor 0.71, Sharpe -0.44, expectancy -336 over 134 trades, with max drawdown 71.7% (CI to 88.1%), skew -3.17, kurtosis 44.8. The engineered fixes did work — it stayed genuinely market-neutral (beta -0.026) and avoided liquidation (no -100%) — but 2021 alone lost -39.8% and even the post-2021 regime showed no real edge (~+9% over 2.6 years on 25% exposure).
Backtest and paper results are hypothetical. Trading involves risk of loss.