Quant Memo
Advanced

VPIN and Flow Toxicity

A real-time gauge of how "toxic" order flow is — how lopsided buying versus selling has become — measured on a volume clock instead of a wall clock. High VPIN warns market makers that the flow hitting them is probably informed, and it spiked before the 2010 Flash Crash.

Prerequisites: Adverse Selection, The Glosten-Milgrom Model

A market maker's nightmare is toxic flow: a stream of orders that is mostly one-sided because the people trading know something you don't. Sell into a wave of informed buying and you keep accumulating a short right before the price jumps against you — classic Adverse Selection. VPIN — the Volume-Synchronized Probability of Informed Trading — is a practical, real-time estimate of how toxic the current flow is, built by Easley, López de Prado, and O'Hara to work at high-frequency speeds where older informed-trading models were too slow.

The clever move that makes VPIN tick is the volume clock. Instead of chopping the day into equal time buckets (every minute, say), you chop it into equal volume buckets — every 100,000 shares traded, regardless of how long that takes. In a frantic minute you might fill several buckets; in a sleepy hour, none. Trading in volume-time smooths out the wild swings in activity and lines up neatly with how information actually arrives, because information gets revealed as volume trades, not as the clock ticks.

Building VPIN

Within each equal-volume bucket you split the volume into a buy part and a sell part (using the direction of price moves to classify trades — "bulk volume classification"). The bucket's imbalance is how lopsided it was: VBVS|V^B - V^S|, the absolute difference between buy volume and sell volume. VPIN averages that imbalance, as a fraction of bucket size, over the last nn buckets:

VPIN=1nτ=1nVτBVτSV,\text{VPIN} = \frac{1}{n}\sum_{\tau=1}^{n} \frac{\left|V_\tau^{B} - V_\tau^{S}\right|}{V},

where VτBV_\tau^B and VτSV_\tau^S are the buy and sell volume in bucket τ\tau, VV is the fixed bucket size, and nn is how many recent buckets you average over (the window). If buys and sells are balanced, each imbalance is near zero and VPIN is low — healthy, two-sided flow. If bucket after bucket is dominated by one side, the imbalances stay large and VPIN climbs toward 1 — toxic, one-sided flow.

VPIN is the average absolute order imbalance across equal-volume buckets, 1nVBVS/V\frac1n\sum |V^B - V^S|/V. It reads high when flow is persistently one-sided (likely informed) and low when buying and selling roughly cancel. The trick is the volume clock — buckets of equal volume, not equal time.

Worked example

Use a bucket size of V=100,000V = 100{,}000 shares and a window of n=5n = 5 buckets. Here is what the volume clock hands you:

BucketBuy vol $V^B$Sell vol $V^S$Imbalance $|V^B-V^S|$Fraction of $V$
152,00048,0004,0000.04
260,00040,00020,0000.20
375,00025,00050,0000.50
480,00020,00060,0000.60
570,00030,00040,0000.40
Five equal-volume buckets. Buying steadily overwhelms selling from bucket 2 onward — the imbalance fractions climb — which is exactly the signature of one-sided, likely informed flow.

Average the last column:

VPIN=0.04+0.20+0.50+0.60+0.405=1.745=0.348.\text{VPIN} = \frac{0.04 + 0.20 + 0.50 + 0.60 + 0.40}{5} = \frac{1.74}{5} = 0.348 .

A VPIN of about 0.35 is elevated — roughly a third of the volume, on average, is net one-directional rather than offsetting trade. Compare that to a calm market where buys and sells nearly cancel every bucket and VPIN sits near 0.05. A market maker watching VPIN climb from 0.05 toward 0.35 would widen quotes, cut size, or step back entirely, because the flow is telling them the counterparties are increasingly informed and each fill is more likely to be on the wrong side.

The Flash Crash and the controversy

VPIN's fame comes from the May 6, 2010 Flash Crash. Its authors showed VPIN rose to extreme levels in the hours before the crash — flow toxicity built up, liquidity providers rationally withdrew, and the thinned-out book then gapped violently. The story is compelling: toxicity drives out liquidity, and a market drained of liquidity is one shock away from a collapse.

VPIN is genuinely controversial. Critics (notably Andersen and Bondarenko) argue the volume clock and bulk classification build in mechanical artifacts, that its predictive power over crashes is weaker out-of-sample than advertised, and that high VPIN often just reflects high volatility rather than genuine information. Treat it as a warning gauge of one-sidedness, not a validated crash predictor.

The single most portable idea here is the volume clock. Sampling the market in volume-time rather than calendar-time stabilizes a lot of high-frequency statistics — returns become closer to normal and less heteroskedastic — because information and activity flow with volume, not with the wall clock. Even if you never compute VPIN, the volume clock is worth stealing.

VPIN sits in a lineage of informed-trading measures — it is a high-frequency, model-light descendant of the older PIN model, which itself formalizes the Adverse Selection idea at the heart of the The Glosten-Milgrom Model and The Kyle Model. Where those models explain why informed flow forces makers to widen spreads, VPIN tries to measure that pressure live from order-flow imbalance, so a market maker can react before the toxicity turns into a loss.

Related concepts

Practice in interviews

Further reading

  • Easley, López de Prado & O'Hara (2012), Flow Toxicity and Liquidity in a High-Frequency World
  • Easley, Kiefer, O'Hara & Paperman (1996), Liquidity, Information, and Infrequently Traded Stocks
ShareTwitterLinkedIn