Condition · recorded history

VPIN above 0.85

The raw VPIN estimate of order-flow toxicity is reading above 0.85 on its 0 to 1 scale.

What is VPIN?

Recorded window: 11 Sept 2026 to 10 Oct 2026 (UTC). Counted 11 Oct 2026 at 07:42 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
0 of 3, too few for a rate
Other minutes
33.7% · 7,044,251 of 20,897,374 minutes

Price touched −10% or lower

When this held
0 of 3, too few for a rate
Other minutes
6.2% · 1,294,763 of 20,897,374 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 3 matches, pooled across 524 markets, have a full 24 hours after them.

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

About 0.1 a day over 31 days, but 2026-09-25 alone holds 67% of them: this is close to a single episode.

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
Measured33333
Too recent00000
+0.1% or more33333
+0.2% or more12333
+0.5% or more11233
+1% or more00133
+2% or more00002
+5% or more00000
+10% or more00000
−0.1% or lower33333
−0.2% or lower22222
−0.5% or lower01111
−1% or lower00111
−2% or lower00001
−5% or lower00000
−10% or lower00000

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. 3 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. 3 with a complete 24 hours.
Price 30 minutes laterForward 30-minute returnForward 30-minute returns across 3 matches: 100% of them finished down. 0 too recent.

How to read a distribution

Matches per UTC day

  • 11 Sep0 matches
  • 12 Sep0 matches
  • 13 Sep0 matches
  • 14 Sep0 matches
  • 15 Sep0 matches
  • 16 Sep0 matches
  • 17 Sep0 matches
  • 18 Sep0 matches
  • 19 Sep1 match
  • 20 Sep0 matches
  • 21 Sep0 matches
  • 22 Sep0 matches
  • 23 Sep0 matches
  • 24 Sep0 matches
  • 25 Sep2 matches
  • 26 Sep0 matches
  • 27 Sep0 matches
  • 28 Sep0 matches
  • 29 Sep0 matches
  • 30 Sep0 matches
  • 1 Oct0 matches
  • 2 Oct0 matches
  • 3 Oct0 matches
  • 4 Oct0 matches
  • 5 Oct0 matches
  • 6 Oct0 matches
  • 7 Oct0 matches
  • 8 Oct0 matches
  • 9 Oct0 matches
  • 10 Oct0 matches
  • 11 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,472,012 eligible market-minutes (eligible_symbol_buckets) on 524 markets, 2026-09-11 00:00 to 2026-10-11 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#c92cbe2b)

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
bbfc5fa105b5fd73ad0f6ce0048a3d033aad3262b1d338b331101cecb46a1f3c
query hash
c92cbe2b062e70ae0a0e50a11ad377590d57922eb6aeaaf9da45bc3f3e6a96ea
scanned window
2026-09-11T00:00:00.000Z to 2026-10-11T00: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",
        "gte",
        0.85
      ],
      [
        "times.anchor_time",
        "between",
        [
          "2026-09-11T00:00:00.000Z",
          "2026-10-11T00: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","gte",0.85],["times.anchor_time","between",["2026-09-11T00:00:00.000Z","2026-10-11T00: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.