Cumulative Delta
8 min read
Track the running total of aggressive buying vs selling to reveal whether buyers or sellers are truly in control.
8 min read
Track the running total of aggressive buying vs selling to reveal whether buyers or sellers are truly in control.
Every trade has a buyer and a seller, but who crossed the spread to make it happen? Cumulative delta answers that question across time, revealing whether buyers or sellers are truly in control.
Prereqs: Order Flow Foundations and Understanding Depth of Market. Next: Using Footprint Charts.
Cumulative Volume Delta (CVD) tracks the running difference between aggressive buying volume and aggressive selling volume. An aggressive buyer is someone who places a market order that lifts the ask. An aggressive seller is someone whose market order hits the bid.
Traditional candlestick charts show you what price did. CVD shows you who did it -- whether the move was driven by buyers actively lifting offers or sellers hitting bids.
CVD = Sum(Buy Volume) - Sum(Sell Volume)
Where:
Lee-Ready (1991) baseline error rate when no taker flag is published. Crypto venues publish the taker side directly, so CVD on Binance and Bybit avoids this noise.
The CVD line rises when aggressive buyers dominate and falls when aggressive sellers take over. The absolute value matters less than the direction and shape of the curve.
| CVD Behavior | Interpretation |
|---|---|
| Rising steadily | Sustained buying pressure, buyers lifting offers |
| Falling steadily | Sustained selling pressure, sellers hitting bids |
| Flat or choppy | Balanced participation, no dominant aggressor |
| Sharp spike up | Sudden burst of aggressive buying |
| Sharp spike down | Sudden burst of aggressive selling |
CVD is cumulative, so where you start counting shapes the line. On Trading Glass, the CVD resets with each new session or when you reload data. Compare shape and direction, not absolute values across sessions.
| Pattern | Price | CVD | Implication |
|---|---|---|---|
| Bearish divergence | Higher high | Lower high | Buyers fading at the top |
| Bullish divergence | Lower low | Higher low | Sellers exhausting at the bottom |
| Hidden bearish | Lower high | Higher high | Sellers trapped in a bounce |
| Hidden bullish | Higher low | Lower low | Buyers absorbing on a pullback |
The most powerful CVD signals occur when delta and price disagree. These divergences expose hidden weakness or strength that candlesticks alone cannot reveal.
Price makes a higher high, but CVD makes a lower high. This means price is rising on progressively weaker buying. Sellers are beginning to absorb the demand without yielding ground yet.
BTC/USDT example: BTC rallies from $94,000 to $95,500, then pulls back and pushes to $96,000. The second push makes a new price high, but CVD peaks lower than it did at $95,500. Aggressive buying is fading. A reversal or deeper pullback is likely.
Price makes a lower low, but CVD makes a higher low. Sellers are pushing price down, but the volume of aggressive selling is diminishing. Buyers are quietly absorbing the pressure.
BTC/USDT example: BTC drops from $92,000 to $90,500, bounces, then drops again to $90,200. Price made a new low, but CVD bottomed higher than the first drop. Selling exhaustion is setting in. A bounce or reversal is probable.
A divergence signals weakening momentum, not an immediate reversal. Price can continue against the divergence for multiple candles. Always pair divergence with a structural trigger -- a break of structure, a key level reclaim, or a footprint confirmation.
On Trading Glass, the CVD indicator appears as a line plotted below the main chart. It updates in real time as trades stream from Binance, classifying each trade as a buy (taker side buy) or sell (taker side sell). Other platforms expose the same statistic — Bookmap calls it 'Cumulative Volume Delta', ATAS and Sierra Chart label it 'Delta', TradingView ships a 'Cumulative Volume Delta' indicator. The math is identical; what differs is data source (your broker's tape vs. a single exchange feed).
Key features to use:
These measure different things. Spot CVD reflects unleveraged demand for the asset. Perp CVD is dominated by leveraged speculators and funding-rate arbitrage. They routinely diverge: perp CVD can rip higher while spot CVD bleeds, signaling leveraged longs chasing a move spot buyers will not confirm. Always know which book your CVD is sourced from.
When BTC/USDT breaks above a consolidation range at $93,000, check whether CVD is also making new highs. If CVD surges alongside price, aggressive buyers are genuinely driving the move. If CVD stays flat or declines while price breaks out, the move may lack conviction and could fail.
After an extended rally, watch for CVD to flatten or turn down while price grinds higher. This exhaustion signal suggests the trend is losing its aggressive buyers. Combined with a resistance level or supply zone, this becomes a high-probability fade setup.
Bearish CVD divergence at resistance. Price made new high, CVD did not. Entered short on 5-min bearish engulfing.
BTC/USDT pushed into the $95,800 resistance zone for the third time. Each push showed weaker CVD peaks. The final push printed a bearish engulfing candle with heavy sell delta, confirming the reversal.
CVD is not open interest, not order book liquidity, and not 'smart money flow'. It is one statistic — net taker volume — and nothing more.
If you are new to the order flow stack, start with Order Flow Foundations and Understanding Depth of Market. Once CVD clicks, Using Footprint Charts shows the same flow at the bar level. For tick-rule classification on equities, see Lee & Ready (1991), 'Inferring Trade Direction from Intraday Data', Journal of Finance.
The running sum of (taker buy volume − taker sell volume) over a session or chosen window. It tracks who crossed the spread, not total volume.
CVD = Sum(Buy Volume) − Sum(Sell Volume), where buy volume is trades whose taker side is buy and sell volume is trades whose taker side is sell. The sum is cumulative from the start of the session or chosen period.
Passive liquidity (icebergs, large limit orders) can absorb aggressive flow until the absorber decides to step away. Until then, the divergence persists without resolving — CVD reports the truth, it just cannot tell you when patience runs out.
Yes, but classification is harder — equities lack a published taker bit, so CVD on stocks relies on tick-rule (Lee-Ready) classification with roughly 15-25% misclassification.
No. CVD is a confirmation tool, not a trade generator. Always combine with price structure, key levels, and a structural trigger.