VPIN — Flow Toxicity
Volume-synced probability of informed trading.
What it measures
Volume-synchronized probability of informed trading (Easley, López de Prado & O'Hara): trades are grouped into equal-volume buckets, each bucket's absolute buy/sell imbalance |V_buy − V_sell| / V is computed, and the result is averaged over a rolling set of buckets. Elevated VPIN flags one-sided, potentially informed ("toxic") flow — the kind market makers widen or withdraw against.
References: Easley-López de Prado-O’Hara 2012.
Point-in-time, leak-free
Like every QUANT_API feature, flow.vpin is computed point-in-time: each value uses only data that had actually arrived at the timestamp you query — live or historical. No restatements, no backfills that quietly rewrite the past, no look-ahead. The value your backtest sees at a given stamp is the value the live API would have returned at that stamp. How we enforce this is documented on the methodology page.
Windows & transforms
The signal is computed over rolling windows; each window can be served raw or through a transform (z-score, percentile rank, delta…). Which windows and transforms you can query depends on your plan — the signal itself supports:
Plan & access
flow.vpin unlocks on the Signal plan ($99/mo) and every plan above it. Every new account starts with a 14-day free trial of the Signal plan — no card required.
Example call
Resolve the latest value for BTC (5m window, delta transform — both available on the Signal plan):
curl -G https://api.quant-api.dev/v1/features/live \
-H "Authorization: Bearer fk_live_<your_key>" \
--data-urlencode "asset=BTC" \
--data-urlencode "features=flow.vpin@5m:delta"Same key works on /v1/features/historical for point-in-time backtesting — see the API docs.