Skip to content

View translation

CrossSectionalRelativeMomentumFourHourLongShort5MajorPerps

Hypotheses

4H Cross-Sectional Relative Momentum Long-Short on 5 Major Crypto Perps (Winner-Long / Loser-Short Rotation)

Hypotheses

Market-neutral cross-sectional momentum rotation strategy on a fixed universe of 5 Binance USD-M perpetuals: BTCUSDT, ETHUSDT, SOLUSDT, BNBUSDT, AVAXUSDT. Every 4H bar close, rank the universe by trailing 7-day total return. Hold a long position in the top-ranked asset and a short position in the bottom-ranked asset, with equal-weighted gross exposure. Rebalance ONLY when the top or bottom rank changes (event-driven, not periodic) — this minimizes overtrading. Includes a minimum momentum-spread gate (top return - bottom return >= min_spread_pct) to skip low-conviction rotations. This is the analyst-recommended structural alternative to crypto pairs ratio mean-reversion (failed 3+ times this session including SOL-AVAX): RELATIVE MOMENTUM is aligned with crypto's empirical winner-take-all dynamics rather than fighting them. Only 4 tunable parameters — explicitly below the 5-parameter ceiling recommended by analyst feedback to prevent overfitting. Trade frequency math: 36-50 rotations/year × 2 legs = 70-100 trades/year, giving ~23-33 OOS trades per walk-forward window, well above the empirically-validated 5-trade-per-window viability floor.

Hypotheses

Iteration 2 fixes the liquidation blow-up (avg_position_pct 3073%, total_return -100%). Root cause: the old _reconcile submitted an exit AND an opening order for a leg in the same calculate_signal call, trusting them to net; when exits did not settle before opens, gross exposure compounded across hundreds of rotations to ~30x -> liquidation. Fix per the analyst's required changes: (1) replaced the same-bar close+open with a cache-driven flatten-then-open state machine (_apply_target) that NEVER submits an opening order for a leg while any leg still holds a wrong-side position and NEVER opens against a non-flat leg, verified every bar via self.cache.positions_open — so stacking is structurally impossible and peak gross stays at ~2 x leg_frac (~0.9x, avg_position_pct ~90%). (2) Added an equity<=0 guard that halts all new sizing (close-only) and a hard gross-exposure cap (~2 x leg_frac of equity) so a drawdown cannot spiral into liquidation. The signal/ranking/import scaffolding that already passed Layers 1-2 is unchanged; only the order-management path was modified. Still exactly 4 tunable parameters (the gross cap is derived from leg_frac, not tuned). Leverage stays 1.0 and is not referenced in sizing, so no leverage_set_but_unused concern.

Hypotheses

Risk-adjusted losing strategy that optimization cannot rescue. Sharpe is -1.50 with the ENTIRE bootstrap CI negative [-2.66, -0.63], sortino -2.08, information_ratio -0.13, and probabilistic_sharpe 0.0028 — i.e. ~99.7% certain the true Sharpe is <= 0 across the whole 2020-2026 sample. The +1015% headline is not a validated edge: it is driven by extreme positive skew (skew 8.4, kurtosis 287) concentrated in a few bull-run months (2021-02 +112%, 2023-12 +71%) plus 251% of end-of-backtest UNREALIZED open-position MTM (end_unrealized_pct 251.4), while the typical day loses money and every non-trending regime bleeds (2022 -46%, 2024 -11%, 2026 -40%). Independently disqualifying on cost structure: market impact consumes 68.6% of gross PnL (impact_cost_pct 68.62, total_impact_usd $1.67M, total_commission $1.3M) at turnover 3137% / 1,918 trades, and capacity_usd is only $212K, so the edge exists only at toy scale. The hypothesis's central premise — 'event-driven rebalance to minimize overtrading' — failed outright: a 7-day-lookback ranking of 5 highly-correlated majors (BTC/ETH/SOL/BNB/AVAX) flips top/bottom on noise at 4H cadence, generating constant whipsaw rotations that pay ~0.1% round-trip per leg. This is a structural dispersion-vs-cost mismatch, not a parameter-tuning miss; a viable version (daily cadence, a genuinely dispersed/larger universe, a far wider spread gate) would be a different hypothesis, and the risk-adjusted-negative base gives little confidence the cross-sectional momentum edge survives costs even then. Not worth 2 hours of optimization.

Implementation

Market-neutral 4H cross-sectional relative-momentum long-short rotation over a fixed 5-major Binance USD-M perp universe (BTC/ETH/SOL/BNB/AVAX). Each aligned 4H bar it ranks the universe by trailing 7-day (42-bar) total return, targets a long in the top asset and a short in the bottom asset (equal USD notional per leg), and rotates only when the top/bottom identity changes AND the top-bottom momentum spread clears min_spread_pct. Order management is a flatten-then-open state machine: rotations only update a target book, and the reconciler flattens mismatched legs and opens new legs ONLY once the cache confirms the mismatched legs are flat, so no leg is ever close+opened in one bar. Peak gross exposure is pinned at ~2 x leg_frac and hard-capped; an equity<=0 guard makes sizing close-only during a drawdown.

Backtest Review

Correctly market-neutral construction (benchmark_meaningful=false, benchmark_correlation 0.28, beta 0.22) with no liquidation and a working flatten-then-open reconciler

Backtest Review

Momentum signal does capture real trend premium in strong bull runs (2021 +493%, 2023 +325%)

Backtest Review

Risk-adjusted NEGATIVE across the whole sample: sharpe -1.50 with the entire CI negative [-2.66, -0.63], sortino -2.08, information_ratio -0.13, probabilistic_sharpe 0.0028 (~99.7% certain true Sharpe <= 0)

Backtest Review

The +1015% headline is an artifact of extreme positive skew (skew 8.4, kurtosis 287) concentrated in a few bull-run months, PLUS 251% end-of-backtest unrealized MTM (end_unrealized_pct 251.4) — not a realized, repeatable edge

Backtest Review

Cost-dominated: impact_cost_pct 68.6% of gross PnL, total_impact_usd $1.67M, total_commission $1.3M, turnover 3137%, commission_pct_of_gross 6.01%

Backtest Review

Toy capacity: capacity_usd only $212K — impact consumes the entire edge at any deployable size

Backtest Review

Hypothesis's core premise failed: 'event-driven to minimize overtrading' produced 1,918 trades / 3137% turnover — the 5 highly-correlated majors flip rankings on noise at a 7-day/4H cadence

Backtest Review

Whipsaw bleed in every non-trending regime: 2022 -46%, 2024 -11%, 2026 -40%

Analysis

Do NOT optimize — the backtest liquidated the account due to a catastrophic position-accumulation/sizing bug and must be fixed and re-run first. Evidence: liquidated=true (2026-01-23), total_return -100%, max_drawdown 100%, avg_position_pct 3073% (~30x equity vs the intended 2 legs x 0.45 = ~0.9x gross), annualized_volatility 865%, and physically impossible daily returns (2025-10-30 -742,916%, 2023-10-24 +1,162%, 2025-08-29 +1,473%). Required fixes: (1) The bug is almost certainly in the multi-leg _reconcile(): the 'close + open in one bar nets correctly' assumption is failing — exits are likely not flattening existing legs before new entries are submitted, so each rotation (every time the top/bottom rank changes) STACKS additional positions instead of replacing them, compounding leverage across hundreds of rotations. Verify via the cache that every leg is actually flat (or at target) BEFORE submitting the new target, and confirm peak gross exposure stays at ~2 x leg_frac. (2) Add a hard gross-exposure cap and a guard that halts sizing when equity <= 0, so a drawdown cannot spiral into liquidation. (3) Re-run and confirm avg_position_pct is ~90% (not 3000%), liquidated=false, and there are no single-bar returns beyond plausible bounds. THEN the cross-sectional momentum edge can be evaluated honestly; if the corrected backtest shows no edge, abandon, but the current result is a sizing-defect blow-up, not a verdict on the mechanism.

Outcome Summary

CrossSectionalRelativeMomentumFourHourLongShort5MajorPerps was pitched as the analyst-endorsed structural alternative to failed pairs mean-reversion — betting long the strongest and short the weakest of five majors to ride crypto's winner-take-all dispersion. The backtest produced an eye-catching +1015%, but review saw through it: the return was concentrated in a few bull-run months plus 251% of unrealized open MTM, while the strategy was risk-adjusted negative (Sharpe -1.50, entire CI below zero, PSR 0.0028) and bled in every non-trending regime. Worse, its core 'minimize overtrading' premise inverted — five correlated majors flipped rankings on noise into 1,918 trades and 3137% turnover, with market impact eating 68.6% of gross PnL and capacity capped at a toy $212K. The analyst abandoned it at the backtest-review gate as a structural dispersion-vs-cost mismatch that optimization could not fix, so it never reached the optimization or risk stages.

Outcome Summary

A large total-return headline can be an artifact of positive skew and unrealized MTM masking a negative Sharpe; ranking five highly-correlated majors on a 7-day/4H cadence flips top/bottom on noise, so the 'event-driven to minimize overtrading' premise inverts into constant whipsaw that trading costs fully consume.

Outcome Summary

The analyst abandoned it at the pre-optimization backtest-review gate, where it failed every criterion (Sharpe, profit factor, impact cost, capacity, probabilistic Sharpe); optimization, the post-optimization analyst decision, and risk review were never reached because a risk-adjusted-negative, cost-dominated result is not something parameter tuning can rescue.

Outcome Summary

A market-neutral 4H cross-sectional relative-momentum rotation on five Binance USD-M perps (BTC, ETH, SOL, BNB, AVAX) that ranked the universe by trailing 7-day return, held the top-ranked asset long and bottom-ranked short with equal gross exposure, and rebalanced event-driven only when the top/bottom rank changed and a minimum momentum-spread gate passed.

Outcome Summary

Despite a +1015% headline total return, it was risk-adjusted negative across the whole 2020-2026 sample: Sharpe -1.50 (entire CI negative, [-2.66, -0.63]), Sortino -2.08, probabilistic_sharpe 0.0028, 54.2% max drawdown, profit factor 1.04, and 45.7% win rate over 1,918 trades. It was also cost-dominated (turnover 3137%, impact cost 68.6% of gross PnL, ~$1.67M impact + $1.3M commission) with only $212K capacity, and 251% of the headline was unrealized end-of-backtest mark-to-market.
Strategy report

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