HyperliquidNegativeFundingCarryLongBasket1D
Hypotheses
Hyperliquid Negative-Funding Carry Basket — Long-Only, 6 Liquid HL Perps, DAILY Bars, Absolute-Threshold Gate (Single-Venue, 3-Parameter)
Hypotheses
A LONG-ONLY, multi-instrument funding-carry basket on HYPERLIQUID — the venue furthest below quota (7.5% vs 20% target) and the one live trading is shifting to. It transplants the factory's PROMOTED carry mechanism ('5-Asset Majors Negative-Funding Long-Only Carry Basket', Sharpe 1.97, at paper) onto HL, where retail leverage skew drives funding to negative extremes more often than on Binance. Two deliberate corrections versus the HL carry attempt that just died with NO TRADES: (1) it uses an ABSOLUTE threshold gate, not a dollar-neutral cross-sectional ranking — a simple 'funding below X → go long' fires an order of magnitude more often than a both-sides ranked construction; (2) it runs on DAILY bars, where Hyperliquid has full history back to 2020, instead of 4H/15m where HL's ~5000-candle API cap strands the backtest on weeks of data. Single-venue and single-leg, so it is NOT a cross-margin two-legged carry (avoids L1 entirely — one leg, two fills, ~0.09% round trip). No liquidation feed (avoids L3), no options (avoids L2). Deliberately kept short and mechanically simple: 3 parameters, no trend filter, no vol overlay — the last two proposals died to token-budget blowup from over-specification.
Hypotheses
Implements the hypothesis's mechanism exactly — long-only, single-venue, single-leg, absolute-threshold gate, daily bars, 3 tuned parameters, no trend filter or vol overlay — and applies both corrections it calls for versus the HL carry attempt that died with no trades. Calibrated against the collected data rather than assumed priors, which surfaced one fact that would otherwise have guaranteed another zero-trade run: HYPERLIQUID FUNDING IS HOURLY, not 8-hourly (verified: median inter-print interval is exactly 1.0h across 11,885 BTC prints), so HL rates are ~1/8 the magnitude of Binance 8h prints. A Binance-scale threshold like -1e-4 is a level HL funding essentially never reaches; the thresholds here are ~1e-5 and the docstring warns against 'correcting' them upward. I also corrected the hypothesis's claim of HL history 'back to 2020' — funding history actually begins 2024-03 at the earliest and varies sharply by symbol (ETH 2024-06, BTC 2025-03, SOL 2025-06), which drove two choices: the universe excludes LINK (funding only from 2026-03) and AAVE (negative only 5.9% of prints) in favour of SOL/XRP/AVAX/DOGE, which are both liquid and genuinely negative-funding-prone (24-39% of prints); and the base's cross-leg alignment barrier is explicitly disabled, because those staggered listing dates mean the six legs never all align and the barrier's `if not buf: return` would deadlock the basket into zero evaluated bars — the exact failure mode that killed the sibling COIN-M basket (12,635 bars processed, 0 evaluated). Disabling it is correct here, not merely expedient: this strategy computes no cross-leg price relationship, only per-leg funding looked up by absolute timestamp. Threshold selection resisted best-of-N inflation: the entry/exit grid is a smooth monotone plateau where every threshold from -5e-6 to -2e-5 is net-positive after fees, and I took the interior point (-1.5e-5 / +5e-6, giving 24 trades/yr, ~11-day holds, 0.313% carry per trade = +0.223% net of the 0.090% round trip, 67% of trades clearing fees on carry alone) rather than the grid maximum (-2e-5 / +5e-6 at +0.289% on only 18 trades). Honest caveat for the analyst: with ~11-day long holds, price beta will dominate realized PnL and the funding carry is the margin of safety rather than the whole return; the 6-leg common funding window is ~394 days, so 24 trades is a workable but not deep sample. Verified locally: Layer-1 static analysis passes with no errors, all 6 Layer-2 synthetic scenarios pass, and a constructed instance confirms the barrier is empty with all 6 legs and per-symbol precisions resolving correctly.
Hypotheses
Weak, beta-contaminated, low-trade-count HL funding-carry basket — not worth 2 hours of optimization. Funding IS credited by the engine, so this is a real result, and it still fails: only 42 trades (funding history strands the effective window to 2023-2026, below the ~100-trade measurability floor, L10), Sharpe 0.295 with bootstrap CI [-0.47, 0.99] straddling zero, PSR 0.66, and information_ratio -0.80 (it underperforms its own equal-weight basket benchmark). The promoted Binance parent (Sharpe 1.97) did not transplant. Critically, the return is directional beta, not carry: avg_trade_return_pct is 2.81% over ~11-day holds — an order of magnitude above the hypothesis's own ~0.22% net-carry claim — and the result hinges on a single +14.0% day (2023-07-14), return_kurtosis 46.7, skew 2.2. The funding gate just selects which alts to hold long, so this is effectively the L49 long-only alt basket carrying crypto beta, which turns negative when alts fall (2026 -11.6%, stressed-regime Sharpe -0.21); the last-20% holdout sits in that losing window and would likely fail. Risk is contained (max_drawdown 17.8%, PF 1.89, no liquidation), so this is not a blowup, but a 42-trade, Sharpe-0.30, outlier-beta-driven result that is worse than holding the basket cannot be rescued by tuning three thresholds — the carry signal is buried under directional beta on this sample, and the proven mechanism is already captured at paper on Binance majors. Failure pattern: no_edge/overfit low-trade-count long-only basket, directional-beta-driven (L10/L49).
Implementation
Long-only negative-funding carry basket on six liquid Hyperliquid perps (BTC/ETH/SOL/XRP/AVAX/DOGE USD), DAILY decision bars. Each day it computes every member's 24h trailing-mean funding and, using an ABSOLUTE threshold gate (not a cross-sectional both-sides rank), holds an equal-weight LONG in the up-to-3 members whose mean is <= -0.000015 per HOUR — most negative first, i.e. paid the most to be long. A leg is exited only once its trailing mean climbs back above +0.000005, a hysteresis band that produces ~11-day holds so accrued funding clears the ~0.090% HL round-trip taker cost. Legs are sized linearly in coin units (usd_notional / price) with per-symbol quantity precision. Funding series are parsed once into sorted numpy arrays and read by searchsorted, so per-bar cost is O(log n).
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
Data/plumbing works: funding loaded (12,298 events), 42 trades produced, no liquidation — fixes the prior HL zero-trades attempt
Backtest Review
Contained risk: max_drawdown 17.8%, profit_factor 1.89, commission only 1.63% of gross
Backtest Review
Proven parent mechanism (Binance negative-funding carry, Sharpe 1.97, at paper)
Backtest Review
Only 42 trades (effective window 2023-2026) — below the ~100-trade measurability floor (L10)
Backtest Review
Sharpe 0.295 with CI [-0.47, 0.99] straddling zero, PSR 0.66, information_ratio -0.80 (underperforms the equal-weight basket) — mechanism did not transplant from Binance
Backtest Review
Return is directional beta, not carry: avg_trade_return_pct 2.81% is ~10x the hypothesis's own 0.22% carry claim, and a single +14.0% day (kurtosis 46.7) dominates — L49 long-only alt basket riding crypto beta
Backtest Review
2026 negative (-11.6%), stressed-regime Sharpe -0.21 — the last-20% holdout sits in a losing window and would likely fail
Backtest and paper results are hypothetical. Trading involves risk of loss.