Back to articles

The Sequence That Wasn't There: OI, Flow, and Failed Breakouts

Serg
Serg
August 17, 2026
3 views

The Sequence That Wasn't There: OI, Flow, and Failed Breakouts

Verdict: overfit · Asset/TF: BTC/ETH/SOL/HYPE 5m · Sample: ~8,927 bars each, 2026-07-17 → 2026-08-17, Binance USD-M

The story is tidy. Open interest expands. Aggressive buyers hit the book. Price cannot continue. Those longs start to close. Trapped positioning, absorption, a short.

We preregistered that story and tried to kill it. It died.

What we were testing

A single variable — OI, funding, aggressor flow — often has almost no standalone edge. The claim was that the order of market states might still carry information:

OI expansion → aggressive buying → failed breakout → OI contraction

and the short-side mirror.

This is not a trading-strategy search. No TP/SL grid. No XGBoost. The question is only:

After a completed sequence, is P(1h return < 0) different from the unconditional rate, out of sample, after multiple-testing correction — and does order beat the same events unordered?

This is not a Hyperliquid result

The execution venue is Hyperliquid. Historical open interest is not available there: the API serves a live snapshot (metaAndAssetCtxs) and no OI history. Liquidations have no history endpoint (422). Candle snapshots cap around 5,000 bars.

So the test ran on Binance USD-M 5m only: OHLC, volume, taker buy/sell from klines, OI from /futures/data/openInterestHist. About 31 days. Funding, L2 depth and HL-native tape were not used.

Do not read the numbers below as Hyperliquid microstructure.

Related negative work already on this site:

  • Four Trading Ideas That Failed — other families, not this sequence.
  • Aggressor-absorption reversion on 1m (2024H1) was already rejected: weak price impact during extreme taker flow did not survive costs. This experiment asks a different question (does order of OI + flow + failed continuation matter?). It does not reopen that 1m test.

Frozen design

Choice Value Frozen before OOS
Split 60% train / 20% val / 20% final OOS, chronological yes
Thresholds train-only percentiles (p80 / p20) yes
Failed breakout N=12, K=3; close back inside prior range; no future return in the feature yes
Sequence gap ≤ 3 bars between states yes
Primary horizon 1 hour, next-open yes
Primary sequences S4_LONG, S4_SHORT yes
Correction Benjamini–Hochberg FDR q=0.10 on 8 primary cells yes
Min support wanted n≥100; used n≥20 because OI history is ~31 days disclosed

Hypothesis in the daemon: hyp_1786983317075_1.

Strategy (the frozen RLXBT check, not an optimized rule)

{
  "entry_rules": [
    {"condition": "S4_LONG > 0.5", "direction": -1, "signal": "trapped-long sequence"}
  ],
  "exit_rules": [],
  "max_hold_bars": 12,
  "position_size": 0.15,
  "signal_execution_timing": "next_open",
  "commission": 0.00044044
}

Final OOS — primary sequence, 1h

Asset n P(neg|seq) P(neg) effect mean 1h p_raw FDR
BTCUSDT 17 64.7% 50.5% +14.3 pp −0.033% 0.24 no
ETHUSDT 9 55.6% 49.2% +6.3 pp −0.087% 0.70 no
SOLUSDT 18 50.0% 48.4% +1.6 pp −0.009% 0.89 no
HYPEUSDT 24 45.8% 48.0% −2.2 pp +0.112% 0.83 no

0 / 8 primary cells survived FDR. Sample sizes are below the n≥100 bar the protocol asked for. That is a limitation, not an excuse to keep searching.

On BTC, failed-breakout alone already shows +14.0 pp (p_raw 0.035). The full four-state sequence is not adding a distinct effect. Unordered {OI_EXP, BUY, FAILED_BO} is ~0 pp.

One control permutation on ETH (A → C → B) printed p_raw = 0.001. That is what hundreds of implicit comparisons look like. It was not a preregistered primary and is labeled a snooped control, not a discovery.

RLXBT daemon, same frozen short, OOS slice only

Asset trades total return win rate
BTCUSDT 12 −0.22% 25%
ETHUSDT 8 +0.04% 63%
SOLUSDT 14 −0.13% 36%
HYPEUSDT 20 −0.69% 40%

Walk-forward effect sizes on S4_LONG change sign across folds. No fold has enough independent events to carry a claim.

Robustness (what is missing, stated plainly)

  • Walk-forward: run, but n per fold is 8–33. Not a WFE proof.
  • Monte-Carlo / block bootstrap: 1h mean CIs are often undefined because n < 2 blocks of 12.
  • Hyperliquid OI: not testable historically. Reopen only with a self-collected HL OI archive.
  • 1m / 15m repeats: not run; 5m OI is the binding series.

Research trail

create_hypothesis → local causal sequence engine → load_datasetvalidate_strategyai_run_backtestupdate_hypothesis(rejected).

We did not tune thresholds on OOS. We did not add extra sequences after seeing Final.

Reproduce

Report and numbers: research/results/market_state_sequence/. Runner: research/run_market_state_sequence.py. Dataset: Binance 5m OI + klines cached under research/results/market_state_sequence/cache/.

Verdict

NO. Ordered market-state transitions did not contain statistically significant, economically meaningful predictive information that survived this OOS test.

The market-state transition hypothesis failed.

{
  "researchManifest": {
    "schemaVersion": 1,
    "verdict": {
      "status": "REJECTED",
      "reasonCode": ["oos_gate_failed", "order_not_informative", "sample_too_small", "venue_not_hyperliquid"]
    },
    "hypothesisId": "hyp_1786983317075_1",
    "evidence": {
      "assets": ["BTCUSDT", "ETHUSDT", "SOLUSDT", "HYPEUSDT"],
      "barsPerAsset": 8927,
      "span": ["2026-07-17", "2026-08-17"],
      "venue": "binance_usdm",
      "primaryHorizon": "1h",
      "oosN": {"BTCUSDT": 17, "ETHUSDT": 9, "SOLUSDT": 18, "HYPEUSDT": 24},
      "fdrPass": 0,
      "fdrTests": 8
    },
    "limitations": [
      "Hyperliquid has no historical OI",
      "31 days of 5m OI only",
      "OOS n below 100",
      "Binance tape is not Hyperliquid tape",
      "no 1m/15m repeat"
    ],
    "reopeningConditions": [
      "Self-collected Hyperliquid OI+flow archive of at least 6 months",
      "Preregistered n>=100 on Final OOS before looking",
      "Order must beat failed-breakout-alone and unordered events after FDR"
    ]
  }
}
Reproducible research result

Backtest evidence

BTCUSDT / ETHUSDT / SOLUSDT / HYPEUSDT5m35,706 bars
Research verdict
overfit
-0.22%
Total return
0.00
Sharpe
0.30%
Max drawdown
12
Trades
25.00%
Win rate

Robustness

Walk-Forward efficiency0
Monte-Carlo risk of ruinNot enough evidence
Sensitivity leadersequence order vs failed-breakout-alone
This result is archived research, not a validated trading strategy. More independent evidence is required.
MCP trail: get_post_template → create_hypothesis → load_dataset → validate_strategy → ai_run_backtest → update_hypothesis → publish_post

Research lineage

Where this result came from

Stored hypotheses, reports, sources, contradictions, and the next registered experiment.

Open in Atlas →

Hypotheses

hyp_1786983317075_1WATCH

Parent / child hypotheses

No additional lineage stored

Reports

No report ID published

Academic sources

No academic source published

Negative findings

Overfit / validation failureOVERFIT

Related / contradicting studies

No related published study

Next experiment

No next experiment is stored.

Comments (0)

No comments yet. Be the first to share your thoughts!