Tools

Can you see toxic order flow coming?

Markets don't run on the clock — they run on volume. When informed traders lean on one side, volume surges and buys stop matching sells. VPIN measures that imbalance on a volume clock that speeds up exactly when it matters — the same gauge that climbed for hours before the 2010 Flash Crash. Drag some informed selling into a calm tape and watch it turn toxic.

What it shows: VPIN — Volume-Synchronized Probability of Informed Trading — estimates order-flow toxicity, the risk that the person on the other side of your trade knows something you don't. This simulator builds a synthetic tape of price-and-volume bars, splits each bar's volume into buys and sells with Bulk Volume Classification (a bar's buy share is Φ(ΔP ⁄ σ), the normal CDF of its standardised price move), then slices the tape into equal-volume buckets — the volume clock. VPIN is the average absolute order imbalance over the last n buckets: VPIN = (1 ⁄ n) Σ |Vbuy − Vsell| ⁄ V. When informed selling arrives, volume spikes (so the clock ticks faster) and sells overwhelm buys — VPIN climbs.

Everything here is synthetic and illustrative — no real prices, no performance claim, not trading advice. The tape, the single toxic episode, and the equal-volume bucketing are teaching simplifications; VPIN always lands in [0, 1] by construction. The method and its evidence are real: VPIN and flow toxicity (Easley, López de Prado & O'Hara 2012), Bulk Volume Classification (Easley, López de Prado & O'Hara 2012), the volume clock (López de Prado 2018), and VPIN's rise before the 6 May 2010 Flash Crash (Easley et al. 2011). It connects to liquidity and price-impact signals. Related tools: Correlation Heatmap · Cointegration & Pairs Trading Simulator · Signal Combination Simulator · Backtest Overfitting Simulator · Information Coefficient Calculator · Signal Decay Calculator · Signal Skill Explorer.

Inject some informed selling

The tape starts as a balanced random walk. Turn up the informed-flow intensity to push a one-sided selling episode into the middle of the session — volume surges, the volume clock speeds up, and VPIN reacts live. The window controls how many buckets VPIN averages over: shorter is twitchier, longer is smoother but slower.

0% = a balanced market (no toxic episode) · 100% = a heavy one-sided informed-selling burst

how many buckets the rolling toxicity average covers (the real VPIN convention is ~50/day)

draws a fresh but statistically-identical session — same toxicity, different noise

Toxic episode — VPIN has crossed the alert level

At 65% informed-flow intensity, VPIN runs around a calm baseline of 0.15 and spikes to 0.40 — a 2.6× jump. The worst single bucket is 82% one-sided. Through the burst the volume clock runs about 2.8× faster than the wall clock, so a flood of one-sided volume — buyers stepping away while informed sellers hit the bid (event buy share just 29%) — gets compressed into a sharp VPIN spike. This is the toxicity that preceded the 2010 Flash Crash: visible on the volume clock, smeared away on the wall clock.

The toxicity read-out

Peak VPIN

0.40

highest rolling toxicity

Calm baseline

0.15

VPIN before the episode

Clock speed-up

2.8×

volume vs wall clock, in the burst

Buckets in alert

17

VPIN ≥ 0.30 of 50

Worst bucket

82%

one-sided imbalance

Event buy share

29%

sell-dominated

Buckets

50

9,568 vol each

Session volume

478k

over 360 bars

The volume clock vs the wall clock

toxic burstvol0startend of session →Wall-clock time → · each teal line = one bucket (a tick of the volume clock)

The blue curve is cumulative traded volume across the session; the grey silhouette is per-bar volume. Each teal line marks a completed bucket — one tick of the volume clock. In calm stretches the ticks are spread out; through the toxic burst (amber) volume floods in, so the ticks crowd together — the clock races while the wall clock barely moves. VPIN samples on this clock, which is why it reacts where the action is.

Buys vs sells, bucket by bucket

buy-heavy ↑sell-heavy ↓+1−1Volume-clock buckets → · signed order imbalance (Vbuy−Vsell)⁄V

Each bar splits one bucket's volume into buys and sells with Bulk Volume Classification, then plots the signed imbalance. Calm buckets hover near zero (buys ≈ sells); the toxic episode (amber band) turns deep red as informed selling overwhelms the buyers. VPIN is the rolling average of the absolute heights — it doesn't care which side, only how lopsided the flow is.

VPIN: toxicity on the volume clock

alert level (illustrative)peak 0.4000.6Volume-clock buckets → · VPIN (rolling order-flow toxicity)

VPIN over the volume clock, smoothed across your 20-bucket window. It idles near the calm baseline, then climbs through the toxic episode and pokes above the illustrative alert level (red dashed). The real metric uses its own historical distribution to set that level — here it's a fixed line so the slider's effect is easy to read.

Reading this

Toxicity isn't about price falling — it's about who you're trading against. When flow turns one-sided, the people taking the other side of your order know something, and a market maker's inventory bleeds. Sampling on the volume clock concentrates the signal where volume (and risk) actually is, so order-flow imbalance shows up as a clean VPIN spike rather than a smear across slow wall-clock minutes. It's a cousin of the price-impact and liquidity signals — all ways of asking how dangerous the other side of the book is right now.

Embed this simulator on your site

Free to embed — please keep the short credit line below the widget.

<iframe src="https://microalphas.com/tools/vpin-volume-clock/" width="760" height="1520" frameborder="0" loading="lazy" title="VPIN & the Volume Clock"></iframe>
<p style="font:13px/1.4 sans-serif;margin:6px 0 0">Powered by the <a href="https://microalphas.com/tools/vpin-volume-clock/">VPIN &amp; Volume-Clock simulator</a> from <a href="https://microalphas.com/">Micro Alphas</a></p>