MarketTrace
M1पोज़िशनिंगM2ऑर्डर बुकM3लिक्विडेशनM4फंडिंग

Cumulative Volume Delta (CVD): what it is and how to read it

Cumulative volume delta is a running sum of taker-buy volume minus taker-sell volume on a trading pair. It tracks aggressive flow: trades that crossed the bid-ask spread to get filled at market. Where price tells you what happened, CVD tells you who paid for it.

Updated · 6 min read

How CVD is calculated

Every trade on a perpetuals exchange is either a taker-buy or a taker-sell. A taker-buy is a market order that crosses the spread and lifts the ask. A taker-sell is a market order that hits the bid. The taker is paying for immediacy; the maker is providing liquidity.

CVD assigns a sign to each trade and sums them over a window:

cvd(t) = Σ  ( volume_i  if taker_side_i == "buy"
            else -volume_i )

for every executed trade i within the trail window [t - W, t]

Common windows for crypto perpetuals are 15 minutes, 1 hour, 4 hours, and 24 hours. Shorter windows show intraday flow; longer windows show the structural bias of the period.

How to read CVD

CVD on its own does not give you a setup. Read it alongside price. Four common patterns:

  • Price up, CVD up. The move is paid for by aggressive buyers. Trend has fuel.
  • Price up, CVD flat or down. Price is grinding higher without taker support. Either passive bids are absorbing and pushing the book, or the move is thin and will struggle to extend.
  • Price down, CVD down. Mirror of the first case. Aggressive selling driving price lower.
  • Price down, CVD flat or up. Price falling without taker sell-through. Often a sign that sellers are out of momentum or that the drop is technical, not flow-driven.

Across multiple exchanges, aggregated CVD is more reliable than any single feed. A taker-buy spree on one venue can look like flow when it is really one trader. Three-venue aggregation smooths that out.

CVD divergence

A CVD divergence happens when price and CVD stop telling the same story. The two classic shapes:

  • Bearish divergence. Price makes a higher high. CVD makes a lower high. Buyers are pressing less hard at the second peak than the first. The move up is losing flow support.
  • Bullish divergence. Price makes a lower low. CVD makes a higher low. Sellers are pressing less hard at the second trough. The move down is losing flow support.

A divergence is not a signal. It is a question: who is on the other side of this move, and how long can they keep pushing without aggressive help? Pair it with structure (a key level, a prior range, a liquidation cluster) and a divergence becomes a planning input. On its own, it is noise as often as it is information.

CVD on crypto perpetuals

Crypto perpetuals (Binance USDⓈ-M, Bybit USDT perps, OKX swaps) publish every trade with a taker-side flag. That makes CVD directly computable in real time, no estimation needed.

A few crypto-specific quirks worth knowing:

  • BTC and ETH perps have deep books. CVD reads cleanly. Aggressive flow shows up at the tape and aligns with price most of the time.
  • Mid-cap perps (SOL, BNB, XRP, DOGE) are noisier. A single $500k taker-buy can spike CVD without representing real directional conviction. Read with a longer window.
  • Funding rate and CVD interact. When funding is paying longs and CVD turns negative, longs are paying for a position the flow no longer supports. That is one of the cleanest pre-flush setups on crypto perps.
  • Spot CVD and perp CVD can disagree. Spot is dominated by long-only flow; perp is balanced. A move with positive spot CVD but flat perp CVD tells you the bid is real-money, not leverage.

What CVD does not tell you

Honesty about limitations is the point. CVD is one input, not a system.

  • It does not know about positioning. A long squeeze can happen even with positive CVD if the move was crowded.
  • It does not adjust for size distribution. One taker-buy of 1000 BTC is treated the same as a thousand taker-buys of 1 BTC. The shape of order flow matters; CVD only sums the magnitude.
  • It is a present-tense indicator. Aggressive flow already happened when the dot lands on the chart. Trades happen at the right edge, not the middle of the screen.
  • Single-exchange CVD can mislead. Aggregate across the major venues for a real read.

FAQ

What is cumulative volume delta (CVD)?

Cumulative volume delta is a running sum of taker-buy volume minus taker-sell volume. It tracks aggressive flow: trades that crossed the spread to get filled at market. Positive CVD means buyers are paying through the ask. Negative CVD means sellers are paying through the bid.

How is CVD calculated?

For every executed trade, add the volume if it was a taker-buy (market order against the ask) and subtract it if it was a taker-sell (market order against the bid). Sum these signed values over a chosen window (15 minutes, 4 hours, 24 hours). The running total is the CVD.

What is a CVD divergence?

A CVD divergence happens when price and CVD point in different directions. Price makes a higher high but CVD makes a lower high: buyers are not pressing as hard as the price suggests. The reverse on lows. It is not a signal, it is a question: who is on the other side of this move?

Is CVD a buy or sell signal?

No. CVD describes flow that already happened. It is a context indicator, not a predictive one. Pair it with structure, levels, and your own risk model. MarketTrace publishes microstructure data, not signals.

Does CVD work on crypto perpetuals?

Yes. Crypto perpetual exchanges (Binance, Bybit, OKX) publish trade-by-trade data with taker side flagged. CVD is computable in real time per symbol and per exchange. Aggregated CVD across the three biggest venues gives a cleaner read than any single feed.