HyperliquidCrossSectionalShortTermReversalDollarNeutralBasket4H
Hypotheses
Hyperliquid Cross-Sectional Short-Term Reversal, Dollar-Neutral Long-Short Basket (8 Liquid HL Perps, 4H Bars, Fade 1-Day Overextension in a Retail-Flow Venue, Dispersion-Gated, Low-Parameter)
Hypotheses
A DOLLAR-NEUTRAL, LONG-SHORT cross-sectional SHORT-TERM REVERSAL basket traded entirely on Hyperliquid perpetuals (venue HYPERLIQUID, which the portfolio is under-weight at 7.1% vs a >=20% target, and long_short direction is under-weight at 15.7% vs a <=55% cap). Universe = ~8 liquid HL majors (BTC, ETH, SOL, BNB, DOGE, AVAX, LINK, ARB) on 4H bars. 4H on Hyperliquid has ~2.3 years of usable candle history (well inside the HL sub-hourly data wall — this is deliberately NOT a 1m/5m/15m HL design), so it validates on multi-year data. This is MECHANISTICALLY ORTHOGONAL to the cross-sectional MOMENTUM basket already in the pipeline: it uses the OPPOSITE sign and a much SHORTER lookback (trailing 1-day return), betting on mean-reversion of overextension rather than trend continuation. The premise is a documented crypto short-term-reversal / overreaction effect that should be STRONGER on Hyperliquid specifically: HL is a retail-flow-heavy, momentum-chasing venue whose funding and price frequently overshoot on 1-day horizons, creating transient dispersion in the cross-section that reverts once the crowd rotates. Dollar-neutral construction (equal long and short notional) strips out market beta, so the P&L is the relative reversion spread, not a directional bet — this is the key defense against the single-asset-trend and directional-funding failure modes that killed prior hypotheses. Low-parameter by design (lookback, dispersion gate, hold, leg count) to resist the overfitting/deflated-Sharpe rejections that recur in the portfolio.
Hypotheses
ITERATION 2 FIX (Layer 2 — synthetic scenarios): all six scenarios failed with `_bar_ts() takes 1 positional argument but 2 were given`. Root cause: the subclass declared `_bar_ts` as a `@staticmethod`, but the Layer-2 `_StrategyProxy` rebinds strategy methods onto a proxy object in a way that drops the staticmethod descriptor, so `self._bar_ts(bar)` passed `self` as an extra positional argument. Minimal fix applied: DELETED the `_bar_ts` staticmethod override entirely and inlined the two-line timestamp read (`getattr(bar, 'ts_event')` with `ts_init` fallback) directly in `calculate_signal`, with a comment recording why the helper must not be reintroduced. No other line changed — imports are untouched (Layer 1 stays green: no banned imports, same class/method structure), and the signal logic, dispersion gate, ranking sign, sizing, and rebalance machinery are byte-identical to the previously-passing iteration, so nothing that already worked is put at risk. Everything below is unchanged from iteration 1. The strategy ranks ASCENDING and longs losers / shorts winners over a trailing 1-day (6-bar) lookback — the opposite sign and a far shorter lookback than the momentum basket, keeping it mechanistically orthogonal. Equal long and short notional makes the book structurally dollar-neutral, so P&L is the relative reversion spread, not a directional bet. Routed to HYPERLIQUID per the under-weight thesis; a MARGIN account is required because the strategy shorts. leverage stays 1.0 because gross_cap=1.0 makes gross exposure == equity (0.5x long + 0.5x short), and leverage is still referenced in per-leg sizing so the leverage-unused gate is respected. 4H only (~2.3y of usable HL history — all 8 members verified present in the catalog). Fee viability: the top-vs-bottom 1-day return spread across 8 crypto majors is routinely 5-10% and the gate only opens above a 2% cross-sectional std, well over an order of magnitude above HL's ~0.09% round-trip cost, with resize_frac suppressing churn. Exactly four tunables to resist deflated-Sharpe rejection.
Hypotheses
The short-term-reversal premise is falsified by the data, not broken by code or parameters. The strategy loses money in all three years (total -47.3%, CAGR -22.8%) with Sharpe -1.635 (CI entirely negative), PF 0.878, IR -0.40, and rolling Sharpe negative across essentially the whole 2.4-year sample. This is the mirror image of the (weak but positive) cross-sectional MOMENTUM sibling: on this HL basket the reversal sign has structurally negative edge. Optimization cannot rescue a uniformly-losing signal — there is no robust parameter region to tune toward (no cliff, the entire surface is a loss), and lengthening the lookback until it profits would merely re-create the already-existing momentum basket. The code correctly implements the hypothesis (dollar-neutral, longs losers/shorts winners), so this is a dead-premise failure, not an iterate-able code bug. Spending 2 hours optimizing a negative-edge, high-churn (turnover 257, commission 5.48% of gross) reversal would only fit noise.
Implementation
Dollar-neutral cross-sectional SHORT-TERM REVERSAL basket on 8 liquid Hyperliquid perps (BTC, ETH, SOL, BNB, DOGE, AVAX, LINK, ARB) using 4H bars. Every 6 bars (~1 day) it ranks all 8 coins by trailing 1-day return (6 x 4H bars) and fades the overextension: LONG the weakest 2 (oversold bounce candidates), SHORT the strongest 2 (overbought fade candidates), in equal dollar notional per leg so long notional == short notional. A cross-sectional dispersion gate (std of the 8 one-day returns must exceed 2%) keeps the book FLAT when there is no real overextension to fade, avoiding fee churn on noise. Rebalances via direct per-leg HL orders on timestamp-aligned 4H bars; same-side books resize only on a material delta; side flips close then reopen. Base single-position hooks are inert.
Verification Results
Verification failed (Layer 2 — synthetic scenarios):
Parameters used: ['assets', 'n_legs', 'lookback', 'gross_cap', 'skip_bars', 'resize_frac', 'min_notional', 'qty_precision', 'min_dispersion', 'rebalance_bars', 'supplementary_data', 'default_qty_precision']
Check that __init__ sets all attributes from self.parameters.get().
- steady_uptrend: TypeError: HyperliquidCrossSectionalShortTermReversalDollarNeutralBasket4H._bar_ts() takes 1 positional argument but 2 were given (bar timestamp: 1735690740000)
- steady_downtrend: TypeError: HyperliquidCrossSectionalShortTermReversalDollarNeutralBasket4H._bar_ts() takes 1 positional argument but 2 were given (bar timestamp: 1735690740000)
- flat_ranging: TypeError: HyperliquidCrossSectionalShortTermReversalDollarNeutralBasket4H._bar_ts() takes 1 positional argument but 2 were given (bar timestamp: 1735690740000)
- volatility_spike: TypeError: HyperliquidCrossSectionalShortTermReversalDollarNeutralBasket4H._bar_ts() takes 1 positional argument but 2 were given (bar timestamp: 1735690740000)
- zero_volume: TypeError: HyperliquidCrossSectionalShortTermReversalDollarNeutralBasket4H._bar_ts() takes 1 positional argument but 2 were given (bar timestamp: 1735690740000)
- price_gap: TypeError: HyperliquidCrossSectionalShortTermReversalDollarNeutralBasket4H._bar_ts() takes 1 positional argument but 2 were given (bar timestamp: 1735690740000)
Backtest Review
Code faithfully implements the hypothesis: dollar-neutral (beta -0.06), longs biggest 1-day losers / shorts biggest winners, dispersion-gated, adequate trade count (920).
Backtest Review
Differentiated venue/direction (HYPERLIQUID, long/short) as intended.
Backtest Review
Structurally, consistently negative: every year loses (2024 -31.9%, 2025 -16.9%, 2026 -5.5%), total -47.3%, CAGR -22.8%.
Backtest Review
Deeply negative risk-adjusted metrics: Sharpe -1.635 (CI entirely below 0), Sortino -1.67, probabilistic_sharpe 0.012, information_ratio -0.40, alpha -0.146.
Backtest Review
profit_factor 0.878 with rolling Sharpe negative across nearly the entire sample — no cliff, a uniformly losing sign.
Backtest Review
Fee-fragile: turnover 257, commission 5.48% of gross from a ~1-day rebalance cadence, compounding the negative signal.
Outcome Summary
HyperliquidCrossSectionalShortTermReversalDollarNeutralBasket4H bet that Hyperliquid's retail-driven prices overshoot on ~1-day horizons, going long the worst 1-day performers and short the best in a dollar-neutral, dispersion-gated basket built deliberately low-parameter to dodge prior overfitting rejections. The code implemented the thesis cleanly — beta -0.06, 920 trades — but the edge was structurally negative, losing money in all three calendar years for a -47.3% total return, -22.8% CAGR, and a Sharpe of -1.635 with a confidence interval entirely below zero. The backtest reviewer abandoned it before optimization, concluding the reversal premise was falsified rather than mis-tuned: the entire performance surface was a loss with no cliff to tune toward, and lengthening the lookback until it profited would merely recreate the existing momentum basket. This was recorded as a dead-premise failure on its second iteration — the losing mirror image of the weakly positive cross-sectional momentum sibling already in the pipeline.
Outcome Summary
A mechanism can be implemented faithfully and still have a structurally negative edge; the short-term reversal sign is the losing mirror of the (weakly positive) cross-sectional momentum sibling on this Hyperliquid basket, and no amount of optimization can rescue a signal that loses across the entire sample.
Outcome Summary
It was abandoned at the pre-optimization BACKTEST_REVIEW gate: the reviewer ruled the reversal premise falsified by the data — a uniformly losing sign with no cliff and no robust parameter region — so optimization was skipped entirely and the analyst/optimization stages were never reached.
Outcome Summary
A dollar-neutral, long-short cross-sectional short-term reversal basket on 8 liquid Hyperliquid perps (BTC, ETH, SOL, BNB, DOGE, AVAX, LINK, ARB) on 4H bars, fading 1-day overextension by going long the biggest losers and short the biggest winners, gated by cross-sectional dispersion.
Outcome Summary
Over ~401 days and 920 trades the strategy was structurally and consistently negative: total return -47.3%, CAGR -22.8%, Sharpe -1.635 (confidence interval entirely below zero), Sortino -1.67, profit factor 0.878, information ratio -0.40, and probabilistic Sharpe 0.012. It was dollar-neutral as intended (beta -0.06) but lost money in every year (2024 -31.9%, 2025 -16.9%, 2026 -5.5%) with turnover of 257 and commissions at 5.48% of gross.
Backtest and paper results are hypothetical. Trading involves risk of loss.