Skip to content

View translation

HyperliquidEthSessionOpeningRangeBreakoutLS1H

Hypotheses

Hyperliquid ETH UTC-Session Opening-Range Breakout, Long-Short (Single-Instrument Perp, 1H, Pure OHLCV, Asia/EU Range -> US-Session Expansion Break, ATR Stop, Session-End/Trailing Exit, Low-Parameter)

Hypotheses

A LONG-SHORT, SINGLE-INSTRUMENT, pure-OHLCV intraday OPENING-RANGE-BREAKOUT strategy on ETHUSD.HYPERLIQUID perpetual futures (1-HOUR bars). It fills the two most under-represented portfolio buckets simultaneously: HYPERLIQUID venue (5.7% vs the >=20% live-trading quota, the single largest gap, and where the factory is shifting live execution) and long_short direction (14.5%). The mechanism is deliberately ORTHOGONAL to the two HL/intraday strategies already in the book: it is NOT a volatility-regime squeeze (HyperliquidSolVolSqueezeBreakout1H) and NOT a single-impulse-bar ride (Sol/Eth ImpulseBarContinuation). Instead it exploits intraday SESSION STRUCTURE: crypto's 24h tape still shows a recurring handoff pattern in which the Asia/Europe hours (anchored from 00:00 UTC) establish a daily opening range, and that range is most often expanded/resolved directionally during the US session. The strategy defines the opening range, then trades the first clean break of it with the session's directional bias, going long on an upside break and short on a downside break. Pure OHLCV means zero supplementary-data dependency (sidestepping the HL funding/OI/liquidation data-availability failures), and 1H bars give ~24 bars/day so even a moderate HL history yields a large, validatable trade sample (one trade/day). Kept intentionally low-parameter (4 core params) to resist the overfitting that has been the recurring abandonment cause.

Hypotheses

Iteration 2 fix for the Layer-2 synthetic failure: `_bar_ts()` was a `@staticmethod`, but the Layer-2 `_StrategyProxy` rebinds strategy methods so `self._bar_ts(bar)` passed `(self, bar)` = 2 args to a 1-arg static function, raising TypeError on every scenario. Converted `_bar_ts` to a normal instance method `def _bar_ts(self, bar)` so the signature matches under both direct and proxied invocation. This is the smallest possible change — all signal logic, session/range structure, ATR bracket exits, leverage-aware sizing, imports, and class structure (all of which passed Layer 1) are untouched, so no earlier layer regresses.

Hypotheses

Not worth optimizing: the base backtest is fundamentally losing, not marginal. The raw signal has a NEGATIVE edge (profit_factor 0.816 — gross losses exceed gross wins, Sharpe -2.15, Sortino -4.83, negative expectancy, PSR 0.0395), and it is compounded by punishing cost drag inherent to the 1H design (commission 18.06% of gross plus ~$17.7k impact). The strategy implements the hypothesis correctly (193 trades, ~1/day, balanced long/short, session-end flat), so there is no code bug to iterate on — the intraday UTC-session opening-range premise simply has no directional edge on ETH HL over the tested window. The sample is also only 193 days (single regime), so best-of-N optimization would fit ~6 months of noise rather than find a robust edge. Optimization cannot flip a negative-PF, high-fee signal into a promotable one; abandon rather than spend 2 hours. (If the session-structure idea is pursued later, it needs a longer, multi-regime history and a far lower-frequency construction to escape the fee axis — a premise reframe, not a parameter tune.)

Implementation

Long-short intraday opening-range-breakout on ETHUSD Hyperliquid perp (1H, pure OHLCV). Builds a daily opening range over the first range_hours from 00:00 UTC, then trades the first clean close-break of that range in the break's direction during the US session, one trade per UTC day, with an ATR initial stop plus ATR trailing stop and a session-end/day-rollover flat (no overnight carry).

Verification Results

Verification failed (Layer 2 — synthetic scenarios): Parameters used: ['risk_frac', 'atr_period', 'range_hours', 'min_notional', 'stop_atr_mult', 'trail_atr_mult', 'session_end_hour'] Check that __init__ sets all attributes from self.parameters.get(). - steady_uptrend: TypeError: HyperliquidEthSessionOpeningRangeBreakoutLS1H._bar_ts() takes 1 positional argument but 2 were given (bar timestamp: 1735690500000) - steady_downtrend: TypeError: HyperliquidEthSessionOpeningRangeBreakoutLS1H._bar_ts() takes 1 positional argument but 2 were given (bar timestamp: 1735690500000) - flat_ranging: TypeError: HyperliquidEthSessionOpeningRangeBreakoutLS1H._bar_ts() takes 1 positional argument but 2 were given (bar timestamp: 1735690500000) - volatility_spike: TypeError: HyperliquidEthSessionOpeningRangeBreakoutLS1H._bar_ts() takes 1 positional argument but 2 were given (bar timestamp: 1735690500000) - zero_volume: TypeError: HyperliquidEthSessionOpeningRangeBreakoutLS1H._bar_ts() takes 1 positional argument but 2 were given (bar timestamp: 1735690500000) - price_gap: TypeError: HyperliquidEthSessionOpeningRangeBreakoutLS1H._bar_ts() takes 1 positional argument but 2 were given (bar timestamp: 1735690500000)

Backtest Review

Strategy functions and matches the hypothesis: 193 entries (~one/UTC day), balanced 100 long / 93 short, intraday with session-end flat (avg hold 5h17m, exposure 19.4%) — the ORB mechanism is faithfully implemented, no code bug.

Backtest Review

Fills genuine portfolio gaps (Hyperliquid venue + long_short) and is pure-OHLCV, low-parameter as intended.

Backtest Review

Fundamentally negative edge: Sharpe -2.15 (CI up to only +0.08), Sortino -4.83, profit_factor 0.816 (gross losses exceed gross wins — the raw directional signal loses), negative expectancy (-$102/trade), total_return -19.4%, PSR 0.0395.

Backtest Review

Severe, structural cost drag: commission_pct_of_gross 18.06% plus ~$17.7k impact — 1H session churn is fee-hostile and would consume any thin edge even if one existed.

Backtest Review

Thin, single-regime sample: only 193 days of HL history — optimization would fit ~6 months of noise, not a robust edge.

Outcome Summary

This strategy targeted the factory's two biggest portfolio gaps — the Hyperliquid venue and long-short direction — with a clean, low-parameter intraday opening-range breakout on ETH that traded the US-session resolution of the Asia/EU range. It ran exactly as designed with a balanced long/short book, but the premise simply had no directional edge on ETH HL over the tested window: negative Sharpe (-2.15), profit factor 0.816, and -19.4% return, all worsened by fee drag consuming 18% of gross on 1H churn. With no bug to iterate on and only 193 days of single-regime history, the analyst abandoned it at the backtest-review gate rather than optimize noise. It never reached optimization, risk review, or paper trading.

Outcome Summary

An intraday 1H session-structure breakout must clear a very high fee bar (here 18% of gross) and needs a long, multi-regime history to validate — a negative-profit-factor, high-fee signal on a thin single-regime sample cannot be optimized into a promotable strategy and would require a lower-frequency premise reframe, not a parameter tune.

Outcome Summary

The analyst issued an 'abandon' verdict at the pre-optimization backtest-review gate: the raw directional signal lost money (profit factor below 1.0) with no code bug to fix, the punishing 1H-churn cost drag would consume any thin edge, and the single-regime 193-day sample meant optimization would only fit ~6 months of noise.

Outcome Summary

A long-short, single-instrument intraday opening-range-breakout strategy on ETHUSD.HYPERLIQUID 1H perpetual futures that used the Asia/Europe hours from 00:00 UTC to define a daily range, then traded the first clean US-session break of it (long on an upside break, short on a downside break) with an ATR trailing stop and session-end flat — chosen to fill the under-represented Hyperliquid venue and long-short direction buckets with pure OHLCV.

Outcome Summary

It implemented the hypothesis faithfully (193 entries, ~one per UTC day, balanced 100 long / 93 short, avg hold 5h17m) but had a fundamentally negative edge: total return -19.4%, Sharpe -2.15 (CI up to only +0.08), Sortino -4.83, profit factor 0.816, negative expectancy (-$102/trade), PSR 0.0395, and a 25% max drawdown. It was also crushed by fee drag, with commissions at 18.06% of gross plus ~$17.7k of impact, over just 193 days of Hyperliquid history.
Strategy report

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