Skip to content

View original

SpotMajorsCrossSectionalMomentumRotationRegimeGated

Hypotheses

Binance SPOT Long-Only Cross-Sectional Relative-Strength Rotation across 8 Liquid Majors, BTC-Regime-Gated to Cash (Weekly Rebalance, Single 28-Day Momentum Rank, No Leverage, 2-Parameter)

Hypotheses

A LONG-ONLY, SPOT, weekly-rebalanced cross-sectional momentum rotation across a fixed universe of 8 liquid Binance spot majors: BTCUSDT, ETHUSDT, SOLUSDT, BNBUSDT, XRPUSDT, ADAUSDT, LINKUSDT, DOGEUSDT (all .BINANCE_SPOT). This is the SPOT analog of the factory's one surviving long rotation ('Cross-Sectional Momentum Weekly Rotation across Eight Major Crypto Perpetuals Long', 2.63 Sharpe, reached paper) — but relocated to the under-represented BINANCE_SPOT venue (10.3% vs 15% target), naturally long-only, zero leverage, zero funding cost, and driven purely by reliable OHLCV daily bars (no funding/liquidation/options/tick feed that has caused 23 data_unavailable and 53 verification_loop deaths). Mechanism: each Monday close, rank the 8 names by trailing 28-day total return, hold the TOP 3 equal-weight (~30% equity each), and rotate weekly. A single regime gate keeps ALL capital in cash (USDT) whenever BTCUSDT closes below its 100-day SMA, so the book is fully flat in bear regimes — this is the drawdown-control mechanism that pure momentum baskets lack. Deliberately 2 tunable parameters (rank lookback = 28d, regime SMA = 100d) with fixed top-3 / weekly cadence to resist the overfit deaths (202x) that killed multi-parameter trend baskets. Per L12: the historical WEEKLY cross-sectional return spread between the top-decile and bottom-decile major is typically 8-15% (crypto majors routinely disperse >10%/week), and turnover is ~1-3 legs/week, so gross dispersion (~800-1500 bps) dwarfs the fee cost of rebalancing (2-3 legs x ~0.20% RT = 40-60 bps). Not a market-neutral basket (which has 0/53 survival) — it is a long-or-cash directional rotation, the exact structure that survived on futures.

Hypotheses

The analyst confirmed the edge is real (OOS 2.06, holdout 2.94, promoted perp sibling) but the walk-forward overfit by tuning 6-7 parameters across 225 trials, deflating DSR to 0 and blowing up IS/OOS. This iteration makes the smallest possible change to fix exactly that, touching no signal or structural logic (all earlier layers stay green, imports unchanged): (1) config.parameters now exposes ONLY lookback_days, regime_sma_days, gross_exposure, so the optimizer perturbs 3 knobs instead of 7 — mechanically raising the deflated Sharpe and shrinking best-of-N inflation, per feedback #1. top_n=3, rebalance_days=7, min_notional, and reequalize_min_notional remain as code defaults (read via p.get) but are absent from the tuned config, so they are fixed. (2) gross_exposure default is lowered to 0.72 and clamped to [0.60, 0.80], moving into the robust low-exposure region the sensitivity heatmap shows keeps the entire lookback band positive and cutting the 34.9% drawdown, per feedback #2. (3) lookback_days is clamped to the [22, 40] positive plateau so the search cannot land on the fragile edge pick of 15 or an isolated spike, per feedback #3. top_n stays 3 (the sensitivity peak at Sharpe 2.95 and more diversified than 2). Everything else — per-symbol history, cross-sectional alignment, regime gate, portfolio-value-based equal-weight sizing, exits-before-buys, long-only spot submission — is byte-for-byte the logic that already passed Layers 1-3 and produced the real OOS/holdout edge.

Hypotheses

No risk-adjusted edge over its own fair benchmark, and statistically insignificant. Independent of the multiple-testing correction, the strategy has information_ratio -0.36 vs equal_weight_basket (benchmark_meaningful=true) — the rotation + BTC-regime-gate risk-adjusted UNDERPERFORMS simply equal-weighting the 8 majors, so the mechanism adds no alpha; the positive raw alpha (0.35) is only an artifact of low beta (0.19). The +4033% headline is crypto beta concentrated in the 2021 (+827%) and 2024 (+170%) bull years while the book loses in 2022 (-8.8%) and 2026 YTD (-9.2%), so yearly results are not consistent. On the deflation side it is not significant (deflated_sharpe 0.0, is_significant=false) and fails programme-level FDR (keeps 3 of 230). Walk-forward OOS is inconsistent (windows 3.61/2.20/-1.12, last negative). Because the DSR miss is accompanied by a negative benchmark-relative IR and inconsistent yearly/window results — i.e. nothing genuinely speaks for the strategy — the soft-floor waiver conditions are not met. This is optimization attempt 3 (past the limit); the iter-3 anti-overfit band-tightening left DSR at 0.0, so there is no further spot-specific tuning path, and no reframe is available because the only surviving instance of this mechanism is the PERP version, which is already promoted. Failure pattern: no risk-adjusted edge over benchmark / not significant (spot sibling, matches the two prior overfit SPOT abandons).

Implementation

Long-only, weekly-rebalanced cross-sectional momentum rotation across 8 liquid Binance SPOT majors (BTC, ETH, SOL, BNB, XRP, ADA, LINK, DOGE), daily bars, pure OHLCV, no leverage. Each week it ranks the universe by trailing 28-day return and holds the top 3 equal-weight; whenever BTC closes below its 100-day SMA the whole book rotates to cash (USDT). Gross exposure is held at ~0.72 (constrained to the robust 0.60-0.80 band). Iteration 3 collapses the optimizer's search space to only the 3 intended economic parameters (lookback_days, regime_sma_days, gross_exposure); top_n=3, weekly cadence, and the notional thresholds are fixed constants.

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.

Backtest Review

Long-or-cash directional rotation, NOT market-neutral — avoids the 0/84 basket family (L45); SPOT analog of a claimed promoted perp rotation sibling

Backtest Review

Clears all hard tripwires: max_drawdown 29.3% (<50%, L19), 176 trades (>40/100 floors), PF 2.18, PSR 0.9921, Sharpe 1.008 with CI [0.48,1.53] not straddling zero

Backtest Review

avg_trade_return_pct ~10% is real per-notional edge on zero-leverage spot (not a compounding artifact); commission only 2.04% of gross — fee-robust

Backtest Review

Edge distributed across multiple positive years (2020/2021/2023/2024) with small whipsaw losses in bears — regime gate delivers genuine drawdown control

Backtest Review

Tight 2-3 parameter design deliberately built to resist overfit; reliable daily OHLCV only (no data_unavailable risk)

Backtest Review

Recent regime weak (2025 +13.9%, 2026 -9.2%); information_ratio -0.38 vs equal-weight buy-hold benchmark

Backtest Review

Returns lean on 2021/2024 bull cycles (skew 8.6, kurtosis 188)

Backtest Review

Base Sharpe ~1.0 is the ceiling — DSR-deflation and the 2025-2026 holdout window are the real risk; promotion not assured

Backtest Review

Reported config (lookback 16, gross 0.39) falls outside the code's own clamp bands [22,40]/[0.60,0.80] — the initial run used clamped values, a minor consistency note

Analysis

Long-or-cash directional rotation (not a market-neutral basket), all hard gates pass: holdout Sharpe 1.97 on 44 trades (consistent_with_oos, z_vs_oos 0.28), PBO 0.41 (<0.5), is_overfitted=false, OOS avg 1.57 (>0), avg_trade_return_pct 8.63% (well above the 0.25% spot floor).

Analysis

Sensitivity is clean (0 cliffs) and PSR 0.984 for the single chosen config.

Analysis

Negative information ratio (-0.36) vs a MEANINGFUL benchmark (equal_weight_basket, benchmark_meaningful=true): the rotation + regime-gate risk-adjusted UNDERPERFORMS simply equal-weighting the 8 majors. The positive raw alpha (0.35) is an artifact of low beta (0.19); on the risk-adjusted measure the active management adds no value. This is an independent signal, not the multiple-testing correction.

Analysis

Statistically insignificant after deflation: deflated_sharpe 0.0, is_significant=false, and fails programme-level FDR (Benjamini-Hochberg q=0.10 keeps 3 of 230; this candidate is not among them).

Analysis

Headline +4033% / CAGR 91% is crypto beta concentrated in bull years (2021 +827%, 2024 +170%) while the strategy loses in 2022 (-8.8%) and 2026 YTD (-9.2%). Not consistent yearly results, so the DSR waiver conditions are not met.

Analysis

Walk-forward OOS windows are inconsistent: 3.61 / 2.20 / -1.12 (last window negative).

Analysis

avg_trade_return_pct 8.63% on an unlevered spot book is a compounding/position-riding-the-equity-curve artifact (L36), not per-trade edge; max_drawdown 28.4% is far over the 10% soft floor.

Analysis

This is optimization attempt 3 of 2 (past the limit); the iter-3 anti-overfit band-tightening did not move DSR off 0.0. Two prior SPOT siblings of this exact mechanism already died 'overfit'.

Analysis

Benjamini-Hochberg at q=0.10 over 230 programme candidates keeps 3. A candidate that does not survive here is not distinguishable from the programme's own noise, however good its individual statistics look.
Strategy report

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