SolEthRatioZScoreMeanReversionLongSolDaily
Hypotheses
SOL/ETH Ratio Z-Score Mean-Reversion Long-SOL with 200-SMA SOL Safety Filter
Hypotheses
A long-only MULTI-INSTRUMENT CROSS-ASSET MEAN-REVERSION strategy that trades SOLUSDT perpetual futures on Binance based on the SOL/ETH PRICE RATIO reaching statistical extremes. This is the SECOND multi-instrument strategy in the portfolio (companion to EthBtcRatioDailyEmaTrendLongEth) and provides the COMPLEMENTARY mechanism within the cross-asset class: ETH/BTC Ratio Trend captures slow multi-month alt-rotation regime shifts (trend-following); this SOL/ETH Z-Score Mean-Reversion captures FAST short-term statistical dislocations (contrarian). The two are mechanistically orthogonal: trend on slow ratio, mean-reversion on fast ratio. Together they cover both directions of cross-asset signal exploitation. The trigger: compute SOL/ETH ratio daily, then compute the 90-day rolling mean and std-dev of the ratio. When current ratio drops to -2σ or lower (SOL has UNDERPERFORMED ETH dramatically over the recent rolling window — a statistical extreme), enter long SOL expecting reversion to the mean. Exit when ratio returns to its 90-day mean OR stop or safety filter breaks. The mechanism is grounded in documented pairs-trading research (Gatev/Goetzmann/Rouwenhorst 'Pairs Trading' RFS 2006, Vidyamurthy 'Pairs Trading' 2004) applied to crypto's high-correlation altcoin pairs. SOL/ETH is chosen as the pair because (a) both are highly liquid top-5 crypto assets, (b) they have ~0.80-0.85 correlation but distinct cycle drivers — SOL has higher beta and more retail flow, ETH has institutional/staking flows — creating regular statistical dislocations, (c) SOL's higher volatility produces more frequent -2σ extremes than less-volatile pairs, improving trade density, (d) the SOL/ETH ratio has well-documented mean-reverting behavior over 30-90 day windows historically. SOL is the LONG-side instrument (since we believe SOL will catch up to ETH); ETH is read-only for ratio computation via extra_instruments. SOL safety filter (200-SMA on SOL itself) prevents going long SOL in its own structural bear regime, even if the SOL/ETH ratio is at extreme. Only 4 explicit parameters (lookback window, z-score threshold, safety SMA period, stop-loss pct) — minimum-parameter pairs-trading strategy.
Hypotheses
Implements the fast cross-asset mean-reversion companion to the slow ETH/BTC trend strategy: contrarian on a fast SOL/ETH ratio vs trend-following on a slow ratio. Because only SOL is traded (ETH is read-only for the ratio), the base template's normal single-leg entry/exit/sizing drive the position and no hedge-leg submission is needed -- simpler and less error-prone than a two-sided pair. ETH is configured as a SAME-daily-timeframe extra leg so the base's cross-leg alignment barrier defers primary processing until the contemporaneous ETH bar arrives; the SOL/ETH ratio is stored in a single synced buffer (one append per processed primary bar) so the 90-day rolling mean/std stay index-aligned, per the multi-instrument alignment rule. The 200-SMA SOL safety filter is both an entry gate and an exit trigger -- it refuses to buy a statistically cheap SOL while SOL itself is in a structural downtrend, the classic pairs-trading failure mode where the 'cheap' leg keeps falling. calculate_signal returns the continuous z-score in natural units (varies every bar) and the thresholds compare in matching z-units, never clipped, so the signal never freezes. Venue is BINANCE USD-M futures to match the hypothesis (its ~0.10% round-trip taker is cheaper than spot's ~0.20%); the strategy is long-only with no shorting and leverage left at 1.0 (no amplification used) so the leverage_set_but_unused gate does not trigger. Four core parameters (lookback, z_entry, safety_sma, stop_loss_pct) keep the overfitting surface minimal.
Hypotheses
The SOL/ETH ratio z-score mean-reversion strategy is degenerate and unvalidatable: only 2 trades over 5.7 years (bars_seen 1876, entry_signaled 2), exposure 8.1%, and the engine itself flags metrics_reliable=false -- the Sharpe 1.85, profit_factor 4.38 and win_rate 0.50 are pure noise from one win and one loss. The cause is a structurally self-defeating entry conjunction: it requires SOL/ETH z <= -2sigma (SOL has dramatically UNDERPERFORMED ETH) AND SOL > its own 200-SMA (SOL in an UPTREND), but those conditions rarely coincide -- when SOL is statistically cheap versus ETH it is usually also falling below its own 200-SMA -- so the safety filter vetoes almost every reversion signal, leaving 2 entries. This is not a tunable density miss; the two gates contradict each other by construction. Compounding it, the premise is the cross-asset ratio-mean-reversion mechanism whose sibling (ETH/BTC ratio z-score reversion) I abandoned twice this session for catastrophic, regime-independent losses (-91% return, negative in all 7 years) -- crypto majors' price RATIOS trend rather than mean-revert, so |z|>2 reversion entries fade persistent moves. SOL/ETH is the same idea on a higher-beta pair, and the hypothesis frames it as a companion within a cross-asset family that has NO proven, surviving member. Not optimize: 2 trades cannot support walk-forward (0-1 trades/window, empty holdout) and metrics_reliable is false -- there is nothing to tune. Not iterate: the only 'fix' (loosen z_entry or drop the safety filter for more trades) would merely expose more of a premise that already failed badly in the sibling; the iterate path requires a PROVEN sibling mechanism, and this one is abandoned, not proven. This is a price-ratio reversion call, unrelated to funding creditability. FAILURE PATTERN: cross-asset crypto price-RATIO mean-reversion (SOL/ETH, ETH/BTC z-score) has no edge because major-coin ratios trend rather than mean-revert; bolting a single-leg trend safety filter (SOL > 200-SMA) onto a -2sigma reversion trigger creates a self-contradictory entry that fires ~2 times in 5+ years (statistically cheap vs the pair AND uptrending on its own rarely coincide), producing a degenerate, unvalidatable sample. A 2-trade backtest with metrics_reliable=false on a premise whose siblings are abandoned should be abandoned, not optimized or densified.
Implementation
Long-only SOL/ETH ratio z-score mean-reversion on SOLUSDT.BINANCE USD-M futures, DAILY bars, with ETHUSDT read-only for the ratio. Computes ratio = SOL/ETH, a 90-day rolling z-score, and enters LONG SOL when z <= -2 (SOL has dramatically underperformed ETH) provided SOL is above its own 200-day SMA (safety regime). Exits when z reverts to >= 0 (the mean), when SOL falls below its 200-SMA (regime break), or on a 10% stop loss. The signal is the continuous z-score (varies every bar); the discrete entry/exit thresholds compare in z-units. Sized at 20% equity notional, leverage 1.0, never shorts.
Backtest Review
Code runs and trades as specified: ETH read-only ratio leg wired correctly, single synced ratio buffer, long-only SOL, 0 dropped entries; high nominal capacity ($12.6B)
Backtest Review
Degenerate sample: only 2 trades in 5.7 years (entry_signaled 2, exposure 8.1%), metrics_reliable=false -- Sharpe 1.85 / PF 4.38 / win_rate 0.50 are noise from 1 win and 1 loss
Backtest Review
Structurally self-defeating entry: z <= -2sigma (SOL underperforming ETH) AND SOL > 200-SMA (SOL uptrending) rarely coincide, so the safety filter vetoes nearly all reversion signals -> 2 entries
Backtest Review
Premise belongs to the already-abandoned cross-asset ratio-mean-reversion family: the ETH/BTC ratio z-score sibling failed catastrophically (-91% return, negative every year) because crypto majors' price ratios trend rather than mean-revert
Backtest Review
Cannot support optimization: 2 trades give 0-1 per walk-forward window and an empty holdout
Outcome Summary
This strategy was pitched as the mean-reversion companion to a cross-asset ratio family, buying SOL when it looked statistically cheap versus ETH while requiring SOL itself to be in an uptrend. The code ran correctly — ETH wired in read-only, single synced ratio buffer, none dropped — but the two entry gates contradict each other: SOL is rarely both cheap-vs-ETH and above its own 200-SMA, so the strategy fired just 2 times in 5.7 years and the engine flagged its metrics as unreliable. The analyst abandoned it before optimization: a 2-trade sample cannot support walk-forward or a holdout, loosening the gates would only expose more of a premise that already failed catastrophically in the ETH/BTC ratio-reversion sibling, and the cross-asset ratio-reversion family has no proven, surviving member to iterate toward.
Outcome Summary
Cross-asset crypto price-ratio mean-reversion has no edge because major-coin ratios trend rather than revert — and bolting a single-leg trend safety filter (SOL > 200-SMA) onto a -2σ reversion trigger creates a self-contradictory entry that fires ~2 times in five years; a 2-trade backtest with metrics_reliable=False on a premise whose siblings are already abandoned should be abandoned, not optimized or densified.
Outcome Summary
The analyst abandoned it at backtest review as degenerate and unvalidatable rather than a bug — the entry conjunction is self-contradictory by construction (z ≤ -2σ means SOL has badly underperformed ETH, which usually coincides with SOL falling below its own 200-SMA, so the safety filter vetoes nearly every reversion signal, leaving 2 entries), and the underlying premise belongs to the already-abandoned cross-asset ratio-reversion family whose ETH/BTC sibling lost catastrophically (-91%, negative every year) because major-coin ratios trend rather than mean-revert.
Outcome Summary
A long-only cross-asset mean-reversion strategy trading SOLUSDT daily perpetual futures (pure OHLCV, ETHUSDT read-only for the ratio) — computing the SOL/ETH ratio's 90-day rolling z-score and buying SOL when z ≤ -2σ (SOL dramatically cheap versus ETH), gated by a 200-SMA SOL safety filter (only buy if SOL is above its own 200-SMA), exiting on mean reversion (z ≥ 0), a regime break, or a 10% stop.
Outcome Summary
It produced only 2 trades over 5.7 years (entry_signaled 2, exposure 8.1%) with metrics_reliable=False — the reported Sharpe 1.85, profit factor 4.38, and 50% win rate are pure noise from one win and one loss, statistically meaningless.
Backtest and paper results are hypothetical. Trading involves risk of loss.