Skip to content
All strategies

Strategies

ARB–OP Layer-2 Twin Spread Convergence, Dollar-Neutral Cross-Venue Long/Short (ARBUSDT.OKX vs OPUSDT.BYBIT, 4H)

Outcome: Abandoned

ArbOpL2TwinSpreadConvergence

Outcome Summary

The hypothesis was that ARB and OP share enough common drivers for their log price ratio to revert after name-specific shocks, with a correlation gate to separate it from the failed BCH-LTC trade. After 1 iteration, the backtest on clean, fully aligned data had 169 spread trades, lost 35.3% with a Sharpe of -0.71, and lost in every year and every volatility regime. It traded about 56 spreads a year, roughly double the 15-30 the hypothesis predicted. Because the spread lost money even before costs and the signal showed no forecasting information, the analyst abandoned it at backtest review and optimization never ran.

Hypothesis

Market-neutral relative-value trade between Arbitrum (ARB) and Optimism (OP), the two largest Ethereum optimistic-rollup tokens. They share the same business (Ethereum L2 sequencer revenue), the same holder base, the same narrative catalysts (EIP-4844 blobs, L2 fee wars, ETH beta) and similar token-unlock overhangs, so common factors drive most of their log price ratio. Name-specific flow shocks push the ratio away from its recent mean, and these tend to partly retrace within days. Examples are an unlock dump on……Show moreShow less

Market-neutral relative-value trade between Arbitrum (ARB) and Optimism (OP), the two largest Ethereum optimistic-rollup tokens. They share the same business (Ethereum L2 sequencer revenue), the same holder base, the same narrative catalysts (EIP-4844 blobs, L2 fee wars, ETH beta) and similar token-unlock overhangs, so common factors drive most of their log price ratio. Name-specific flow shocks push the ratio away from its recent mean, and these tend to partly retrace within days. Examples are an unlock dump on one name, one-sided listing or airdrop rotation, and a liquidation cluster on one name. Primary leg: ARBUSDT.OKX (OKX USDT swap, history from 2023-03). Hedge leg: OPUSDT.BYBIT (Bybit linear perp, history from 2022-06). The strategy uses synchronized 4-HOUR bars and OHLCV only, with no supplementary feed. The engine charges funding where available, but funding is not a signal. Signal: s_t = ln(ARB_close) - beta * ln(OP_close), where beta is a rolling OLS hedge ratio over `lookback` bars, and z = (s_t - mean(s)) / std(s) over the same window. A stability gate allows trades only when the rolling correlation of 4H log returns over `lookback` bars is >= `min_corr`, meaning the twin relationship is intact. This gate separates the factory's surviving LTC–DOGE cross-venue spread from the failed BCH–LTC overreaction trade, which traded shocks without a stability condition. Venue choice: cross-venue scope is at 7.7% against a >=15% target, OKX and BYBIT are each at about 2.5-2.7% against >=5% targets, and long/short is at 18.7% (long-only is 81.3% against a 55% cap). Neither ARB on OKX nor OP on Bybit is concentrated in the corpus. Fills: orders are submitted at the signal bar's close, which is the 24/7 equivalent of a next-bar-open fill. Sizing: the ARB leg is `leg_notional_pct` (0.30) x equity x leverage (2.0), about 60% of equity. The OP leg is beta x the ARB notional, capped at 1.5x the ARB notional. Gross exposure is about 120% of equity at beta = 1, up to 150% at the cap. Only one spread position is held at a time, on netting accounts. Protective exits: a spread-level stop on |z| (evaluated on bar close) plus a time stop. Fee arithmetic: the ARB/OP ratio's daily realized volatility is roughly 2.5-3.5%. Entries at |z|>=2 on a ~10-day window correspond to ~5-8% ratio dislocations. Capturing half of that gives ~2.5-4% on the spread, or ~1.2-2% per leg-notional. Costs are ~0.10% RT on OKX and ~0.11% RT on Bybit per leg, plus ~0.05% impact, so the capture is more than 5x cost. Expected firing rate: 15-30 spread trades per year, about 45-90 over ~3.5 years of overlapping history.

Targets the most under-represented buckets: cross-venue (7.7% against >=15%), OKX and BYBIT (each under 3% against >=5%), and long/short (18.7%). It stays in the stability-gated spread-convergence family that produced the surviving LTC–DOGE Hyperliquid/Bybit strategy, but on a different pair and sector. It avoids fee_edge (multi-percent spread capture on 4H bars, ~20 trades a year) and the BCH–LTC failure mode (ungated shock reversal). It is OHLCV-only, per L189. The primary leg is ARBUSDT.OKX rather than OPUSDT.OKX because the catalog's OKX OP history only starts in 2026-09, while ARB on OKX and OP on Bybit both have multi-year 4H history.

Negative expectancy (code: no_edge/negative_expectancy, not fee_edge). The ARB(OKX)-OP(Bybit) 4H z-score spread lost on a reliable sample: 169 spread round trips at avg_trade_return_pct -0.458% vs the +0.15% floor, PF 0.889, Sharpe -0.71, drawdown 38.8%, and every calendar year and every vol regime negative. Summed price PnL is -$71.1k, against $21.4k commission and $29.1k impact, so the spread itself does not revert profitably; fees are not what kills it. Funding is credited and immaterial (+$481). The forecast IC is indistinguishable from noise (t=1.47). Optimizing lookback, entry_z and min_corr cannot lift a mechanism that loses before costs in every regime. QA's concern is borne out. Benchmark is not meaningful (market-neutral), so buy-and-hold comparison does not apply. The scope is this pair, these venues and the 4H horizon. The correlation gate did not separate this pair from the failed BCH-LTC overreaction trade. The LTC-DOGE survivor does not transfer to the L2 twins, which appear to trend relative to each other (persistent ARB/OP ratio drift) rather than mean-revert.

Implementation

Dollar-neutral cross-venue pairs trade on the ARB/OP Ethereum-L2 twin. Each synchronized 4H bar computes a rolling OLS hedge ratio beta of ln(ARB) on ln(OP) over `lookback` bars, the spread s = ln(ARB) - beta*ln(OP) and its z-score over the same window, plus the rolling correlation of 4H log returns. When corr >= min_corr and beta is in [0.5, 2.0], z <= -entry_z buys ARBUSDT.OKX and sells OPUSDT.BYBIT, and z >= +entry_z does the reverse. The ARB leg is 0.30 x equity x 2.0 leverage; the OP leg is min(beta, 1.5) x the ARB notional. Exits trigger when z comes back within exit_z (0.25) of the mean, when z diverges past stop_z (4.0), when combined two-leg PnL falls to -6% of the ARB entry notional, or after 60 bars. Each leg is its own order and position, and only one spread is held at a time.

Implements the hypothesis as written: OHLCV-only, synchronized 4H closes, rolling-OLS beta spread z-score, a correlation stability gate, and the plan's fixed exits and sizing. The tunables entry_z, lookback and min_corr keep their plan names. Choices the hypothesis left open: (1) beta_min/beta_max act as an entry gate on the rolling beta, not a clamp, so the spread definition is never altered. (2) spread_loss_stop_pct is applied to the combined mark-to-market PnL of both legs as a % of the ARB leg's entry……Show moreShow less

Implements the hypothesis as written: OHLCV-only, synchronized 4H closes, rolling-OLS beta spread z-score, a correlation stability gate, and the plan's fixed exits and sizing. The tunables entry_z, lookback and min_corr keep their plan names. Choices the hypothesis left open: (1) beta_min/beta_max act as an entry gate on the rolling beta, not a clamp, so the spread definition is never altered. (2) spread_loss_stop_pct is applied to the combined mark-to-market PnL of both legs as a % of the ARB leg's entry notional, checked on bar close. (3) 'Equity' for sizing is the primary (OKX) account's settled equity. Each venue is a separate $100K account, so gross is about 60-75% of combined capital. Alignment: the OP bar is used only when its ts_init equals the primary bar's ts_init. Both legs go through _submit_entry_instrument as separate orders, so the ledger books 2 entries per spread trade. Orphaned hedge legs are flattened on the next bar. Position state (held_side, entry_ts, entry_arb_notional) is kept in scalars, and the rolling buffer is rebuilt from the base bar buffers after a restart.

Verification Results

Recover entry_ts from the primary position's ts_opened and entry_arb_notional from avg_px_open*quantity when these scalars are zero and a position is open.

Per-position state is held only in instance scalars: held_side, entry_ts, entry_arb_notional, entry_beta. After a paper/live restart with spread legs open, entry_ts=0 makes held_bars 0, so the 60-bar time stop never fires. entry_arb_notional=0 also disables the 6% combined-PnL stop. Only the z-based exits survive. The backtest never restarts, so this does not affect research results.

No change is required.

The spread loss stop and the z-stop are evaluated on bar close (4H). The hypothesis explicitly specifies a close-evaluated spread stop, so this is faithful. Note that intrabar gaps on either leg can overshoot the 6% level.

Confirm that funding coverage for ARBUSDT.OKX and OPUSDT.BYBIT is attached in the full backtest. Otherwise, note in the analysis that funding is excluded.

The sandbox reports funding_folded=false with 0 funding events. The hypothesis says the engine charges funding where available, but none was charged on either the OKX or the Bybit leg. Backtest PnL therefore omits carry on a position that is net-funding-exposed whenever beta != 1.

The sandbox ran an unoptimized draw (lookback 60, entry_z 2.0, min_corr 0.65) over 1104 days. It closed 169 spreads (338 leg positions) at avg_trade_return_pct -0.46%, PF 0.89, Sharpe -0.72 and max DD 39%. That is about 56 spreads per year, roughly twice the 15-30 per year the hypothesis predicted. Each spread pays about 0.21% of leg notional per leg in commission+impact (21.4k commission plus 29.1k impact on 40.9M traded). The loss per spread is therefore much larger than costs: the dislocations are not reverting within 60 bars, rather than fees eating a real edge. Avg win 3361 vs avg loss 3740 with a ~50% win rate points the same way. Check first: (1) the exit-reason mix (time-stop vs stop_z vs the 6% loss stop vs convergence); (2) whether the rolling beta in [0.5, 2] is stable, since a 60-bar (10-day) OLS beta re-fit every bar can make z partly a beta-estimation artifact; (3) funding_folded=false and funding_events_available=0, so the reported PnL excludes OKX/Bybit funding on 60-150% gross exposure.

Backtest Review

Sharpe
-0.71
Total return
-35.31%
Max drawdown
38.78%
Trades
338
Win rate
49.7%
Profit factor
0.89

Implementation matches the hypothesis. The 338 legs pair into 169 spreads, each with opposite-side ARB/OP legs entered at the same timestamp, and the OP leg is sized at about beta x the ARB notional. This is a correctly built dollar-neutral spread.

Inputs are clean: 6746 aligned bars per leg, no missing or duplicate bars, accounting reconciles, nothing is open at the end (end_unrealized_pct 0) and funding is credited (net funding only +$481 over the run).

Negative expectancy on a reliable sample. There are 169 spread round trips, avg_trade_return_pct is -0.458% against a venue floor of +0.15% (OKX/Bybit costs about 0.10-0.11% round trip per leg), PF is 0.889 and Sharpe -0.71 (CI -1.86 to +0.49).

The loss comes from the price legs, not from costs. Summed price PnL is -$71.1k against $21.4k commission and $29.1k impact. Even if all of the commission and impact were added back, the spread trades would still be roughly break-even to negative. Dislocations at |z|>=2 are not reverting.

Every year loses (2023 -1.5%, 2024 -17.5%, 2025 -9.0%, 2026 -12.5%), as does every volatility regime (calm Sharpe -0.77, normal -1.04, stressed -0.40). The drawdown is 38.8% and the equity curve never makes a new high (drawdown duration 1095 days).

Exit mix: 47 spreads closed within 24h (-$24.5k), 121 closed in 1-10 days (-$42.9k) and only 1 hit the 60-bar time stop. Most exits are z-stop or loss-stop exits, or quick round trips, and they are net losers, not convergence wins.

The forecast diagnostic finds no information (IC 0.14, t=1.47, verdict rejected_no_information). The strategy fires at about 56 spreads/year, roughly twice the 15-30 the hypothesis predicted.

Outcome Summary

A rolling-correlation stability gate does not make a highly correlated pair mean-revert: the ARB/OP ratio drifted persistently, so the LTC-DOGE spread result did not carry over to the L2 twins.

At the backtest-review gate the analyst returned an 'abandon' verdict for negative expectancy (no edge, not a fee problem). Price PnL alone was -$71.1k, compared with $21.4k in commission and $29.1k in impact, and the forecast IC (0.14, t=1.47) could not be told apart from noise. Optimization and later stages were not reached.

A dollar-neutral 4H log-spread mean-reversion trade between ARB (OKX) and OP (Bybit). It entered when the rolling-OLS z-score reached |z|>=2, but only while the rolling return correlation stayed at or above min_corr, on the view that name-specific shocks to these Ethereum L2 twins partly retrace within days.

Over about 1,104 days (2023-04 to 2026-04) it made 169 spread round trips (338 legs) and returned -35.3% total. Sharpe was -0.71 (CI -1.86 to +0.49), profit factor 0.889, avg_trade_return_pct -0.458% and max drawdown 38.8%. Every calendar year and every volatility regime lost money.

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