Docs·Web App·Indicators

VPIN — Volume-Synchronized Probability of Informed Trading

VPIN reads volume-bucketed order-flow imbalance — when elevated, one side has been winning bucket after bucket and the next move is likely directional.

VPIN (Volume-Synchronized Probability of Informed Trading) measures the imbalance between buy-aggressor and sell-aggressor volume over volume-bucketed windows — buckets are filled by traded volume, not by time. Informed trading is the working assumption that some participants on the tape are acting on better information than the rest; when their order flow is heavy enough that buckets keep landing lopsided in the same direction, VPIN climbs. A high reading means flow has been one-sided for long enough that the next leg is likely directional rather than chop. VPIN paints in its own sub-pane below the main chart as a 0-to-1 oscillator with an SMA overlay and a coloured value tag at the right axis.

VPIN oscillator with elevated regime tint, threshold band and SMA overlay

Settings reference

The dialog has one tab — every knob below lives under it.

SectionSettingDefaultNotes
InputsBucket size50Controls how much traded volume goes into each bucket, expressed as a fraction of the symbol's average per-bar volume. Larger = each bucket eats more bars before closing, so VPIN smooths out. Smaller = buckets close fast, VPIN reacts to within-bar bursts. Options: 20 · 30 · 50 · 75 · 100.
Window (buckets)50Number of recent buckets averaged into the rolling VPIN read. Larger = slower, more stable regime read. Smaller = quicker turn but noisier. Same option set as bucket size.
Alert threshold0.70The "elevated" level. The dashed threshold line is drawn here, the high-zone background tint hangs off it, the area under the VPIN line flips from green to red as it crosses it, and the value tag turns red when current VPIN is above it. Options: 0.50 · 0.60 · 0.70 · 0.80 · 0.90.
DisplayShow SMA lineOnA second, blue, slower line that smooths VPIN — useful for filtering single-bucket spikes. Read the cross between raw VPIN and the SMA the same way you'd read a moving-average cross.
Show zone backgroundOnPaints a red haze across the "elevated" band of the pane and a green haze across the "calm" band, so the current regime is readable at a glance without having to look at the line value.

VPIN values are normalised across the visible history into a clean 0.0 – 1.0 range so the same threshold makes sense across symbols and timeframes. Without normalisation, a busy liquid pair would read very differently from a quiet alt — normalising rescales each symbol to its own typical-imbalance distribution.

How to read it

What you see in the VPIN sub-pane, top to bottom:

  • Pane labelVPIN at the top-left with the (bucketSize / window) pair next to it, so you can sanity-check the tune at a glance.
  • VPIN line — the orange line itself, plotted in the 0.0 – 1.0 range. Higher = flow has been more one-sided recently. Direction is not encoded — VPIN tells you the magnitude of the imbalance, not which side.
  • Area fill under the line — green tint when the line is below the alert threshold, red tint when it's above. A wash of red across most of the visible range is the at-a-glance "we're in a directional regime" signal.
  • Threshold line — dashed line at the alert-threshold level you picked. The line you watch for crossings.
  • Midline — fainter dashed line at the half mark (0.5). Useful as a "below this, flow is on the quiet side" reference.
  • Zone tints (optional) — red haze across the upper band of the pane (the "elevated" zone) and a green haze across the lower band (the "calm" zone). On at-a-glance only — the actual reading is the line.
  • SMA overlay (optional) — blue line, a slower-moving smoothing of VPIN. When the raw line pushes above the SMA, imbalance is accelerating. When it cuts back below, imbalance is fading.
  • Current-value tag at the right Y-axis — boxed VPIN reading at the last bar. Green when calm, orange when mid-range, red when above the alert threshold. The colour change is the trader's "regime flipped" cue.
  • Y-axis labels — fixed reference levels along the side so you can eyeball where VPIN sits without crosshair-hovering.

Trading reads

  • VPIN sits in the green zone, line is flat — balanced flow, no informed-side dominance. Mean-reversion environment; counter-trend setups work, breakouts often fail.
  • VPIN climbing through the midline toward the threshold — imbalance is building bucket by bucket. A trend is forming under the tape; tighten counter-trend stops and start hunting with-trend entries.
  • Value tag turns red (VPIN above threshold) — informed flow regime. Trade with the imbalance, not against it. Don't fade pushes; absorption fades stop working until VPIN cools.
  • VPIN spikes off the floor in a few bars — a fast accumulation or distribution episode just hit the tape. Pair with CVD to identify the side and with Large Trades to see the prints that drove the spike.
  • Raw VPIN crosses above the SMA — imbalance is accelerating. The classic "regime in progress" tell, especially when paired with price breaking a recent range.
  • Raw VPIN crosses back below the SMA while still in the red zone — imbalance is starting to fade even though magnitude is still high. Often precedes a pause or pullback before the next leg.
  • VPIN stays pinned at the ceiling for many bars — heavy, persistent informed flow. Treat any counter-move as a fakeout until VPIN starts rolling over.

Common pitfalls

  • Reading VPIN as a side — VPIN measures magnitude of imbalance, not direction. A high reading means somebody has been winning bucket after bucket; it doesn't tell you whether it's the buy side or the sell side. Pair with CVD (which is directional) or with the candle close itself to decide which way to lean.
  • Tuning the bucket too small for a low-volume pair — a tiny bucket size on an illiquid symbol closes a bucket on every burst of activity, so VPIN spikes on noise. Push the bucket size up until the pane looks like it has a real wave-shape, not a strobe.
  • Tuning the bucket too large on a fast pair — the opposite trap. A huge bucket on a high-flow pair means VPIN barely moves; you'll miss real regime shifts because each bucket needs forever to close. Drop the bucket size on liquid majors.
  • Trading every threshold cross — the threshold is a regime flag, not an entry signal. A single bar above-threshold means very little. Wait for the SMA to confirm, or for price to break a structural level on the same bar, before treating it as actionable.
  • Reading VPIN during dead hours — when overall flow is thin (low-liquidity sessions), even small clusters of one-sided prints will normalise into elevated VPIN readings. Trust VPIN more during liquid sessions; treat dead-hour spikes as informational only.
  • Confusing VPIN with volatility — a wide-bodied candle is range; VPIN is imbalance. You can have a quiet, narrow-range bar with very high VPIN (steady one-sided flow without price moving much — classic absorption) and you can have a huge volatile bar with low VPIN (both sides slugged it out evenly). They're different reads.

What's next

  • CVD — directional companion to VPIN. VPIN tells you how lopsided flow is, CVD tells you which side is winning. Read them together.
  • Large Trades — the per-trade view of what makes up the buckets VPIN aggregates. When VPIN spikes, this is where you go to see the prints behind it.
  • Volume — total magnitude per bar with no direction split. The denominator-side companion to VPIN's numerator.
  • Orderbook Heatmap — the resting-liquidity context. A high VPIN that meets a thick wall behaves differently from a high VPIN into thin book.