Condition · recorded history

VPIN in the critical regime

Toxic order flow (VPIN) has entered its critical regime, the highest of the four normalized bands.

What is VPIN?

Recorded window: 9 Sept 2026 to 8 Oct 2026 (UTC). Counted 10 Oct 2026 at 08:35 UTC.

Read it in context

  1. On one market

    Each market page compares that market with its own minutes, not with every market at once.

  2. Test it, then plan it

    Narrow it to your markets and dates in the Workbench. A tested result leads to Plan a trade, which measures what trading it would have paid after costs.

By market

No market has its own page for this condition yet. Pages are rebuilt nightly for the most-traded markets with at least 20 matches.

Every market pooled, without context

What happened in the next 24 hours?

Other minutes are the same markets and dates without this condition. Each percentage is the share of measured minutes that reached that move from the starting price.

Price touched +5% or higher

When this held
1 of 9, too few for a rate
Other minutes
33.7% · 7,043,172 of 20,894,065 minutes

Price touched −10% or lower

When this held
0 of 9, too few for a rate
Other minutes
6.2% · 1,294,634 of 20,894,065 minutes

Price can touch both levels within the same 24 hours.

Every matching minute counts, so one long run adds many near-identical minutes. Busy markets weigh most.

Every condition is measured over the same 24 hours, whatever the length of its own reading. Other windows and move sizes shows shorter and longer windows.

This counts how often price touched a level, not what trading it would have paid.

Sample and counting

All 9 matches, pooled across 524 markets, have a full 24 hours after them.

When it happened
Matches per UTC day, 2026-09-09 to 2026-10-09

About 0.3 a day, on 8 of 31 days: spread through the record rather than one event.

Other windows and move sizes
Matches that reached each move within each window. Counts first; the measured row is what each rate is over.
Move1 hour4 hours24 hours72 hours7 days
Measured99998
Too recent00001
+0.1% or more78998
+0.2% or more57998
+0.5% or more57798
+1% or more23598
+2% or more12246
+5% or more01124
+10% or more00112
+15% or more00111
+20% or more00111
+30% or more00111
−0.1% or lower99998
−0.2% or lower77887
−0.5% or lower46887
−1% or lower23776
−2% or lower02556
−5% or lower00122
−10% or lower00001

Each window counts only matches old enough for it, so a longer window can show fewer.

Distributions and daily counts
Upside reached · 24hUpside reached (MFE, 24h)The most price moved up within 24 hours of each match: a high-water mark, never a close. 9 with a complete 24 hours.
Drawdown · 24hDrawdown (MAE, 24h)The worst price moved against within 24 hours of each match: the deepest point, never the close. 9 with a complete 24 hours.
Price 30 minutes laterForward 30-minute returnForward 30-minute returns across 8 matches: 63% of them finished down. 1 too recent.

How to read a distribution

Matches per UTC day

  • 9 Sep0 matches
  • 10 Sep0 matches
  • 11 Sep0 matches
  • 12 Sep0 matches
  • 13 Sep1 match
  • 14 Sep0 matches
  • 15 Sep0 matches
  • 16 Sep0 matches
  • 17 Sep0 matches
  • 18 Sep0 matches
  • 19 Sep1 match
  • 20 Sep1 match
  • 21 Sep0 matches
  • 22 Sep0 matches
  • 23 Sep2 matches
  • 24 Sep0 matches
  • 25 Sep1 match
  • 26 Sep0 matches
  • 27 Sep1 match
  • 28 Sep0 matches
  • 29 Sep0 matches
  • 30 Sep1 match
  • 1 Oct0 matches
  • 2 Oct0 matches
  • 3 Oct0 matches
  • 4 Oct0 matches
  • 5 Oct0 matches
  • 6 Oct1 match
  • 7 Oct0 matches
  • 8 Oct0 matches
  • 9 Oct0 matches
How this is counted
  • Each rate counts only matches with the full window after them.
  • A minute where a reading was missing is left out and reported, not read as zero.
  • The condition picks the setup, never the outcome: a definition that filters on what followed is rejected (OUTCOME_IN_PREDICATE). Every match is measured, winners and losers alike.
  • "Other minutes" is every other eligible minute in the same markets and window. It is a reference, not a control group.
  • "Reached +5%" uses the highest price inside the window (maximum favourable excursion, MFE); "fell to −10%" uses the lowest (maximum adverse excursion, MAE). Neither is the close.
  • Checked 21,478,179 eligible market-minutes (eligible_symbol_buckets) on 524 markets, 2026-09-09 00:00 to 2026-10-09 00:00 UTC.
  • These counts pool every market, so markets that match often weigh more. Each market page compares that market with its own reference.
  • Live status is not connected yet, so this page is recorded history only.

What are MFE and MAE?

Reproducibility key (q#aa0fb7db)

The key that re-runs this exact count. Same key, same bytes; when the record grows, the dataset revision changes.

grammar
research_query.v2
normalization
archive_normalization.v1
feature library
feature_defs.v1
dataset revision
21ecdcfe61b2567a23ef3b0cdbcc262b92524f0914f4b2422f35b5943a89b741
query hash
aa0fb7dba479ed3c972a5b97ce028dc298adfa5d090d7f9fe1ceedad660c3c60
scanned window
2026-09-09T00:00:00.000Z to 2026-10-09T00:00:00.000Z (UTC)

Re-run over the API

The exact search definition behind this count. Send it to the key-authed research API (or the MCP research tool) and compare 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.vpin_regime",
        "eq",
        "critical"
      ],
      [
        "times.anchor_time",
        "between",
        [
          "2026-09-09T00:00:00.000Z",
          "2026-10-09T00: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.vpin_regime","eq","critical"],["times.anchor_time","between",["2026-09-09T00:00:00.000Z","2026-10-09T00:00:00.000Z"]]]},"sort":["times.anchor_time","desc"],"page":{"limit":50,"cursor":null}}'

Past examples from the record, not a guarantee or a prediction. Nothing here is trading advice.