SolOpenInterestConfirmedBreakout
Hypotheses
SOL Perp Open-Interest-Confirmed Trend Continuation — Long-Short, Daily, Ride Breakouts Backed by Fresh Positioning / Stand Aside on Unbacked Moves (HYPERLIQUID SOLUSDT Perp, Daily Bars, OI-Gated, 3-Parameter)
Hypotheses
A LONG-SHORT, single-instrument DIRECTIONAL trend-continuation strategy on the Hyperliquid SOL perpetual, daily bars, that is deliberately NOT a pure-OHLCV trend clone: the entry TRIGGER is a Donchian breakout, but the CONFIRMATION GATE is that aggregate open interest is EXPANDING through the break (fresh leverage entering behind the move), and the KILL SWITCH is OI contraction (positioning unwinding). This directly inverts the dead OI-exhaustion-fade class (which SHORTS extremes when OI stalls): here we only RIDE breaks that fresh money is funding, and we stand aside on OHLCV breaks with flat/falling OI (the failure-prone whipsaw breakouts). Positions are held for days-to-weeks so round-trip fee drag is negligible relative to the captured leg. Chosen to fill the two most under-represented portfolio buckets simultaneously — long_short (14.2% vs ~45% target) and HYPERLIQUID (7.1% vs 20% target) — while avoiding every named dead class (no cross-sectional basket, no fade, no dual-TF momentum-confluence clone, no options, no COIN-M, no liquidations feed, no dated quarterly).
Hypotheses
Iteration 2 addresses the Layer-4 QA findings with the smallest change that actually moves them, starting from the iteration-1 code. (1) PRIMARY FIX - unmeasurable at pipeline resolution. QA was right and my iteration-1 holdout arithmetic was wrong: ~15 trades/yr at a 13-day mean hold gives ~0-1 trades in a 15-day holdout. The mechanism is unchanged; only its clock is. Moving from 1-DAY to 8-HOUR bars and shortening the channel from 10/5 to 10/4 raises the rate to ~37 trades/yr (127 over the available span, clearing the ~100 bar) at a ~4.5-day mean hold, so the 15-day holdout now spans ~45 bars and expects ~3-4 trades and each walk-forward OOS window is populated. I chose 8-HOUR over 4-HOUR deliberately: SOLUSD.HYPERLIQUID 4-HOUR history only starts 2024-01 (Hyperliquid's 5000-candle API cap), and on that truncated window every configuration I measured is negative; 8-HOUR reaches back to 2023-01. (2) REQUIRED CORRECTNESS CHANGE that comes with it - the iteration-1 OI index hard-coded a 24h bucket. On 8-hour bars that would have fed the z-score window six identical OI readings per day and destroyed its scale, so the index is now bucketed on the strategy's own bar grid (self._bar_interval_ns) and oi_lookback / oi_z_window are counted in BARS, with defaults (9 / 270) equal to the old 3-day / 90-day settings. The last OI reading inside each bar period is kept, i.e. the reading contemporaneous with that bar's close - no future OI. (3) DECAYED EDGE. QA is right that this is not fixable by re-optimizing a daily trend rule, and I am not claiming otherwise. What the faster clock does change is the year-by-year profile: in offline replication on the real 8-HOUR bars and the real aggregate OI series (Hyperliquid taker fees both ways), gated 10/4 is positive in every calendar year of the available window (2023 +9.9%, 2024 +34.4%, 2025 +27.6%, 2026 YTD +1.4%), 127 trades, avg +0.58% per trade - about 6x the 0.09% Hyperliquid round trip and well above the 0.15% viability floor. Notably the gate earns its keep exactly where the hypothesis says it should: per-trade capture is roughly the same as the ungated Donchian, but the ungated version takes a -33% 2025 while the gated version does not, which is the whipsaw avoidance the hypothesis predicts. I still expect this to underperform in a rangebound regime and the sample only starts in 2023 - the analyst should weigh that. (4) CROSS-VENUE OI PROXY - not fixed, because it is not fixable with the available data: I checked, and data/supplementary/hyperliquid/ has no open_interest feed (only funding, mids, l2_book, oi_cap, max_notionals, liquidatable), so Hyperliquid's own OI simply is not in the catalog. The gate continues to read the Binance USD-M aggregate SOL OI as a same-asset positioning proxy, which QA accepted as documented and defensible. Switching the traded leg to SOLUSDT.BINANCE would make the OI same-venue, but it would abandon the HYPERLIQUID bucket the hypothesis exists to fill, so I left the venue alone. No regressions: Layers 1 and 2 still pass, imports are unchanged, and the signal, entry/exit and sizing logic are byte-identical to iteration 1.
Hypotheses
Single-name Hyperliquid Donchian breakout trend-continuation — the 0/213-OHLCV / 0/97-Hyperliquid trend-clone class (L9/L41). Base Sharpe is only 0.298 with sharpe_ci_low -0.573 (CI straddles zero), already below the 0.5 OOS floor before ~225-trial deflation and the 15-day holdout lower it further. The 37.9% headline is spike/regime-concentrated (nearly all in 2025; single days 2023-11-06 +25.2% and 2025-02-28 +16.3% carry it; kurtosis 6.2, win rate 34%), so walk-forward OOS windows outside those spikes will be flat-to-negative. information_ratio -0.866 (worse than holding SOL), and untradeable at scale (impact 17.1%, capacity $3.4M). Not tunable — the weakness is statistical insignificance plus outlier dependence, so optimization would curve-fit the spikes and die overfit at holdout. Failure pattern: single_name_trend_breakout_clone_spike_concentration (class-prior no-edge, Sharpe CI straddles zero, outlier-day-driven).
Implementation
Long-short directional trend continuation on the Hyperliquid SOL perpetual, 8-HOUR bars. A Donchian breakout is the TRIGGER (close outside the entry_channel high/low, measured on bars strictly before the current one) but the trade is only taken when aggregate SOL perpetual open interest is EXPANDING through the break - fresh leverage funding the move. Confirmation is a z-score of OI growth over oi_lookback bars, scored against its own trailing oi_z_window distribution, so the gate's firing rate stays stable as SOL's OI base grows from $100M to $1B+. Exits are the opposite exit_channel Donchian edge, plus a kill switch at a 2.5-sigma OI collapse (the positioning that funded the move unwinding). No usable OI reading means no entry - the gate IS the hypothesis, so an unbacked OHLCV breakout is stood aside rather than traded as bare price momentum. calculate_signal returns the continuous position inside the Donchian channel in half-widths ((close - mid) / half: exactly +/-1 at the edges, beyond on a real break), thresholded by breakout_k. Sizing risks risk_frac of equity against the distance to the actual exit (the opposite Donchian edge, floored by min_stop_frac) and is independently capped at max_notional_frac of equity.
Verification Results
Verification failed (Layer 4 — QA review):
- Unmeasurable at pipeline resolution (L16): ~15 trades/yr, 70 over the full ~4.7yr span (below the ~100 bar). At a 13-day mean hold the 15-day holdout expects ~0-1 trades, so the holdout gate is meaningless and WF OOS windows are thin. Developer's 'fits inside the 15-day holdout' claim is arithmetically wrong.
- Decayed edge re-optimization cannot rescue: sandbox last-year net-negative (-4.15%, Sharpe -0.31, PF 0.69), and the developer's own sweep confirms the last 12 months are negative for EVERY parameterization (pure Donchian -17.6%/yr, gated -8.4%/yr). Full-sample edge lives entirely in 2021-2023 — 'a trend strategy on an asset that stopped trending.' Not a tunable fix.
- Cross-venue OI proxy (#13): trades SOLUSD.HYPERLIQUID but gates on Binance USD-M aggregate SOL OI (HL OI not in catalog). Documented and defensible as 'aggregate positioning,' but not the traded venue's own OI.
Verification Results
No code change; 8H is the defensible choice given the data window. Reconcile the research title/metadata to '8-hour' for the record.
Verification Results
TIMEFRAME DEVIATION FROM HYPOTHESIS TITLE (documented, defensible). The title says 'Daily Bars' but config.bar_type is SOLUSD.HYPERLIQUID-8-HOUR-LAST-EXTERNAL. This is the explicit iteration-2 fix for the prior QA finding: on daily bars the mechanism produced ~15 trades/yr at a 13-day mean hold, giving ~0-1 trades in the 15-day holdout (unmeasurable). Moving to 8-HOUR with a 10/4 channel raises the rate to ~37 trades/yr (~127 over the 2023-01->2026-05 span, ~4.5-day mean hold) so the holdout and each walk-forward OOS window are populated. 4-HOUR was correctly rejected (HL SOL 4H history only starts 2024-01 and tests negative there). Not critical: instrument, direction (long-short), the OI-confirmed-Donchian edge, the OI-collapse kill switch, and the multi-day hold are all intact; only the bar granularity changed by 3x while preserving the days-to-weeks hold. The 24h->bar-grid OI bucketing change that came with it is a REQUIRED correctness fix (a hard-coded 24h bucket would feed the z-score six identical readings/day on 8H bars) and is implemented correctly. Flagged so the analyst knows the shipped timeframe differs from the title.
Verification Results
No action available. Analyst should treat the OI gate as a correlated-proxy confirmation, not an exact HL-positioning read.
Verification Results
CROSS-VENUE OI PROXY (documented, not fixable with available data). The traded leg is the Hyperliquid SOL perp, but the OI confirmation gate reads the Binance USD-M aggregate SOL OI (supplementary 'metrics'/'open_interest'), because Hyperliquid's own OI is genuinely not in the catalog — I verified the HL supplementary feed list exposes only funding/mids/l2_book/oi_cap/max_notionals/liquidatable, with hl_oi_cap being a boolean at-cap flag, not an OI level. Binance USD-M SOL OI is the deepest venue's positioning series for the same asset, so it is a reasonable same-asset positioning proxy, and the hypothesis speaks of 'aggregate open interest' rather than venue-specific OI. The alternative (trading SOLUSDT.BINANCE to make OI same-venue) would abandon the HYPERLIQUID bucket the hypothesis exists to fill. Prior QA accepted this as documented and defensible; noted again so the analyst weighs the cross-venue basis assumption (HL and Binance SOL positioning are correlated but not identical).
Verification Results
Analyst: weigh the single-name trend-class prior and the zero-straddling Sharpe CI against the OI gate's demonstrated drawdown-removal before committing the 3-phase optimization; abandon early if OOS/holdout does not hold given the 2023-only, single-regime sample.
Verification Results
SINGLE-NAME TREND/BREAKOUT CLASS + REGIME DEPENDENCE (analyst call at BACKTEST_REVIEW). The return generator is a Donchian breakout on one asset (SOL); by the developer's own offline analysis the OI gate is roughly NEUTRAL on per-trade capture and earns its keep as a drawdown filter (it removed the ungated version's 2025 -33%), so the edge's PnL source is still OHLCV trend-continuation with OI as a whipsaw/drawdown filter. This is adjacent to the single-name trend-confluence-clone class that has repeatedly been abandoned at backtest_review (recent siblings SolEfficiencyRatioGatedTrendBreakout / SolEfficiencyRatioGatedBreakoutLS). Supporting caution: the sandbox Sharpe is 0.40 with CI -1.33..+2.20 (straddles zero), win_rate 0.32 (payoff-skewed: avg_win ~2.7x avg_loss), the sample starts 2023 (no bear-regime SOL history), and it is explicitly a trend strategy that will underperform in a rangebound regime. NOT a code defect and materially better than a pure-OHLCV clone (the OI gate is a genuine non-OHLCV signal that measurably altered the year-by-year profile), and now MEASURABLE (~127 trades clears the ~100 bar; avg_trade_return_pct +0.88% is ~6x the ~0.09% HL round trip and well above the 0.15% floor). The abandon-vs-optimize judgment belongs to the analyst at BACKTEST_REVIEW with full context.
Backtest Review
avg_trade_return_pct 0.94% clears the Hyperliquid fee floor (not a fee-edge death)
Backtest Review
128 trades over 3.3 years is a measurable sample and each WF/holdout window would be populated
Backtest Review
OI-confirmation gate is a genuine attempt to avoid unbacked whipsaw breaks
Backtest Review
Sharpe 0.298 with sharpe_ci_low -0.573 — CI straddles zero; below the 0.5 OOS floor before optimization even runs
Backtest Review
Single-name OHLCV Donchian breakout / trend-continuation on Hyperliquid — the 0/213-OHLCV and 0/97-HL survival class (L9/L41); the OI gate sits on a plain trend follower and reads Binance OI as a proxy, not real HL OI
Backtest Review
Edge is spike/regime-concentrated: nearly all return in 2025, driven by outlier days (2023-11-06 +25.2%, 2025-02-28 +16.3%; kurtosis 6.2, win rate 34%) — OOS windows outside spikes will be flat-to-negative
Backtest Review
information_ratio -0.866 — worse risk-adjusted than holding SOL; alpha 0.04, beta 0.07
Backtest Review
Untradeable at scale: impact_cost_pct 17.1%, capacity_usd only $3.4M; max_drawdown 28.4% (CI high 62%)
Outcome Summary
SolOpenInterestConfirmedBreakout rode Donchian breakouts on the Hyperliquid SOL perp only when open interest was expanding through the break (fresh leverage confirming the move) and killed positions on an OI collapse — the deliberate inverse of the dead OI-exhaustion fade — and switched from daily to 8-hour bars across iterations to raise the trade count enough to populate walk-forward and holdout. It cleared the fee floor (avg_trade 0.94%) with a 37.9% headline, but Sharpe was only 0.298 with a CI straddling zero, the profit was concentrated in 2025 and a few outlier days, the information ratio was worse than holding SOL, and it was untradeable at scale. The analyst abandoned it on the second iteration at the backtest_review gate as the single-name trend-breakout clone spike-concentration pattern (0/213 OHLCV survival), where the OI gate sat on a plain trend follower reading proxy Binance OI. It never advanced to optimization, analysis, or risk review.
Outcome Summary
An open-interest confirmation gate does not lift a single-name Donchian breakout out of the 0/213-survival trend-clone class — a 37.9% headline carried by a couple of outlier days, with a Sharpe CI straddling zero and an information ratio worse than holding the asset, is statistically insignificant and will curve-fit the spikes and overfit at holdout; a proxy OI feed on a plain trend follower is not a differentiated edge.
Outcome Summary
It was abandoned at the pre-optimization backtest_review gate on iteration 2 as the single-name OHLCV Donchian breakout / trend-continuation clone class (0/213 OHLCV, 0/97 Hyperliquid survival): Sharpe 0.298 with a CI straddling zero is below the 0.5 OOS floor before deflation and holdout, the return is outlier-driven, the information ratio is negative, and the OI gate sits on a plain trend follower reading Binance OI as a proxy — so it is statistically insignificant and outlier-dependent, not tunable.
Outcome Summary
A long-short, single-instrument directional trend-continuation strategy on the Hyperliquid SOL perp (8H bars) that enters on a Donchian channel breakout but only when aggregate open interest is expanding through the break (a z-scored confirmation gate = fresh leverage funding the move), stands aside on unbacked breaks, and kills the position on a 2.5-sigma OI collapse — the deliberate inverse of the OI-exhaustion fade — with three parameters (entry channel, exit channel, entry OI z).
Outcome Summary
The backtest returned 37.9% total with Sharpe 0.298 (CI low -0.573, straddling zero), profit_factor 1.168, win_rate 0.34, information_ratio -0.866, and max_drawdown 28.4% (CI high 62%) over 128 trades, with avg_trade_return_pct 0.94% clearing the fee floor. The edge was spike- and regime-concentrated — nearly all return in 2025, carried by outlier days (2023-11-06 +25.2%, 2025-02-28 +16.3%, kurtosis 6.2) — the information ratio was worse than holding SOL, and it was untradeable at scale (impact_cost_pct 17.1%, capacity_usd $3.4M).
Backtest and paper results are hypothetical. Trading involves risk of loss.