OI accelerating into liquidations
Open-interest velocity above its own 90th percentile while at least $1M of liquidation notional printed in the trailing hour.
The live read is not yet enabled. This surface reports the historical base rates below; the firing-now list turns on when the live evaluator is connected.
What has happened when it held
Historically, when OI accelerating into liquidations held (531 occurrences in the scanned window, 501 with a computable 24h horizon), the market reached +5% within 24h in 97 of 501 (19.4) and drew down 10%+ in 49 of 501 (9.8). Maximum favorable (MFE) and maximum adverse (MAE) excursions, both computed forward.
Outcome distribution
26 OF 531 (4.9%) REACHED ≥ +5% WITHIN 1H
🔒 COMPUTED FORWARD, NEVER A FILTER · DENOMINATOR 531 = MATCHES WITH A COMPLETE 1H HORIZON
About 17 a day, on 29 of 31 days: spread through the record rather than one event.
Forward 30-minute returns across 529 matches: close to an even split, which is what a coin flip looks like.
Versus baseline
Historically, when any eligible minute in the window (baseline) held (26,937,975 occurrences in the scanned window, 24,331,279 with a computable 24h horizon), the market reached +5% within 24h in 5,653,383 of 24,331,279 (23.2) and drew down 10%+ in 1,350,155 of 24,331,279 (5.5). Maximum favorable (MFE) and maximum adverse (MAE) excursions, both computed forward.
By market
Markets where this condition occurred often enough in the window to carry its own statistically meaningful receipt:
- grammar
- research_query.v2
- normalization
- archive_normalization.v1
- feature library
- feature_defs.v1
- dataset revision
- 52a43a418a97fbe3a324f7c372fa4d53967163acaa0ed33c56b78ddd897331a4
- query hash
- 0066dc63f81b5ce407ee9ebe5748e8e8be48b24cfc121675a9855f156b55a7ed
- scanned window
- 2026-07-01T00:00:00.000Z to 2026-07-31T00:00:00.000Z (UTC)
Same key, same bytes. This receipt reruns; it does not retell. When the record grows, the dataset revision changes and says so.
This is the exact research_query.v2 definition behind the receipt. Send it to the key-authed research API (or the MCP research tool) and diff the bytes: a cached rerun is free.
{
"schema_version": "research_query.v2",
"normalization_version": "archive_normalization.v1",
"feature_version": "feature_defs.v1",
"target": "record_occurrences",
"where": {
"all": [
[
"feature.oi_velocity_pctrank",
"gte",
0.9
],
[
"feature.liq_notional_usd_1h",
"gte",
1000000
],
[
"times.anchor_time",
"between",
[
"2026-07-01T00:00:00.000Z",
"2026-07-31T00:00:00.000Z"
]
]
]
},
"sort": [
"times.anchor_time",
"desc"
],
"page": {
"limit": 50,
"cursor": null
}
}curl -s https://app.edgedepth.com/api/v1/research/query \
-H 'authorization: Bearer $EDGEDEPTH_API_KEY' \
-H 'content-type: application/json' \
-d '{"schema_version":"research_query.v2","normalization_version":"archive_normalization.v1","feature_version":"feature_defs.v1","target":"record_occurrences","where":{"all":[["feature.oi_velocity_pctrank","gte",0.9],["feature.liq_notional_usd_1h","gte",1000000],["times.anchor_time","between",["2026-07-01T00:00:00.000Z","2026-07-31T00:00:00.000Z"]]]},"sort":["times.anchor_time","desc"],"page":{"limit":50,"cursor":null}}'How to read this
- Counts ship with denominators: occurrences across the eligible symbol-buckets scanned. A rate is over the occurrences with a computable horizon (present), never the total.
- Absent is absent. When a feature was not warm at a minute, that bucket leaves the denominator and is reported; it is never coerced to zero.
- This selects a setup, never its outcome. The grammar forbids filtering on what followed (OUTCOME_IN_PREDICATE), so the distribution below is over every occurrence, not a survivorship-picked subset.
Occurrences are observed examples in a selected archive, not a guarantee. Outcomes are computed forward from each anchor and are descriptive, never a filter and never a prediction. Nothing here is trading advice.