VolScaledCrossSectionalMomentum15MajorsUsdmWeeklyLong
Hypotheses
Volatility-Scaled Cross-Sectional Momentum over a Broad 15-Name USD-M Universe, Long-Only (Rank by 90-Day Return, Hold Top-6 Weighted INVERSELY to Volatility — Risk-Parity, Not Equal-Weight; Broader/Deeper Universe Than the Deployed 8-Major Basket, Weekly, 3-Parameter)
Hypotheses
A LONG-ONLY, weekly-rebalanced cross-sectional momentum rotation that is deliberately DISTINCT from the deployed 8-major relative-strength winner in two structural ways L24 requires (not a re-weighting of the same majors): (1) a BROADER, deeper universe of 15 liquid BINANCE USD-M perps with ≥3-year history — BTCUSDT, ETHUSDT, SOLUSDT, BNBUSDT, AVAXUSDT, LINKUSDT, ADAUSDT, XRPUSDT, LTCUSDT, DOTUSDT, ATOMUSDT, ETCUSDT, UNIUSDT, FILUSDT, NEARUSDT — where the cross-sectional momentum premium is larger and less arbitraged than among the 8 mega-caps; and (2) RISK-PARITY (inverse-volatility) position weighting rather than equal-weight, which materially changes the return stream and inherently down-weights the crash-prone high-vol names (the defensiveness that plain equal-weight lacks). Mechanism: each week, rank the 15 names by trailing 90-day return, select the top-6, and size each position inversely to its trailing realized volatility (so the basket targets balanced risk contribution), long-only, held one week. It is in the ONE long-only family with proven survival here (the deployed cross-sectional momentum basket, Sharpe 2.63, which survived 2022 by rotating away from the worst losers), and it is NOT any of the confirmed-dead families: NOT single-name MR/reversal (definitively dead — DOGE +0.12%, SOL-OI −0.068%, taker-flow −0.025%), NOT funding carry (saturated/duplicate), NOT options (L23), NOT trend-following, NOT a market-neutral L/S basket (L12 fee wall — this is long-only). Weekly K-of-N rotation gives a sandbox-certifiable trade count and low turnover (fee-viable). 3 core parameters (momentum lookback, number of held names, vol-scaling lookback).
Hypotheses
Iteration 2 fix targets the Layer-4 QA rejection, whose root cause was the abs_mom_floor=0.0 dual-momentum cash gate: in the bear sandbox window few names cleared the floor, so the book sat ~half in cash (avg_position_pct 44.5%, beta 0.023) and produced only 18 trades — unmeasurable (below the ~100-trade floor) and unrepresentative of steady-state behavior. The smallest change that fixes this without regressing any earlier layer is to set abs_mom_floor's default to -1.0 so it never gates, converting the strategy into a FULLY-INVESTED relative-strength top-6 rotation — exactly the mechanic of the deployed 8-major survivor (Sharpe 2.63), which stayed invested and rotated away from the worst losers rather than to cash. Being fully invested raises the invested fraction toward 100% and multiplies weekly rotations/re-sizings, lifting the trade count toward measurability. The two L24 differentiators are untouched: the broader 15-name universe and the inverse-volatility (risk-parity) weighting, which continues to structurally down-weight the crash-prone high-vol alts the QA flagged. No imports, class structure, or signal scaffolding changed (Layers 1-3 stay green); only the cash-floor default and its documentation were edited.
Hypotheses
max_drawdown 75.49% (CI high 99.95%) is a hard abandon (>50% floor, L19), and the +500% total_return is single-regime 2021-bull concentration (2022 -65%, 2025 -16.6%, 2026 -67.7%) plus 71% unrealized MTM — the same leverage-not-edge signature that killed every majors/basket-momentum sibling this session. profit_factor 1.04 (fee-fragile), Sharpe 0.448 with CI straddling zero, and negative information_ratio (-0.11) vs its own equal-weight-basket benchmark mean it adds negative active value over simply holding the basket. The risk-parity inverse-vol sizing was pitched as defensiveness equal-weight lacks, but the 75% DD and ~-65% bear years show it does not deliver that; optimizing the 3 parameters cannot create drawdown protection the mechanism structurally fails to provide and would only overfit 2021. Not worth 2 hours of optimization.
Implementation
Long-only, weekly-rebalanced cross-sectional momentum rotation over a broad 15-name BINANCE USD-M perp universe (BTC/ETH/SOL/BNB/AVAX/LINK/ADA/XRP/LTC/DOT/ATOM/ETC/UNI/FIL/NEAR). Each week ranks all names by trailing 90-day return, holds the top 6, and sizes each position inversely to its trailing 30-day realized volatility (risk-parity), so the basket balances risk contribution and down-weights crash-prone high-vol alts. Now a FULLY-INVESTED relative-strength rotation (abs_mom_floor disabled) that rotates away from the weakest names rather than to cash, matching the mechanics of the deployed 8-major survivor. Daily bars, ~weekly turnover, 3 core parameters.
Verification Results
Verification failed (Layer 4 — QA review):
- Unmeasurable trade count and a non-diagnostic, negative sandbox. total_trades is only 18 over 363 days -- decisively below the ~100-trade measurability floor (L16) and lower than the sibling rotations. Sharpe -0.86 has a CI [-2.75, +0.72] that straddles zero, and the -34.17% / win_rate 0.111 rest on 18 trades where 2 outlier wins (largest_win $14,761, return_skew +1.65) carry the distribution against 16 losers -- momentum's naturally lumpy profile in a weak window, not evidence of a stable edge either way. The low count is partly an artifact of the dual-momentum floor sitting in cash through this bear window (avg_position_pct 44.5%). Nothing in this run is statistically diagnostic.
- The variant's core differentiation likely backfires, and the sandbox gives no evidence it improves on the deployed basket. The hypothesis claims a broader 15-name universe has a 'larger, less-arbitraged momentum premium', but broadening to crash-prone high-beta alts (UNI, FIL, NEAR, DOT, ATOM) means the 90-day momentum rank selects recently-pumped alts right before they mean-revert/crash -- a momentum-crash amplifier, and exactly the lottery-like names the low-skew sibling tried to avoid. win_rate 0.111 / -34% is consistent with the broad universe catching alt momentum crashes, whereas the deployed 8-major basket (Sharpe 2.63) avoids these names by construction and survived 2022. So the broadening may be actively harmful rather than additive, and this run shows the variant underperforming exactly where the deployed version survived.
- avg_position_pct 44.5% and beta 0.023 to the equal-weight benchmark indicate the book was only ~half invested through this window (dual-momentum floor rotating to cash), so the run is partly a cash+concentrated-momentum book rather than a fully-invested 6-name basket -- another reason the 18-trade sample is not representative of the strategy's steady-state behavior.
Verification Results
Analyst decides optimize/iterate/abandon on the full-history backtest; nothing for the developer to fix — the implementation is faithful.
Verification Results
Family/edge risk (not a code defect): long-only cross-sectional momentum rank has a poor survival record, and the sandbox already confirms a decisively negative result over the 363-day window — total_return -57.4%, Sharpe -1.66 (CI [-3.18, -0.001], wholly below zero), profit_factor 0.126, win_rate 0.226, max_drawdown 59.5%. Reward/risk is badly inverted for a momentum book (avg_win $693 vs avg_loss $1611; largest_loss -$12,476). This is an edge failure for the analyst to adjudicate at BACKTEST_REVIEW, not a recodable defect.
Verification Results
Optionally cap any single inverse-vol weight (e.g. <= 2–3x equal-weight) — would require a hypothesis note.
Verification Results
Inverse-vol weighting has no per-name weight cap, so a single low-vol name can dominate the ~0.9x gross book (consistent with the -$12,476 single-leg loss). Inherent to the hypothesis's chosen sizing, not a bug, but raises single-name tail risk.
Verification Results
Confirm full-history backtest yields >= ~100 trades before trusting ratio metrics.
Verification Results
53 trades over a 363-day sandbox slice is near the lower measurability bound in isolation, but a full multi-year weekly 6-of-15 rotation should yield several hundred trades, so it is not a blocker. Flagging so the analyst confirms trade count on the full run.
Backtest Review
Long-only cross-sectional momentum is the one long-only family with proven survival here
Backtest Review
Well-sampled (272 trades over 6.5 years), low turnover, fee-viable trade count
Backtest Review
Structurally distinct from the deployed 8-major basket (broader universe + risk-parity sizing) as L24 requires
Backtest Review
max_drawdown 75.49% (CI high 99.95%) — far past the 50% hard-abandon floor; will never clear the promotion drawdown criterion
Backtest Review
Single-regime: +490% in 2021 carries everything; 2022 -65%, 2025 -16.6%, 2026 -67.7% — no profitable regime outside the 2021 bull
Backtest Review
profit_factor 1.04 — gross edge sits inside fees; Sharpe 0.448 with CI [-0.17, 1.15] straddling zero
Backtest Review
Underperforms its own equal-weight-basket benchmark: information_ratio -0.11, beta 0.62, correlation 0.74 (closet-long, negative active value)
Backtest Review
71% of the +500% headline is open-position unrealized (end_unrealized_pct 356.7), not a realized edge
Backtest Review
The risk-parity/inverse-vol sizing did NOT deliver the promised defensiveness — 2022 and 2026 both ~-65%
Outcome Summary
This strategy leaned on the one long-only family with proven survival here — cross-sectional momentum rotation — differentiating itself with a broader 15-name universe and risk-parity inverse-vol sizing intended to down-weight crash-prone alts and add the defensiveness plain equal-weight lacks. It was well-sampled and fee-viable, but the backtest exposed the same defect as its siblings: a 75.49% max drawdown, a +500% return concentrated entirely in the 2021 bull (with 2022, 2025, and 2026 all deeply negative), a profit factor of just 1.04, and 71% of the headline unrealized. Crucially the risk-parity sizing delivered no drawdown protection (~-65% bear years) and the basket added negative active value over its own equal-weight benchmark (IR -0.11). The analyst abandoned it at review on its second iteration, since optimizing three parameters cannot manufacture drawdown protection the mechanism structurally fails to provide and would only overfit 2021.
Outcome Summary
Inverse-volatility (risk-parity) sizing over a broader alt universe does not by itself add defensiveness or escape single-regime concentration — the ~-65% bear years and 75% drawdown show the same leverage-not-edge, 2021-concentrated signature that killed every majors/basket-momentum sibling this session, and a closet-long basket that underperforms its own benchmark has no active edge to optimize.
Outcome Summary
It was abandoned at the pre-optimization backtest-review gate: the 75.49% max drawdown was well past the 50% hard-abandon floor, the +500% return was single-regime 2021-bull concentration (2022 -65%, 2025 -16.6%, 2026 -67.7%), profit factor 1.04 sat inside fees with Sharpe straddling zero, and it added negative active value over simply holding the basket — the risk-parity sizing failed to deliver its promised defensiveness.
Outcome Summary
A long-only, weekly-rebalanced cross-sectional momentum rotation over a broad 15-name BINANCE USD-M universe — ranking by 90-day return, holding the top-6, and sizing each position inversely to its realized volatility (risk-parity) — pitched as structurally distinct from the deployed 8-major equal-weight basket via its broader universe and inverse-vol weighting meant to add defensiveness.
Outcome Summary
The backtest was well-sampled (272 trades over 6.5 years) but only marginally profitable and highly concentrated: +500% total return but profit factor 1.04, Sharpe 0.448 (CI straddling zero), a 75.49% max drawdown (CI high 99.95%), information ratio -0.11 versus its own equal-weight benchmark, and with 71% of the headline sitting in unrealized open-position MTM (end_unrealized_pct 356.7%).
Backtest and paper results are hypothetical. Trading involves risk of loss.