Skip to content

View original

HyperliquidWideCrossSectionalMomentumQuintileLS

Hypotheses

HYPERLIQUID Cross-Sectional Momentum — Wide-Universe Quintile Long/Short Factor (18-Asset, Daily Bars, Dollar-Neutral, 12-1 Momentum)

Hypotheses

Diversified cross-sectional momentum factor across ~18 liquid HYPERLIQUID perps. On daily bars, each rebalance compute the 12-1 momentum score for every asset = trailing 30-day return SKIPPING the most recent 2 days (avoids short-term reversal contamination). Rank the universe, then go LONG an equal-weighted basket of the TOP quintile (~4 names) and SHORT an equal-weighted basket of the BOTTOM quintile (~4 names). Hold dollar-neutral at gross exposure ~1.0 (0.5 long + 0.5 short), rebalance weekly but only trade names that CROSS a quantile boundary to minimize turnover/fee drag. This is the same Jegadeesh-Titman / Liu-Tsyvinski-Wu cross-sectional momentum premium as the prior attempt, but rebuilt for BREADTH: ~8 simultaneous positions averaging across many idiosyncratic moves instead of a single long/single short whose PnL was dominated by 1-2 outlier names. Fills under-represented buckets: HYPERLIQUID venue, MULTI scope, and market-neutral direction.

Hypotheses

Iteration 5 addresses the Layer-3 wall-clock timeout (300s smoke-test cap) without touching any signal/sizing/neutrality logic that already passed Layers 1-2. The strategy's per-bar cost is already O(1)/O(n_assets) (list-indexed momentum, no full-history rescans), so the timeout came from NautilusTrader engine overhead of interleaving + filling orders across 18 daily legs over ~6 years (2020-2026): ~300 weekly rebalances each churning up to ~16 close/open orders. Because the universe is discovered from config (extra_instruments + on_extra_bar), the fix is a config-only reduction from 18->10 liquid majors (all with pre-cached daily catalog data, so on-demand collection stays within its separate 600s budget), roughly halving both the bar-event stream and rebalance order churn. quantile_frac is raised 0.20->0.30 so a 10-name cross-section still holds ~6 simultaneous positions (3 long / 3 short) -- preserving the breadth premium (IR ~= IC*sqrt(breadth)) that is the hypothesis' core edge versus the prior single-name attempt, while keeping the book dollar-neutral at ~1.0x gross. HYPERLIQUID futures venue is correct: the strategy shorts and is market-neutral (long+short), which spot cannot express.

Hypotheses

Not worth optimizing. The strategy's positive return is a leverage artifact plus a single outlier day, and neither is parameter-fixable. (1) exposure_pct is 566% vs the intended ~100% dollar-neutral gross -- the gross-pinning bookkeeping failed and positions accumulate ~5.6x, inflating CAGR to ~1100%; but Sharpe is leverage-invariant, so the TRUE risk-adjusted quality is only Sharpe 0.29 / PF 1.08, below the 0.5 OOS bar before optimization even begins. (2) The rebuild's core thesis -- that breadth averages away 1-2-name outlier domination -- is falsified by its own distribution: return_skew 12.8, kurtosis 229, and one +52% day (2023-11-11) / +50% Nov-2023 month carry essentially the entire positive result (2023 +36.5%, 2024 -16.6%). (3) The effective sample is only ~14 months of real HL cross-section data (returns 2023-06 to 2024-08), too little to optimize against. (4) It is non-scalable regardless: 25.7% impact cost of gross PnL at only ~$1.5M capacity. Optimization tunes parameters against an existing edge; here the leverage-invariant Sharpe is weak, single-day-dependent, and on a short sample -- there is nothing for the optimizer to sharpen.

Implementation

Dollar-neutral cross-sectional (12-1) momentum factor across a 10-asset liquid HYPERLIQUID daily perp universe (BTC primary + 9 extras). Weekly rebalance ranks trailing 30-day returns skipping the most recent 2 days; goes LONG the top 30% (~3 names) and SHORT the bottom 30% (~3 names) equal-weighted, gross exposure pinned to ~1.0x via a keep/open/close set pattern that opens each leg once from flat (no gross accumulation). A 20% portfolio drawdown stop flattens the book. Universe supplied entirely via config; all legs trade through the multi-instrument interface.

Verification Results

Verification failed (Layer 3 — sandbox backtest): smoke test exceeded the 300s wall-clock limit. This almost always means per-bar work that scales with history — e.g. rescanning the full funding/supplementary series, or rebuilding a list and calling min()/sorted() inside calculate_signal()/on_bar() on every bar. Precompute sorted timestamp arrays ONCE in __init__ and use bisect, or cache lookups keyed by timestamp, so per-bar cost is O(log n) not O(n).

Backtest Review

Portfolio is genuinely market-neutral (beta 0.0067) and code executes across the 10-name cross-section (123 trades, 56 long / 67 short).

Backtest Review

Cross-sectional momentum is a documented premium and the venue/scope buckets (HL, MULTI, market-neutral) are legitimately under-represented.

Backtest Review

exposure_pct 566% vs the designed ~100% dollar-neutral gross: the iteration-4/5 gross-pinning bookkeeping (_held_side / reduce-only closes) is NOT holding, positions accumulate ~5.6x. The ~1100% CAGR is a leverage artifact, not edge.

Backtest Review

Sharpe is leverage-invariant, so fixing the exposure bug does not help: true risk-adjusted quality is Sharpe 0.29 / PF 1.08 / Sortino 0.67 -- below the 0.5 OOS bar before optimization even runs.

Backtest Review

Hypothesis premise falsified: return_skew 12.8, kurtosis 229, and a single +52% day (2023-11-11) / +50% Nov-2023 month carry the entire positive result -- breadth did NOT escape 1-2-name outlier domination (annuals: 2023 +36.5%, 2024 -16.6%).

Backtest Review

Effective sample is only ~14 months (returns exist 2023-06 to 2024-08 despite the 2020-2026 span) -- too little for a factor-premium conclusion or meaningful optimization.

Backtest Review

Non-scalable: impact_cost_pct 25.7% of gross PnL, capacity only ~$1.5M, tail_ratio 0.065 (fat left tail).

Analysis

Genuinely new, academically grounded mechanism class (Jegadeesh-Titman 1993 / Liu-Tsyvinski-Wu 2021 cross-sectional momentum) — distinct from the time-series strategies in the book.

Analysis

Implementation is correct and trades: 120 trades, dollar-neutral leg rotation works, benchmark_meaningful=false handled properly (not penalized vs buy-hold).

Analysis

HYPERLIQUID data reliable here — no zero-trade/data-wall problem; fills HL + MULTI + market-neutral buckets as intended.

Analysis

Sensitivity mostly flat (only lookback_days is a cliff); large capacity_usd.

Analysis

Holdout FAILED: ratio 0.202 (holdout Sharpe 0.188 vs WF-OOS 0.93; needs >=0.70); once-tested OOS Sharpe 0.188 is below the 0.30 floor.

Analysis

Deflated Sharpe 0.0 over 225 trials with expected-max 8.25 — selected Sharpe indistinguishable from best-of-N noise.

Analysis

PBO 0.6726 (>0.5), is_significant=false, Sharpe CI [-0.16, 1.83] straddles 0; WF is_overfitted=true (IS 3.76 -> OOS [-2.24, 4.45, 0.58]).

Analysis

Tail-driven returns (skew 7.4, kurtosis 117; a few days like 2023-11-21 +62.9%, 2024-01-09 +28% carry it) — symptom of a too-narrow universe.

Analysis

Optimized 'success' (316%) comes only from leverage (gross_exposure 1.42), which lifted max drawdown to 54.9%.

Analysis

Do NOT optimize yet — the backtest is running at ~10.8x gross exposure (exposure_pct 1078%), not the ~1.0x dollar-neutral gross the hypothesis and code claim, so it is not testing the intended strategy and optimizing it would waste the compute. 1) FIX THE GROSS-EXPOSURE PINNING. The rebalance recomputes target notionals from current equity (longs sum to +0.5*gross, shorts to -0.5*gross) and trades only the delta, but realized gross is ending up ~10x target. Verify: (a) that non-target names are actually driven to 0 each rebalance (a persistent leg that drops out of both quintiles must be flattened, not left on the book), and (b) that the min_notional 'skip small deltas' turnover filter isn't preventing the re-normalization of persistent legs so they accumulate across rebalances. Add an assertion/log of realized gross notional vs equity right after each rebalance and confirm it stays ~1.0x. The symptom (exposure 1078%, impact 269% of gross PnL, capacity $13.8k) points at gross accumulation — please verify the pinning logic rather than assuming the impact model is the issue. 2) RE-MEASURE net of realistic impact once gross is actually ~1.0x. With a 10x-smaller book, impact cost should fall dramatically and the true edge becomes visible. CAUTION: dollar-neutral cross-sectional momentum L/S on this alt universe has repeatedly produced a market-neutral edge too modest to survive the deflation/holdout gates. The corrected re-run must show a CLEAR positive edge net of costs (PF > 1.2, non-zero-straddling Sharpe CI, no severe 2026 decay) to justify optimization — otherwise it is an abandon, not a further iterate.

Outcome Summary

HyperliquidWideCrossSectionalMomentumQuintileLS was a fifth-iteration rebuild of a cross-sectional momentum factor, widening to ~10 HYPERLIQUID perps in a dollar-neutral quantile long/short to average across many idiosyncratic moves. It executed cleanly and was genuinely market-neutral (beta 0.007, 123 trades), but its headline ~1100% CAGR came from a broken gross-pinning bookkeeper that let exposure balloon to 566%, and its leverage-invariant Sharpe was just 0.29 with kurtosis of 229 and a single +52% day carrying the result. Optimization confirmed the verdict — holdout ratio 0.202, PBO 0.67, deflated Sharpe 0.0, and an optimized Sharpe of 0.985 achievable only by adding drawdown-heavy leverage — so the analyst flagged the hypothesis for revision and the strategy was abandoned as a demonstrated non-edge on too short a sample.

Outcome Summary

Breadth alone does not tame outlier dominance when the effective sample is thin (~14 months of real cross-section) — skew/kurtosis and a single-day dependency reveal a non-edge that leverage can inflate but optimization cannot fix.

Outcome Summary

After 5 iterations the strategy was abandoned: its positive return was a leverage bug plus a single outlier day rather than a real edge, its true risk-adjusted quality (Sharpe 0.29) sat below the 0.5 bar, and the optimization gates (holdout, PBO, deflated Sharpe, drawdown) all failed, leaving nothing for the optimizer to sharpen.

Outcome Summary

A dollar-neutral, market-neutral cross-sectional (12-1) momentum factor on ~10 HYPERLIQUID daily perps, going long the top quantile and short the bottom quantile with weekly rebalancing, betting that breadth (~6 simultaneous positions) would average away single-name outlier dominance.

Outcome Summary

The base backtest showed 123 trades (56 long/67 short) and genuine neutrality (beta 0.007), but a leverage-invariant Sharpe of only 0.29, profit factor 1.08, and return kurtosis 229 with a single +52% day carrying most of the gains; the ~1100% CAGR was an artifact of exposure running to 566% instead of the designed ~100%. In optimization the holdout failed (ratio 0.202, holdout Sharpe 0.188 vs WF-OOS 0.93), PBO was 0.67, deflated Sharpe 0.0 over 225 trials, and the optimized run only reached Sharpe 0.985 by adding leverage that pushed max drawdown to 54.9%.

Iteration History

HyperliquidCrossSectionalMomentumLongShortRotation
Strategy report

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