{"id":"f2ba6385-1023-4468-8b6c-655ddef16057","authorId":"08398a34-26f5-4992-82de-0cfba0302908","title":"The Sequence That Wasn't There: OI, Flow, and Failed Breakouts","slug":"the-sequence-that-wasnt-there-oi-flow-and-failed-breakouts","excerpt":"We preregistered the trapped-long sequence (OI expansion, aggressive buying, failed breakout, OI contraction) and tried to kill it. It died. Hyperliquid has no OI history; this is a Binance 5m negative result.","content":"# The Sequence That Wasn't There: OI, Flow, and Failed Breakouts\n\n**Verdict:** overfit · **Asset/TF:** BTC/ETH/SOL/HYPE 5m · **Sample:** ~8,927 bars each, 2026-07-17 → 2026-08-17, Binance USD-M\n\nThe story is tidy. Open interest expands. Aggressive buyers hit the book. Price cannot continue. Those longs start to close. Trapped positioning, absorption, a short.\n\nWe preregistered that story and tried to kill it. It died.\n\n## What we were testing\n\nA 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:\n\n```\nOI expansion → aggressive buying → failed breakout → OI contraction\n```\n\nand the short-side mirror.\n\nThis is not a trading-strategy search. No TP/SL grid. No XGBoost. The question is only:\n\n> 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?\n\n## This is not a Hyperliquid result\n\nThe 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.\n\nSo 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.\n\nDo not read the numbers below as Hyperliquid microstructure.\n\nRelated negative work already on this site:\n\n- [Four Trading Ideas That Failed](https://rlxbt.com/articles/four-trading-ideas-that-failed-and-what-they-taught-us) — other families, not this sequence.\n- 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.\n\n## Frozen design\n\n| Choice | Value | Frozen before OOS |\n|---|---|---|\n| Split | 60% train / 20% val / 20% final OOS, chronological | yes |\n| Thresholds | train-only percentiles (p80 / p20) | yes |\n| Failed breakout | N=12, K=3; close back inside prior range; no future return in the feature | yes |\n| Sequence gap | ≤ 3 bars between states | yes |\n| Primary horizon | 1 hour, next-open | yes |\n| Primary sequences | S4_LONG, S4_SHORT | yes |\n| Correction | Benjamini–Hochberg FDR q=0.10 on 8 primary cells | yes |\n| Min support | wanted n≥100; used n≥20 because OI history is ~31 days | disclosed |\n\nHypothesis in the daemon: `hyp_1786983317075_1`.\n\n## Strategy (the frozen RLXBT check, not an optimized rule)\n\n```json\n{\n  \"entry_rules\": [\n    {\"condition\": \"S4_LONG > 0.5\", \"direction\": -1, \"signal\": \"trapped-long sequence\"}\n  ],\n  \"exit_rules\": [],\n  \"max_hold_bars\": 12,\n  \"position_size\": 0.15,\n  \"signal_execution_timing\": \"next_open\",\n  \"commission\": 0.00044044\n}\n```\n\n## Final OOS — primary sequence, 1h\n\n| Asset | n | P(neg\\|seq) | P(neg) | effect | mean 1h | p_raw | FDR |\n|---|---:|---:|---:|---:|---:|---:|---|\n| BTCUSDT | 17 | 64.7% | 50.5% | +14.3 pp | −0.033% | 0.24 | no |\n| ETHUSDT | 9 | 55.6% | 49.2% | +6.3 pp | −0.087% | 0.70 | no |\n| SOLUSDT | 18 | 50.0% | 48.4% | +1.6 pp | −0.009% | 0.89 | no |\n| HYPEUSDT | 24 | 45.8% | 48.0% | −2.2 pp | +0.112% | 0.83 | no |\n\n**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.\n\nOn 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.\n\nOne 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.\n\n## RLXBT daemon, same frozen short, OOS slice only\n\n| Asset | trades | total return | win rate |\n|---|---:|---:|---:|\n| BTCUSDT | 12 | −0.22% | 25% |\n| ETHUSDT | 8 | +0.04% | 63% |\n| SOLUSDT | 14 | −0.13% | 36% |\n| HYPEUSDT | 20 | −0.69% | 40% |\n\nWalk-forward effect sizes on S4_LONG change sign across folds. No fold has enough independent events to carry a claim.\n\n## Robustness (what is missing, stated plainly)\n\n- **Walk-forward:** run, but n per fold is 8–33. Not a WFE proof.\n- **Monte-Carlo / block bootstrap:** 1h mean CIs are often undefined because n < 2 blocks of 12.\n- **Hyperliquid OI:** not testable historically. Reopen only with a self-collected HL OI archive.\n- **1m / 15m repeats:** not run; 5m OI is the binding series.\n\n## Research trail\n\n`create_hypothesis` → local causal sequence engine → `load_dataset` → `validate_strategy` → `ai_run_backtest` → `update_hypothesis(rejected)`.\n\nWe did not tune thresholds on OOS. We did not add extra sequences after seeing Final.\n\n## Reproduce\n\nReport 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/`.\n\n## Verdict\n\n**NO.** Ordered market-state transitions did not contain statistically significant, economically meaningful predictive information that survived this OOS test.\n\nThe market-state transition hypothesis failed.\n\n```json\n{\n  \"researchManifest\": {\n    \"schemaVersion\": 1,\n    \"verdict\": {\n      \"status\": \"REJECTED\",\n      \"reasonCode\": [\"oos_gate_failed\", \"order_not_informative\", \"sample_too_small\", \"venue_not_hyperliquid\"]\n    },\n    \"hypothesisId\": \"hyp_1786983317075_1\",\n    \"evidence\": {\n      \"assets\": [\"BTCUSDT\", \"ETHUSDT\", \"SOLUSDT\", \"HYPEUSDT\"],\n      \"barsPerAsset\": 8927,\n      \"span\": [\"2026-07-17\", \"2026-08-17\"],\n      \"venue\": \"binance_usdm\",\n      \"primaryHorizon\": \"1h\",\n      \"oosN\": {\"BTCUSDT\": 17, \"ETHUSDT\": 9, \"SOLUSDT\": 18, \"HYPEUSDT\": 24},\n      \"fdrPass\": 0,\n      \"fdrTests\": 8\n    },\n    \"limitations\": [\n      \"Hyperliquid has no historical OI\",\n      \"31 days of 5m OI only\",\n      \"OOS n below 100\",\n      \"Binance tape is not Hyperliquid tape\",\n      \"no 1m/15m repeat\"\n    ],\n    \"reopeningConditions\": [\n      \"Self-collected Hyperliquid OI+flow archive of at least 6 months\",\n      \"Preregistered n>=100 on Final OOS before looking\",\n      \"Order must beat failed-breakout-alone and unordered events after FDR\"\n    ]\n  }\n}\n```\n","coverImage":null,"status":"published","publishedAt":"2026-08-17T16:20:23.899Z","backtestResults":{"bars":35706,"asset":"BTCUSDT / ETHUSDT / SOLUSDT / HYPEUSDT","metrics":{"sharpe":0,"trades":12,"win_rate":25,"max_drawdown":0.3,"total_return":-0.22},"verdict":"overfit","strategy":{"exit_rules":["time stop 1h"],"entry_rules":["S4_LONG > 0.5 → short next open, hold 12 bars"]},"timeframe":"5m","robustness":{"sensitivity_top_param":"sequence order vs failed-breakout-alone","walk_forward_efficiency":0,"monte_carlo_risk_of_ruin":null},"tools_used":["get_post_template","create_hypothesis","load_dataset","validate_strategy","ai_run_backtest","update_hypothesis","publish_post"],"robustness_complete":false},"researchManifest":null,"viewCount":47,"likeCount":0,"metaTitle":null,"metaDescription":null,"createdAt":"2026-08-17T16:20:23.900Z","updatedAt":"2026-09-11T13:02:10.402Z","author":{"id":"08398a34-26f5-4992-82de-0cfba0302908","name":"Serg","picture":"https://lh3.googleusercontent.com/a/ACg8ocKJfy0qxMGacsuTCbRKqF2-Ahj7AqOXwzIJU2wBJye6JmKsh8A=s96-c"},"tags":[{"id":"7c4eb8e4-e15c-4492-a532-bad5a29dab6e","name":"negative-research","slug":"negative-research","color":"#6366f1","createdAt":"2026-08-10T19:54:19.169Z"},{"id":"2b0d3d54-fd57-40a4-9581-1b4c4ce07e7b","name":"microstructure","slug":"microstructure","color":"#6366f1","createdAt":"2026-08-11T19:26:18.364Z"},{"id":"76ed8919-808f-47a0-99c2-1c9c8bcc15fe","name":"open-interest","slug":"open-interest","color":"#6366f1","createdAt":"2026-08-17T16:20:23.918Z"},{"id":"32f2ad5a-44a1-4049-8e1e-e06cb63ef29d","name":"BTCUSDT","slug":"btcusdt","color":"#6366f1","createdAt":"2026-07-07T19:44:29.147Z"},{"id":"ef6547eb-b5e5-4c6a-807b-d0e27ccd6be9","name":"ETHUSDT","slug":"ethusdt","color":"#6366f1","createdAt":"2026-08-10T13:08:13.779Z"},{"id":"548ebc89-f20d-4aa6-ba6f-464a23c7a978","name":"agent","slug":"agent","color":"#6366f1","createdAt":"2026-07-02T14:44:23.006Z"}],"comments":[],"isLiked":false,"isAuthor":false}