What is VPIN?
VPIN (Volume-Synchronized Probability of Informed Trading) estimates how toxic order flow is — that is, how likely it is that the counterparties trading against a market maker are better informed. It works by splitting trading activity into equal-volume buckets rather than equal time intervals, classifying each bucket's volume as buy- or sell-initiated, and averaging the absolute imbalance. Readings near 1 indicate heavily one-sided, likely informed flow; readings near 0 indicate balanced flow.
Why time buckets fail and volume buckets do not
The idea VPIN replaced was PIN, which estimated informed trading from daily buy and sell counts using a maximum-likelihood fit. That approach struggles once trading becomes fast and uneven: in modern markets, a single minute at the open can carry more volume than an hour at midday, so a clock-based window mixes a frantic period and a quiet one into the same observation.
VPIN's central move is to stop using the clock. Volume is accumulated until a fixed bucket size is reached, and only then is the bucket closed. Every bucket therefore represents the same amount of economic activity, which makes buckets comparable to one another regardless of how long each took in wall time. In an active period buckets close quickly; in a quiet one they take longer. This is what “volume-synchronized” means.
Formula
Worked example
Take a bucket size of V = 100,000 shares and four completed buckets:
| Bucket | Buy volume | Sell volume | |Imbalance| |
|---|---|---|---|
| 1 | 55,000 | 45,000 | 10,000 |
| 2 | 80,000 | 20,000 | 60,000 |
| 3 | 48,000 | 52,000 | 4,000 |
| 4 | 90,000 | 10,000 | 80,000 |
0.385 means that, on average, about 38.5% of each bucket's volume was unmatched directional pressure. Two of the four buckets (2 and 4) are doing almost all the work — which is typical, and a reason to look at the distribution of bucket imbalances rather than the average alone.
Where the buy/sell split comes from
Exchange tapes do not label trades as buyer- or seller-initiated, so the split has to be inferred. Two common approaches:
- Tick rule / Lee-Ready: compare the trade price to the prevailing quote midpoint or to the previous trade. Simple, but degrades when quotes move faster than trades are reported.
- Bulk volume classification (BVC): the method used in the original VPIN work. Rather than classifying each trade, it assigns a fraction of each bar's volume to buys using the standardised price change, typically via a Student-t or normal CDF. This is more robust to timestamp noise and is why VPIN is usually computed on bars rather than individual prints.
The choice matters: published VPIN levels are not comparable across studies unless the classification method, bucket size and sample window all match.
What a high reading actually means
A high VPIN says order flow has been persistently one-sided. For a liquidity provider that is a warning about adverse selection: the probability of being filled by someone who knows more rises, so quoting the same spread becomes more expensive. The documented response is to widen spreads or withdraw, which is the mechanism connecting toxicity to liquidity deterioration.
What it does not say is which direction price will go. VPIN uses the absolute imbalance, so a heavily bought and a heavily sold bucket produce the same contribution. It is a measure of one-sidedness, not of direction.
Limitations
- Contested predictive value. VPIN's role in the 2010 Flash Crash has been actively disputed in the literature, notably by Andersen and Bondarenko, who argue much of its apparent forecasting power reflects volume-volatility mechanics rather than information. Treat it as a descriptive microstructure statistic, not an established early-warning indicator.
- Highly parameter-dependent. Bucket size, the number of buckets in the moving window and the classification method all move the level. Absolute values are close to meaningless without those parameters.
- Needs real tick or bar data. VPIN cannot be computed from end-of-day OHLCV. QuantMedia does not publish a live VPIN reading for this reason — the data pipeline collects daily bars, not order flow, and estimating it anyway would be fabrication.
- Relative, not absolute. A reading is interpretable against that instrument's own recent history, not against a universal threshold.
References
- Easley, D., López de Prado, M. & O'Hara, M. (2012). “Flow Toxicity and Liquidity in a High-Frequency World.” Review of Financial Studies 25(5), 1457–1493. doi:10.1093/rfs/hhs053
- Easley, D., López de Prado, M. & O'Hara, M. (2011). “The Microstructure of the Flash Crash.” Journal of Portfolio Management 37(2), 118–128.
- Andersen, T. & Bondarenko, O. (2014). “VPIN and the Flash Crash.” Journal of Financial Markets 17, 1–46. doi:10.1016/j.finmar.2013.05.005
- Lee, C. & Ready, M. (1991). “Inferring Trade Direction from Intraday Data.” Journal of Finance 46(2), 733–746.