< All conditionsLive condition · historical base rate

Book imbalance above its 95th percentile

Order-book imbalance is reading above its own trailing 95th percentile for this market.

Firing now (provisional, current bucket)

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 Book imbalance above its 95th percentile held (162,487 occurrences in the scanned window, 150,967 with a computable 24h horizon), the market reached +5% within 24h in 30,554 of 150,967 (20.2) and drew down 10%+ in 4,754 of 150,967 (3.1). Maximum favorable (MFE) and maximum adverse (MAE) excursions, both computed forward.

Outcome distribution

WHAT FOLLOWED - ALL 162,487 MATCHES, FROM THE PER-SCAN SUMMARY

1,139 OF 156,611 (0.7%) REACHED +5% WITHIN 1H

METRIC MFE_1H · CHIPS RE-READ THE SUMMARY, NEVER RE-QUERY

🔒 COMPUTED FORWARD, NEVER A FILTER · DENOMINATOR 156,611 = MATCHES WITH A COMPLETE 1H HORIZON (5,876 ABSENT: TOO CLOSE TO THE RECORD EDGE FOR 1H - NEVER TRUNCATED, NEVER AN IMPLIED ZERO)

OCCURRENCES PER DAY · UTC · SUM 162487 - ALL 162,487, NOT THE PAGE
MAX 6285 · 2026-07-2807-0607-1307-2007-272026-07-01 TO 2026-07-31 · 31 UTC DAYS · ZERO DAYS KEEP THEIR SLOT

About 5,242 a day, on 30 of 31 days: spread through the record rather than one event.

FWD_RET_30M DISTRIBUTION · 149,803 PRESENT · 12,684 ABSENT
≥ +5: 185 OF 1498032121117122649116711269183554215031452695≤-20-20..-15-15..-10-10..-5-5..-2-2..-1-1..00..+1+1..+2+2..+5+5..+10+10..+15+15..+20≥+20

Forward 30-minute returns across 149,803 matches: close to an even split, which is what a coin flip looks like.

Upside reached (MFE, 24h)Drawdown (MAE, 24h)

Versus baseline

Historically, when any eligible minute in the window (baseline) held (26,779,923 occurrences in the scanned window, 23,746,561 with a computable 24h horizon), the market reached +5% within 24h in 5,541,893 of 23,746,561 (23.3) and drew down 10%+ in 1,334,669 of 23,746,561 (5.6). 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:

Reproducibility key (q#7b4ae58f)
grammar
research_query.v2
normalization
archive_normalization.v1
feature library
feature_defs.v1
dataset revision
52a43a418a97fbe3a324f7c372fa4d53967163acaa0ed33c56b78ddd897331a4
query hash
7b4ae58fe25a64bbc3b6cd884429e69b0c99af78fab1630cc2ffa188349cb5cc
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.

Re-run this over the API or MCP

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.book_imbalance_pctrank",
        "gte",
        0.95
      ],
      [
        "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.book_imbalance_pctrank","gte",0.95],["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.