Indicators
CVD (Cumulative Volume Delta)
The running total of aggressive buy volume minus aggressive sell volume, based on taker-side flow rather than price changes.
Cumulative volume delta (CVD) is the running sum of volume classified as aggressive buying minus volume classified as aggressive selling. A buyer who crosses the spread lifts an ask; a seller who crosses it hits a bid. Per bar:
delta(bar) = buy volume − sell volume
CVD(t) = Σ delta over all bars up to t
If three bars have deltas of +12, −5, and +3 BTC, a CVD series starting at
zero ends at +10 BTC. Rising CVD means the selected feed classified more
volume as buyer-initiated over that interval; falling CVD means the reverse.
Bybit's public-trade API, for example, documents its side field as the
taker side.
Why compare it to price
CVD is often compared with price. A bearish divergence labels a new price high that CVD does not confirm. “Absorption” labels heavy aggressive selling while price holds, which is consistent with passive bids taking the other side. These patterns are descriptions, not proof of who traded or a forecast of reversal. The same pattern can continue, disappear after aggregation changes, or fail as a signal.
Data requirements
CVD needs trades with an aggressor-side classification or candles derived from such trades. It is not the order book: CVD summarizes executed flow, while L2 shows visible resting interest. It is also not universal across venues. Exchange coverage, contract type, side-classification method, missing trades, bar boundaries, and the chosen starting point can produce different CVD series for the same asset.
A common misconception is that CVD measures all buyers minus all sellers. Every completed trade has both; CVD classifies which side initiated it. A positive number does not mean buyers existed without sellers.
On AlphaProve
AlphaProve's candle schema carries buy volume, sell volume, and delta, and
Python strategies can use ctx.indicators.cvd. The no-code builder and builtin
order-flow strategies can also use the series. That makes a rule testable; it
does not establish an edge. CVD order flow explained
shows the data requirements, historical test results, and failure cases behind
the short definition here.