Strategies
Hyperliquid ETH 4-Hour Mean-Reversion to VWAP/EMA, LONG/SHORT (Single-Instrument HYPERLIQUID Perp, Pure OHLCV, Two-Sided Fade With EXPLICIT Target>Stop Geometry Gate, Flip-Via-Flat, Regime-Gated, Fixed-Fractional Sizing — Analyst-Directed 4H ETH-Reversion on the CONFIRMED-DEEP/Evaluable 4H Cadence [~1.3yr/178-trade class], Distinct Mechanism From the Promoted BTC Momentum, Fills Long-Short + HL Venue, Tail-Safe, Low-Parameter)
Outcome: Abandoned
EthHyperliquid4hVwapMeanReversionGeomGatedLS
Outcome Summary
Directed by the analyst toward a distinct mechanism on the confirmed-deep HL 4H cadence, this strategy faded stretched ETH dislocations back to VWAP with an explicit wide-target/tight-stop geometry gate intended to make winners exceed losers by construction and a regime filter to avoid fighting trends. In practice it failed decisively: across an ample 241-trade, 449-day sample it lost 80.2% with a Sharpe of -1.64, a profit factor of 0.585 and an 87.7% drawdown, losing in 2024, 2025 and most of the series. The decisive break was that realized avg_win (1,057) fell below avg_loss (1,348) — the geometry gate inverted because fades were stopped out before reverting and the regime EMA failed to screen out the trending run-over moves. Because the hypothesis had pre-registered that exact condition as a hard abandon trigger, the backtest-review gate abandoned it without optimization, concluding two-sided VWAP mean-reversion simply does not work on ETH 4H.
Hypothesis
Iteration-2 fix for the Layer-2 failure 'EthHyperliquid4hVwapMeanReversionGeomGatedLS._ema() takes 2 positional arguments but 3 were given'. Root cause: _ema was a @staticmethod with signature (values, span); in the Layer-2 synthetic execution path the call self._ema(values, span) passed the instance as an extra positional argument, so a 2-arg static method received 3 args. Smallest fix: convert _ema to a normal instance method def _ema(self, values, span) — its body is unchanged and all call sites already use self._ema(...), which now binds correctly in every execution context (real backtest and Layer-2 proxy alike). No other logic, imports, parameters, or the geometry/regime/sizing gates were touched, so all earlier-passing layers remain intact.
The hypothesis's own pre-registered acceptance criterion routes this to abandon: realized avg_win (1,057) < avg_loss (1,348), so the explicit target>stop geometry gate FAILED — despite the code-level gate, fades are stopped out before reverting to VWAP, inverting the intended payoff. Confirmed by catastrophic, regime-wide losses (total_return -80.2%, Sharpe -1.64 with a fully-negative CI, profit_factor 0.585, negative expectancy -320/trade, 87.7% max drawdown, PSR 0.013) over an ample 241-trade sample, so the failure is structural, not small-sample noise. Two-sided VWAP mean-reversion does not work on ETH 4H — dislocations extend past the entry rather than revert, and the regime EMA gate does not filter the trending run-over moves that produce the large losing legs. Optimization cannot rescue a strategy that loses 80% with negative expectancy and a failed core geometry premise; per the pre-registered rule, abandon rather than spend 2 hours tuning.
Implementation
Two-sided 4H mean-reversion on ETHUSD.HYPERLIQUID: fades stretched dislocations from a rolling volume-weighted mean (z-score of close vs 30-bar VWAP), going long when stretched below and short when stretched above, exiting on reversion toward the mean, an ATR stop fixed at entry, a hard wrong-way band, or a time stop. An explicit geometry gate requires target distance (price→VWAP) ≥ geom_mult × ATR stop distance and clearance of the HL round-trip fee, enforcing avg_win > avg_loss by construction. A long-horizon EMA-slope regime gate blocks fading genuine trends. Pure OHLCV, fixed-fractional sizing, leverage 1.0, flip-via-flat.
Verification Results
Backtest Review
- Sharpe
- -1.64
- Total return
- -80.22%
- Max drawdown
- 87.74%
- Trades
- 241
- Win rate
- 42.7%
- Profit factor
- 0.59
Ample trade count (241) and confirmed 4H data depth (~449 days) — the failure is statistically real, not a small-sample artifact
Clean construction (pure OHLCV, fixed-fractional sizing, plausible avg_position_pct 97.3%, no impossible single-period returns)
PRE-REGISTERED ABANDON TRIGGER FIRED: realized avg_win (1,057) < avg_loss (1,348) — the explicit target>stop geometry gate failed in realized terms (fades stopped out before reverting), the exact condition the hypothesis said must abandon
Catastrophic performance: total_return -80.2%, Sharpe -1.64 (CI fully negative [-2.98,-0.19]), profit_factor 0.585, expectancy -320/trade, max_drawdown 87.7%, PSR 0.013
Loses across regimes: 2024 -67.7%, 2025 -40.9%; only the partial 2026 (+19.5%) is positive
Negative-expectancy mean-reversion: ETH 4H dislocations keep extending past entries; the regime gate fails to filter the run-over moves the fade gets caught in
Commission drag 7.3% of gross compounds the structural loss
Outcome Summary
A code-level target>stop geometry gate does not guarantee a positive realized payoff — if the underlying dislocations keep extending past entries, two-sided VWAP mean-reversion on ETH 4H is stopped out before reverting and loses across regimes, so pre-registering avg_win > avg_loss as a hard abandon trigger correctly kills it before wasting optimization time.
The backtest-review gate returned an 'abandon' verdict before any optimization (optimization never ran): the hypothesis's own pre-registered acceptance criterion required avg_win > avg_loss and it failed, with fades stopped out before reverting and the regime gate failing to filter trending run-over moves — a structural negative-expectancy failure on a large sample, not small-sample noise; the final stage is abandoned.
A long/short, single-instrument 4-hour two-sided mean-reversion strategy on Hyperliquid ETH that fades stretched dislocations back toward a rolling VWAP, with an explicit target>stop geometry gate (target distance ≥ geom_mult × stop distance) meant to force avg_win > avg_loss by construction, plus a regime EMA gate to avoid fading genuine trends.
Over 449 days and an ample 241-trade sample (107 long/134 short) it lost catastrophically: total return -80.2%, Sharpe -1.64 (CI fully negative [-2.98, -0.19]), profit factor 0.585, expectancy -320/trade, 87.7% max drawdown and PSR 0.013, losing across regimes (2024 -67.7%, 2025 -40.9%, only partial 2026 +19.5%); crucially realized avg_win (1,057) came in below avg_loss (1,348), so the intended payoff geometry inverted.
Backtest and paper results are hypothetical. Trading involves risk of loss.