Strategies
Hyperliquid Cross-Sectional Short-Horizon Reversal, Market-Neutral Basket (Long the 3-Day Biggest Losers, Short the 3-Day Biggest Winners, Inverse-Vol Weighted, Dollar-Neutral, 3-Day Rebalance)
Outcome: Abandoned
HyperliquidCrossSectionalShortHorizonReversalNeutralLS
Backtest gate: - metrics unreliable: 2043 trades / 2207 data days is too little evidence (need >=5 trades over >=10 days) — increase signal frequency or widen the window
Hypothesis
backtest_failed:data: the full backtest could not run 3 times — ktest_agent.py", line 424, in _ensure_funding_for_perp_legs raise RuntimeError( RuntimeError: Funding data unavailable for perp leg 'ETHUSD.HYPERLIQUID' — on-demand collection failed or the venue has no funding history (backtest blocked for accuracy; set SF_DISABLE_ONDEMAND_FUNDING=1 to bypass) Pipeline/data failure, not a verdict on the strategy; revive once the cause is fixed.
Implementation
Dollar-neutral cross-sectional short-horizon reversal on 12 liquid Hyperliquid perps (1-DAY bars). Each rebalance the universe is ranked by trailing return divided by the name's own ATR% (displacement in its own sigmas); the strategy goes LONG the names that have overshot furthest down and SHORT those that have overshot furthest up, requiring an entry_z-sigma dislocation on both sides. Sleeves hold an equal number of names, are inverse-volatility weighted inside each sleeve, and are scaled to equal dollar notional so the book carries no net market beta; gross is scaled down when fewer names qualify. Rebalance timing is anchored to the bar's own calendar date, and held sides are adopted from the cache on a fresh process so restarts cost no round trip.
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.
No change required; optimizer sweeps lookback_days and rebalance_days over [1,4]. Confirm the promoted config's horizon stays within the '1-3 day' claim.
The hypothesis title/body repeatedly names a 3-day lookback and 3-day rebalance, but the code defaults lookback_days=1 and rebalance_days=1 (iteration-3 change). This is within the hypothesis's own stated '1-3 day' anomaly window and the param bounds [1,4] cover 3, and the STRUCTURE (rank/long-losers/short-winners/inverse-vol/dollar-neutral/calendar rebalance) is unchanged, so it is not a structural mismatch. Flagging only so the analyst knows the defaults sit at the fast edge of the stated window; the optimizer will sweep lookback_days/rebalance_days.
Sandbox (unoptimized smoke test) is deeply negative and repeats the signature of the two prior abandoned iterations: avg_trade_return_pct -0.155% (negative, below the ~0.09% HL round-trip floor), profit_factor 0.80, total_return -53.6%, expectancy -$25.7/trade over 2086 trades, and negative in the calm (-55.3%) and stressed (-28.6%) vol terciles. long_win_rate 0.477 vs short_win_rate 0.521 hints the long-losers sleeve is on the wrong side of continuation even at the 1-day horizon. This is the third horizon variant of the same mechanism to lose on the smoke test; the analyst should verify at the backtest that the 1-day vol-adjusted reversal actually produces per-trade moves clearing the ~0.09% HL round trip before spending optimization budget, since iterations at 2-6 day windows already failed and only the 1-day corner remains. Advisory only — not a correctness issue.
Analysis
Backtest gate: - metrics unreliable: 2043 trades / 2207 data days is too little evidence (need >=5 trades over >=10 days) — increase signal frequency or widen the window
Iteration History
Verification failed (Layer 4 — QA review): - Fee-viability / no-edge failure, now confirmed by a decisive second test (checklist #7, L6/L7). This is iteration 2 of the HL cross-sectional short-horizon reversal. Iteration 1 (rank on RAW trailing return) produced avg_trade_return_pct -0.165% and Sharpe -1.77; QA failed it as sub-fee/no-edge. The developer correctly diagnosed that raw-return ranking degenerates into a static short-vol-alt tilt and rebuilt the selection on VOL-ADJUSTED displacement (return/ATR%) plus an entry-z extremity gate and lower turnover — the strongest remaining version of the hypothesis. The result is WORSE: avg_trade_return_pct = -0.998% (per-trade return deeply negative, ~11x the ~0.09% HL round-trip cost in the wrong direction), Sharpe -2.45, total_return -18.0%, profit_factor 0.63, win_rate 0.45, over 151 trades. probabilistic_sharpe 0.0013 and sharpe_ci_high -0.85 (entire Sharpe CI below zero). The short-horizon cross-sectional reversal effect is absent on these 12 HL names at a 2-6 day horizon.
Verification failed (Layer 4 — QA review): - Third consecutive decisive no-edge/fee-viability failure (checklist #7, L6/L7) — the horizon space of the hypothesis is now exhausted. Iteration 1 (raw return, 2-6d rank / 3-8d hold): avg_trade_return_pct -0.165%, Sharpe -1.77. Iteration 2 (vol-adjusted, gated, 2-6d): -0.998%, Sharpe -2.45. Iteration 3 (this one, vol-adjusted, gated, 1-day rank / 1-day hold — the last untested corner of the stated '1-3 day' window): total_return -7.45%, Sharpe -1.93 with the ENTIRE Sharpe CI below zero (sharpe_ci_high -0.376), profit_factor 0.90, over 522 trades. avg_trade_return_pct is +0.045% — positive but well below the 0.15% fee floor — and net per-trade expectancy is negative (avg_trade_pnl_usd -13.79), so the book still does not clear the ~0.09% HL round trip. The cross-sectional short-horizon reversal effect does not exist on these 12 HL names at any daily horizon; twice the data pointed at the mirror (continuation) sign. This is the 0/213 cross-sectional-OHLCV-rank survival class.
Backtest Review
- Sharpe
- 0.80
- Total return
- -54.26%
- Max drawdown
- 55.05%
- Trades
- 2043
- Win rate
- 49.7%
- Profit factor
- 0.79
Backtest and paper results are hypothetical. Trading involves risk of loss.