Skip to content
GetProfitable
Search

Cumulative delta and divergence

Lesson 12 · about 10 min

Bar delta tells you who was aggressive in one bar. Cumulative delta (CVD, cumulative volume delta) adds every bar's delta together from a chosen start, usually the session open, and plots it as a line. It answers a bigger question: across the whole session, who has been more aggressive, and is price agreeing with them?

Building it by hand

Bar Ask vol Bid vol Bar delta Cumulative delta Close
1 1,420 1,180 +240 +240 5001.50
2 1,650 1,230 +420 +660 5003.00
3 1,310 1,290 +20 +680 5003.25
4 980 1,410 −430 +250 5002.00
5 1,120 1,530 −410 −160 5000.75
6 1,540 1,090 +450 +290 5002.50
7 1,720 1,010 +710 +1,000 5003.25
8 1,690 1,050 +640 +1,640 5003.50

By bar 8, aggressive buyers have lifted 1,640 more contracts than aggressive sellers have hit. Price is at 5003.50. Compare bars 3 and 8: at bar 3 CVD was +680 and price 5003.25; at bar 8 CVD is +1,640 and price is 5003.50. It took an additional 960 contracts of net aggression to gain one tick. That is the kind of comparison CVD is for.

Divergence

Divergence is when price and CVD make different kinds of highs or lows.

  Price                            CVD
  5004 |            /\             +2000 |
  5003 |      /\   /  \            +1500 |            /\
  5002 |     /  \ /    \           +1000 |      /\   /  \
  5001 |    /    v      \           +500 |     /  \ /    \
  5000 |   /             \             0 |    /    v      \
       +------------------            -500 |   /             \
         bar: 1 2 3 4 5 6 7 8               +------------------
                                              bar: 1 2 3 4 5 6 7 8

That is agreement: price made a higher high and so did CVD. Now the divergent case:

  Price                            CVD
  5004 |            /\             +1000 |      /\
  5003 |      /\   /  \             +500 |     /  \    /\
  5002 |     /  \ /    \               0 |    /    \  /  \
  5001 |    /    v      \           -500 |   /      \/    \
  5000 |   /             \         -1000 |  /              \
       +------------------               +------------------

Price made a higher high; CVD made a lower high. The second push to new highs happened on less net aggressive buying than the first. Two explanations, and you need the footprint to tell them apart:

  1. Buyers are exhausting. Fewer buyers were willing to lift at the higher price. The push is running on momentum and short covering. Bearish.
  2. Passive buyers are driving it. Price rose because offers were pulled and resting bids stepped up, not because anyone lifted. Also fragile, since passive buying cannot sustain a move.

Either way, a higher high in price on a lower high in CVD is a push that lacks aggressive sponsorship. That does not mean it will reverse; it means it needs fresh aggression to continue, and if that does not arrive, the reversal is usually quick.

The mirror image, price making a lower low while CVD makes a higher low, is the bullish version: sellers pushed to new lows with less aggression than before.

Key idea: CVD tracks net aggression across the session. Price making a new extreme that CVD does not confirm means the move lacks aggressive sponsorship. It is a warning, not a signal; the entry still needs a trigger.

The other divergence: heavy CVD, flat price

The case from the table above deserves its own name. When CVD rises strongly and price goes nowhere, the aggressive buyers are being absorbed by passive sellers. It is Module 2's absorption, measured across many bars instead of one price.

Window CVD change Price change Read
10:00 to 10:30 +2,100 +14 ticks Aggression is working
10:30 to 11:00 +1,900 +2 ticks Aggression is being absorbed
11:00 to 11:15 −600 −11 ticks Absorbed buyers exiting; sellers in control

The second window is where a trader who only watched price would see "consolidation near the highs" and think it was healthy. A trader watching CVD sees nearly as much buying as the first window with none of the result, and prepares for the third window.

CVD reset and drift

Two practical issues:

  • Where CVD starts matters. Most traders reset at the session open. Some run it continuously. A continuous CVD drifts over days because bid/ask classification is not perfectly symmetrical, so its absolute level means little; only its shape over the current session or day is useful.
  • CVD on stocks and crypto is venue-dependent. On futures from one exchange, CVD is a complete measure. On a stock, the CVD from one exchange feed is a sample; on crypto, each exchange has its own CVD and they can disagree. Treat those as approximations.

A checklist for using CVD

  1. Is price making a new high or low for the session?
  2. Is CVD making a corresponding new high or low? If yes, the move has aggressive sponsorship; be careful fading it.
  3. If not, divergence. Check the footprint at the extreme: finished or unfinished? Stacked imbalances that were absorbed?
  4. If the extreme is finished and the divergence is present, wait for the trigger: a bar closing back inside the prior range, or delta flipping.
  5. Stop beyond the extreme. If a fresh burst of aggression arrives and CVD makes a new high, the divergence has resolved against you and you should be out.

Try it: Using the eight-bar table above, add three more bars: bar 9 with ask 1,510 and bid 1,340, closing at 5003.75; bar 10 with ask 1,380 and bid 1,420, closing at 5004.00; bar 11 with ask 1,200 and bid 1,610, closing at 5003.25. Compute each bar's delta and the running CVD, then state in one sentence whether bars 9 and 10 show divergence and why.

Recap

  • Cumulative delta sums bar deltas from the session open; it measures net aggression across the session.
  • Agreement (price and CVD making the same kind of extreme) means the move has aggressive sponsorship.
  • Divergence (price extreme not matched by CVD) means the move is running without fresh aggression; it is a warning that needs a trigger and a footprint check.
  • CVD rising while price stalls is multi-bar absorption; the absorbed side usually exits eventually.
  • CVD's absolute level is meaningless and it is venue-dependent on stocks and crypto; use its shape within the session.

See it drawn

Original diagrams for the ideas on this page. Illustrative, not real market data.

How a call option's delta changes with the underlying priceAn S-shaped curve rising from zero, passing through about a half at the strike, and flattening near one.Delta of a call option1.000.5008090110120Out of the moneyAt the moneyIn the money1.00 means it moves one-for-one with the stockdelta ≈ 0.50 at the strikeStrike 100Underlying price
Delta across the range of prices. Delta says how much a call's price moves for a one-point move in the stock. Far below the strike it is near 0 and the option barely reacts; at the strike it is about 0.50; far above it approaches 1 and tracks the stock.
Bearish divergence between price and RSIA price line whose second peak is higher than its first, drawn above an RSI panel whose second peak is lower than its first, with the two peaks joined by sloping dashed lines.PRICEhigher highRSI (14)70overbought30oversoldlower high
Divergence between price and RSI. RSI measures how one-sided recent price moves have been on a 0–100 scale. Here price sets a higher peak while RSI sets a lower one, so the second push carried less momentum than the first.
Trend structure: higher highs against lower lowsTwo zigzag price paths side by side; the left one steps upward with each peak and trough above the last, the right one steps downward with each peak and trough below the last.UPTRENDhigher highs, higher lowsHHHHHHHLHLHLDOWNTRENDlower highs, lower lowsLHLHLHLLLLLLHH higher high, HL higher low, LH lower high, LL lower low.
How a trend is built. A trend is just a sequence of turning points. While each peak and each dip sits above the one before it the market is trending up; once both start landing below the previous ones the structure has turned down.

Finished this module? Take the module quiz.