Skip to content

View translation

EthHyperliquid4hVwapMeanReversionGeomGatedLS

Hypotheses

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)

Hypotheses

A LONG-SHORT, SINGLE-INSTRUMENT, 4-HOUR mean-reversion strategy on ETHUSD.HYPERLIQUID that fades stretched dislocations on both sides (buy stretched-below-mean, short stretched-above-mean) and exits on reversion toward a 4H VWAP/EMA. This is the directly analyst-recommended next move, grounded in three fresh facts: (1) the HL BTC daily TS-momentum LS just PROMOTED (Sharpe 0.68) — the BTC momentum edge is captured at daily cadence, so do NOT re-express BTC momentum at other cadences; (2) the 4H probe proved HL 4H has GENUINE DEPTH (~1.3yr from 2024-01, 178 trades) — it is NOT the ~2-month sub-hourly wall and is MORE validatable than daily (178 vs ~30 trades), with a 15-day holdout spanning ~90 4H bars (vs ~15 daily); (3) the analyst's explicit guidance: pursue 4H on a DIFFERENT mechanism/instrument — e.g. ETH mean-reversion at 4H. This hypothesis is exactly that. Why it is the strongest available slot: 4H is the ONLY HL sub-daily cadence with CONFIRMED adequate depth (15-min is data-walled at ~2mo and banned; daily is holdout-sparse; 1H depth is still unverified — the pending 1H ETH probe is riskier). It uses the clean-sizing ETH instrument (64.5%; over-exposure localized to BINANCE + HL SOL early data), mechanism-matched to ETH's CHOP (ETH lacked momentum/breakout edge, which is exactly the regime mean-reversion exploits), and the mechanism is DISTINCT from the promoted BTC-momentum sibling (adds genuine diversification, not a clone). It fills the dominant direction gap (long_only 85.9% vs <=55%) and the under-weight HL venue (7.3% vs >=20%). CRITICAL GEOMETRY FIX (carried from what just worked): every prior VWAP-reversion run failed on INVERTED payoff geometry (avg_win < avg_loss); this uses an EXPLICIT geometry gate — only enter when distance(price, mean target) >= geom_mult x stop_distance (geom_mult > 1), net of the ~0.09% HL round-trip — so avg_win > avg_loss BY CONSTRUCTION (the same wide-target/tight-stop discipline that gave the 4H BTC momentum run avg_win 5,077 > avg_loss 2,365). Bug-avoiding: pure OHLCV, fixed-fractional size, NO dynamic resizing, leverage 1.0, dual flat guard, flip-via-flat. REGIME GATE blocks fading genuine trends (no dip-buy in strong downtrend, no rip-fade in strong uptrend). PRE-REGISTERED ACCEPTANCE: (1) GEOMETRY — realized avg_win > avg_loss must hold, else the gate failed -> abandon. (2) SIZING — avg_position_pct should track ~95-100%; mild benign winning-leg notional drift (the 4H BTC run's 120.9% with plausible single-period returns) is acceptable, but a >~150% reading with impossible single-period returns means escalate. Data depth is already CONFIRMED for 4H, so no data-wall kill-switch needed (unlike sub-hourly). Low parameter count (mean lookback, stretch threshold, geom_mult, regime EMA, ATR stop, time stop).

Hypotheses

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.

Hypotheses

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

Verification failed (Layer 2 — synthetic scenarios): Parameters used: ['exit_z', 'entry_z', 'fee_frac', 'geom_mult', 'size_frac', 'atr_period', 'min_notional', 'atr_stop_mult', 'max_hold_bars', 'vwap_lookback', 'regime_ema_len', 'regime_trend_thresh', 'regime_slope_lookback'] Check that __init__ sets all attributes from self.parameters.get(). - steady_uptrend: TypeError: EthHyperliquid4hVwapMeanReversionGeomGatedLS._ema() takes 2 positional arguments but 3 were given (bar timestamp: 1735693860000) - steady_downtrend: TypeError: EthHyperliquid4hVwapMeanReversionGeomGatedLS._ema() takes 2 positional arguments but 3 were given (bar timestamp: 1735693860000) - flat_ranging: TypeError: EthHyperliquid4hVwapMeanReversionGeomGatedLS._ema() takes 2 positional arguments but 3 were given (bar timestamp: 1735693860000) - volatility_spike: TypeError: EthHyperliquid4hVwapMeanReversionGeomGatedLS._ema() takes 2 positional arguments but 3 were given (bar timestamp: 1735693860000) - zero_volume: TypeError: EthHyperliquid4hVwapMeanReversionGeomGatedLS._ema() takes 2 positional arguments but 3 were given (bar timestamp: 1735693860000) - price_gap: TypeError: EthHyperliquid4hVwapMeanReversionGeomGatedLS._ema() takes 2 positional arguments but 3 were given (bar timestamp: 1735693860000)

Backtest Review

Ample trade count (241) and confirmed 4H data depth (~449 days) — the failure is statistically real, not a small-sample artifact

Backtest Review

Clean construction (pure OHLCV, fixed-fractional sizing, plausible avg_position_pct 97.3%, no impossible single-period returns)

Backtest Review

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

Backtest Review

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

Backtest Review

Loses across regimes: 2024 -67.7%, 2025 -40.9%; only the partial 2026 (+19.5%) is positive

Backtest Review

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

Backtest Review

Commission drag 7.3% of gross compounds the structural loss

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.

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.

Outcome Summary

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.

Outcome Summary

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.

Outcome Summary

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.
Strategy report

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