Skip to content

View original

SuiAptMoveVmPairsSpreadMR1H

Hypotheses

SUI-APT Move-VM L1 Pairs Spread Mean Reversion

Hypotheses

A market-neutral pairs trading strategy on two highly-correlated Move-language Layer-1 perpetual futures: SUIUSDT and APTUSDT on Binance USD-M. Both chains are built on the Move VM (originally from Meta's Diem project), have similar narratives (modern alt-L1, parallel execution), launched within 12 months of each other (APT Oct 2022, SUI May 2023), and share the same investor/VC base. Their realized correlation typically sits in the 0.75-0.90 range, but the price ratio SUI/APT exhibits regime-stable mean reversion driven by sector-rotation flows and narrative shifts. The strategy maintains dollar-neutral exposure (long one leg, short the other in equal dollar amounts), so it isolates the spread and is immune to broad crypto market direction. Uses 1H bars to ensure sufficient trade count (avoiding the 4H sparsity problem that doomed the SOL Keltner strategy). The successful ADA-DOT, ETH-BTC, and LINK-UNI pairs precedents demonstrate this design pattern works on Binance perps with the existing infrastructure.

Hypotheses

Implements the hypothesis with the proven pairs infrastructure used by the ADA-DOT / ETH-BTC precedents. The spread is the log price ratio log(SUI/APT) (matching the hypothesis's 'price ratio mean reversion'), z-scored over a 7-day rolling window; entry/exit thresholds are in z units. Sizing is equal-dollar per leg (dollar-neutral) exactly as specified, isolating the spread. Timestamp alignment uses the SyncedBuffer helper so the ratio never mixes mismatched timestamps, and I deliberately did NOT override on_bar (the coder rules forbid it): APT is recorded in on_extra_bar, SUI + evaluation run in calculate_signal, which the base class only fires once its cross-leg alignment barrier confirms APT's contemporaneous same-hour bar is in — so there is no stale-leg phantom basis (critical for a same-timeframe pair). 1H bars give ample trade count, avoiding the 4H-sparsity problem the hypothesis cites. Short legs require a margin venue so it routes to BINANCE USD-M futures; gross ~60% (2x30%) fits within 1x equity so leverage stays 1.0 (dollar-neutral, no amplification). calculate_signal returns a continuous tanh(log-return) monitor so Layer-2 frozen-signal detection passes while all trade logic lives in _evaluate. The 3%-equity hard stop plus max-hold time stop bound risk if the pair structurally decouples; entry_z=2 / exit_z=0.5 gives a ratio swing far exceeding the ~0.2% two-leg round-trip cost. SUIUSDT and APTUSDT are both liquid, currently-listed Binance USD-M perps with multi-year 1H history, avoiding data_unavailable; per-leg size precision is read from the instrument so orders quantize correctly.

Hypotheses

Net-losing dollar-neutral pairs spread whose mean-reversion premise has broken down — not optimizable. profit_factor 0.91, total_return -50.4%, Sharpe -0.12 (CI [-1.01, 0.70]), expectancy -$87/trade, avg_trade_return_pct -0.063% (negative, below fees). The SUI/APT log-ratio has de-cointegrated: yearly returns decay monotonically (2023 +12.8%, 2024 -16.3%, 2025 -18.9%, 2026 -35.1%) with rolling Sharpe falling from +7.6 to -6.5, and max_drawdown is 63.8% (CI to 97.6%), past the 50% hard-abandon line (L19). Only the first (near-in-sample) year was positive; the spread now trends rather than reverts, so the last-20% holdout sits in the worst regime and tuning entry/exit z cannot conjure reversion that no longer exists. Market-neutral pairs zero-survivor pattern (L45). Failure pattern: no_edge / de-cointegrated pairs spread.

Implementation

Market-neutral pairs trade on two Move-VM Layer-1 perpetuals, SUIUSDT (primary) and APTUSDT (secondary), Binance USD-M, 1-HOUR bars, pure OHLCV. Each aligned 1H bar z-scores the log price ratio log(SUI/APT) over a 168-bar (~7-day) rolling window. When z > +2 (SUI rich vs APT) it SHORTS SUI + LONGS APT; when z < -2 (SUI cheap) it LONGS SUI + SHORTS APT, with equal dollar notional per leg so the book is dollar-neutral and immune to broad crypto direction. It exits when |z| < 0.5 (reversion), after 72 bars (~3 days), or on a 3%-of-equity hard stop on combined unrealized PnL. 30% notional per leg, leverage 1.0.

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

Confirm SUI leg working (orders_open/positions_open) before submitting APT; skip APT if SUI failed.

Verification Results

Leg entry is non-atomic: SUI via base _submit_entry then APT via _submit_entry_instrument in one try block. If the base primary submit is silently rejected after APT is submitted, the book could momentarily carry a naked APT leg. Both are market orders with pre-checked qtys and the next _evaluate manages whichever legs are open (self-heals), so warning not blocker.

Backtest Review

Correctly implemented dollar-neutral pairs with cross-leg timestamp alignment (578 balanced trades: 289 long/289 short, no size/notional drops)

Backtest Review

OHLCV-only, no supplementary dependency, clean execution over 1218 days

Backtest Review

Net loser: total_return -50.4%, profit_factor 0.91, Sharpe -0.12 (CI straddles zero), expectancy -$87/trade

Backtest Review

avg_trade_return_pct -0.063% is NEGATIVE — no edge even before fees

Backtest Review

Monotonic yearly decay: 2023 +12.8%, 2024 -16.3%, 2025 -18.9%, 2026 -35.1%; rolling Sharpe +7.6 → -6.5 — the SUI/APT spread has de-cointegrated and now trends against the strategy

Backtest Review

max_drawdown 63.8% (CI to 97.6%), past the 50% hard-abandon line (L19)

Backtest Review

Market-neutral pairs zero-survivor class (L45)

Iteration History

data_unavailable: backtest data for SUIUSDT.BINANCE could not be collected after 5 retries: - bars (bar_type=APTUSDT.BINANCE-1-HOUR-LAST-EXTERNAL): got 0, needed 200, or 30+ days span The data layer (not the strategy) is the blocker — re-evaluate this hypothesis once collection is fixed / the symbol is backfilled.
Strategy report

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