Skip to content

View translation

EthBtcRatioDollarNeutralPairsMR

Hypotheses

Dollar-Neutral ETH/BTC Ratio Mean-Reversion Pair (2-Leg BINANCE USD-M — Synthesize the ETH/BTC Price Ratio from ETHUSDT + BTCUSDT, Compute a Rolling Z-Score, LONG the Cheap Leg / SHORT the Rich Leg at Equal Notional When |z| Exceeds an Entry Band, Exit on Reversion to Mean, Hard Z-Stop on Regime Break; Wide Bands + 4h/1d Bars to Clear the ~0.20% Two-Leg Round-Trip Fee, 3-Parameter)

Hypotheses

Synthesize the ETH/BTC price ratio from two BINANCE USD-M legs (ETHUSDT, BTCUSDT) since no single ETH/BTC perp exists on the venue. Compute a rolling z-score of the ratio (deviation from a moving mean, so a persistent trend in the raw ratio does not blow up the signal). When |z| exceeds the entry band, enter dollar-neutral: LONG the cheap leg / SHORT the rich leg at equal notional (beta/crypto-market exposure stripped). Exit on reversion of |z| toward the mean; apply a hard z-stop to abandon on relationship regime-break rather than average down (the classic pairs-trade failure mode). FEE VIABILITY IS THE KEY CONSTRAINT: two legs cost ~0.20% round-trip (0.10% x 2) on USD-M taker, so entry bands are deliberately wide (~2.0 sigma) and the timeframe coarse (4h/1d) to ensure each captured reversion clears fees and nets > 0.15% per leg. Real catalog data (710 daily bars, Aug 2024-Jul 2026) confirms the z-score is bounded (-3.3 to +3.8), reverts reliably, spends ~11% of days beyond |z|>2, and pierces |z|>3.5 only once — a clean stationary spread. Parameters: lookback, entry_z, exit_z (plus z-stop). Data: OHLCV only for ETHUSDT + BTCUSDT USD-M, both top-liquidity and fully in catalog; no supplementary feeds required.

Hypotheses

IMPLEMENTATION: unchanged from iteration 2, deliberately. The Layer-4 feedback states it verbatim -- "Code is AST-identical to iteration 1. No code fix because no defect." The implementation is a faithful, correct rendering of the hypothesis: timestamp-aligned legs (no independent-trim desync), equal-notional dollar neutrality, z-stop before reversion exit, calendar-anchored time stop, hedge-notional guard against naked legs, leverage read from config in sizing. There is no bug to fix, so the only change this iteration is the module docstring, which now records the Layer-4 confirmation so the finding is not re-derived a fourth time. RECOMMENDED DISPOSITION -- ABANDON. The edge is falsified in BOTH directions, measured three times: (1) reversion -- all 24 parameter/timeframe cells negative by 3-15x the ~0.20% two-leg round trip, full history -1.154%/trade at PF 0.72, every multi-year sub-period negative, and the hypothesis's own cited Aug-2024..Jul-2026 window is the WORST tested (-2.216%/trade, PF 0.49) with its stationarity claims failing to reproduce; (2) a variance-ratio stationarity gate, the textbook rescue, leaves every variant negative; (3) the momentum mirror I floated at iteration 2 is retracted -- best-of-N over 18 cells gives max |t| = 1.13 against an expected max ~2.40 under pure noise, i.e. the best cell is WEAKER than chance, the same deflated-Sharpe signature that has killed prior strategies in this factory. Layer-4 independently agreed and instructed that no momentum follow-up be spawned; this rationale does not smuggle one in. The failure is structural rather than a threshold miss: win rate is ~56% and most trades do revert, but the minority that regime-break are far larger, so PF stays under 1 regardless of band width. Parameters are therefore left at the hypothesis's honest values (entry_z 2.0, exit_z 0.5, z_stop 3.5, lookback 30) and explicitly NOT tuned to the trailing-365-day sandbox window -- that is the single profitable window in all of history, so a sandbox pass here is a trap that would burn a full backtest plus 3-phase optimization before dying at walk-forward/holdout/PBO. Advancing this run is negative expected value; the ETH/BTC-cross seam at daily bars and ~2-sigma bands should be closed, not re-run inverted.

Hypotheses

Negative-expectancy dollar-neutral ETH/BTC ratio pairs mean-reversion — no edge to optimize. Over 208 trades: profit_factor 0.93, avg_trade_return_pct -0.153% (NEGATIVE), total_return -18.9%, expectancy -$87/trade, Sharpe -0.03 with CI [-0.78, 0.68] straddling zero, PSR 0.47; it loses in most years (2021 -6.5%, 2022 -13.8%, 2025 -19.1%) and in calm and stressed regimes. The failure is structural, not a threshold miss: win rate ~50% and most trades revert, but the minority that regime-break are far larger so PF stays below 1, and the z-stop bounds those losses without creating an edge. The developer's own docstring records a triple-confirmed falsification — all 24 parameter/timeframe cells negative by 3-15x the two-leg fee, every multi-year sub-period negative, the momentum mirror also noise (max |t| 1.13 vs expected 2.40), and Layer-4 QA independently agreed and recommended ABANDON. benchmark_meaningful is correctly false (market-neutral), so judged on absolute metrics all are negative. This is the L45 market-neutral pairs family (0/84) and the third ETH/BTC ratio pairs variant to die this batch — the synthetic cross at daily bars / ~2-sigma bands is not tradeable after the ~0.20% round trip. No parameter tuning flips a negative per-trade edge positive; the entire sweep is already dead. Failure pattern: no_edge market-neutral pairs mean-reversion (L45).

Implementation

Dollar-neutral 2-leg pairs trade on the synthetic ETH/BTC cross (ETHUSDT + BTCUSDT, Binance USD-M, 1-DAY bars). Signal is the rolling z-score of log(ETH/BTC) computed from a timestamp-synchronised two-leg buffer (SyncedBuffer), returned continuously every aligned bar and negated so its sign is the ETH leg's direction. At |z| >= entry_z it opens LONG-cheap/SHORT-rich at EQUAL USD notional per leg, stripping crypto beta. Exits, in priority order: z-stop (relationship regime-break, checked first, prevents averaging down), reversion to |z| <= exit_z, sign flip through the mean, and a calendar-derived time stop. Both legs are always opened and closed together, so a naked directional leg is never left on the book.

Verification Results

CLEAN RESTART 2026-09-04 — this run's verdict history and learning records were removed and it was restarted from verification. Its previous abandonment came from the pipeline, not from the market: the Layer-2 harness mis-bound @staticmethod helpers (fixed), QA issued terminal performance verdicts on an unoptimized smoke test (removed — QA now judges correctness only), and sandbox timeouts came from backtest-slot starvation (fixed). The hypothesis and the strategy code are unchanged. Verify the code on its merits; performance is decided later by the full backtest and the optimizer.

Verification Results

Negative, well-sampled edge (206 trades, PF 0.92, avg_trade_return_pct -0.216% below the ~0.20% two-leg fee) with a structural cause (few large regime-break losses dominate many small reversions), falsified across 24 cells and the momentum mirror. Faithful implementation → a mechanism/edge finding for the analyst. Abandon; don't optimize; don't invert to momentum on this cross.

Backtest Review

Correct, restart-proof, timestamp-aligned dollar-neutral 2-leg implementation (no code defect); 208 trades — adequate sample

Backtest Review

Dollar-neutral construction bounds beta; commission only 1.97% of gross (not a turnover artifact)

Backtest Review

Negative expectancy: profit_factor 0.93, avg_trade_return_pct -0.153%, total_return -18.9%, expectancy -$87/trade, Sharpe -0.03 (CI [-0.78,0.68] straddles zero)

Backtest Review

Loses in most years (2021 -6.5%, 2022 -13.8%, 2025 -19.1%) and in calm/stressed regimes

Backtest Review

Structural failure: regime-break losses exceed the many small reversions, so PF<1 regardless of band — developer measured all 24 cells negative by 3-15x fee, momentum mirror also noise, Layer-4 QA agreed

Backtest Review

L45 market-neutral pairs family (0/84); third ETH/BTC ratio pairs variant to die this batch

Iteration History

Verification failed (Layer 4 — QA review): - The code faithfully implements the hypothesis's mean-reversion edge, but that edge is empirically FALSIFIED over the measurable span. Per the developer's own pre-implementation testing with real 2-leg fees (~0.20% round-trip), all 24 parameter/timeframe cells are negative — by 3-15x the fee: full 2020-2026 history is -1.154% net/trade at PF 0.72, every multi-year sub-period negative. The mirror-image MOMENTUM direction is positive in 4/5 windows (+0.754%, PF 1.24) — the synthetic ETH/BTC cross TRENDS, it does not revert, so the strategy's directional logic is opposite to what the data supports. Not a code bug; an absent/inverted core edge. - The Layer-3 sandbox pass (+0.465%/trade, PF 1.10, 30 trades) is an overfit-to-window artifact: the trailing-365-day sandbox window is the SINGLE profitable window across all history; every other multi-year window is negative. The hypothesis's own evidence does not reproduce — its claimed Aug 2024-Jul 2026 window is the WORST tested (-2.216%/trade, PF 0.49), and its z-bounds/pierce-count claims are contradicted. A pass would advance a strategy near-certain to fail walk-forward and holdout after a full optimization run.

Iteration History

Verification failed (Layer 4 — QA review): - Mean-reversion edge falsified (reconfirmed from iteration 1): all 24 cells negative by 3–15× fee, full history −1.154%/trade PF 0.72, cited window worst tested. Code is AST-identical to iteration 1. No code fix because no defect. - Sandbox pass is the single profitable trailing-365-day window; advancing burns a full backtest + optimization before dying at walk-forward/holdout/PBO. - Correction to my iteration-1 review: the momentum mirror I endorsed is ALSO noise (max |t|=1.13 < expected 2.40). Both directions untradeable. Do not spawn a momentum follow-up.

Iteration History

Verification failed (Layer 4 — QA review): - Reconfirmed 3rd time: mean-reversion edge falsified (all 24 cells negative by 3–15× fee, structural PF<1), stationarity gate doesn't rescue, momentum mirror also noise. Executable logic unchanged from iterations 1–3. No code fix because no defect. - Sandbox pass is the single-profitable-window artifact; leverage 2.0→1.0 only halves exposure, per-trade edge byte-identical at 0.465% and doomed everywhere else. Advancing burns backtest+optimization before dying at WF/holdout/PBO. - Process note: 4th QA pass of AST-unchanged, thrice-abandonment-recommended strategy. Escalate to pipeline-level ABANDON; a fifth review reaches the identical verdict.
Strategy report

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