Cumulative delta (CVD)

Cumulative delta, or CVD, is the running sum of bar delta from a chosen starting point, usually the session open. It shows whether aggressive buyers or sellers have dominated over the session so far, which price alone can hide.

Senzoukria · Glossary · Updated September 2026


How it is computed

Each bar has a delta: ask volume minus bid volume. Cumulative delta adds those deltas bar after bar. The curve rises when aggressive buying dominates a bar and falls when aggressive selling does. Its level at any time is the net aggression since the anchor.

  • CVD[i] = CVD[i−1] + delta[i], starting from zero at the anchor.
  • The anchor is a convention. In futures it is normally the CME session open; the curve resets there.
  • Because it is a sum, one very large bar shifts the whole curve that follows. Look at the slope and the shape, not only the value.

How to read it

  • Trend and CVD moving together: the move is being paid for by aggressors. Nothing to add.
  • Price at a new high while CVD is lower than at the previous high: buyers are less aggressive on this leg. Divergence, worth checking with the footprint.
  • CVD making new lows while price holds: sellers keep hitting bids and are being absorbed. It is often read as reversal context; it turns into a trap when the bids finally pull.
  • A flat CVD during a range says the auction is balanced; a break with flat CVD is suspicious.

In Senzoukria

The pane indicator Session CVD accumulates total delta and resets at every CME session open at 17:00 Chicago time, on historical sessions as well as the current one. CVD Slope measures its inclination over a window of bars that must stay inside one session, and CVD Divergence marks bars where the CVD and price moved in opposite directions over that window. The scripting editor ships a Session cumulative delta template with the same reset rule.

The Study guide panel of the indicator library is explicit about coverage: delta is accumulated from the first loaded bar, so a partially loaded session gives a partial cumulative delta. A reset boundary in the data does not prove that every earlier trade was loaded.

Common mistakes

  • Comparing CVD values across days. After a reset the number restarts; only the shape within a session is comparable.
  • Anchoring at the start of the chart. Scrolling changes the anchor and therefore the curve.
  • Treating a CVD divergence as an entry. It is a question about who is aggressive, answered by looking at the footprint at that price.
  • Reading CVD on bars without aggressor data. Those bars contribute nothing, and the curve simply stops being meaningful.

This page in other languages

Frequently asked questions

What is the difference between delta and cumulative delta?
Delta describes one bar: ask volume minus bid volume within it. Cumulative delta adds every bar's delta from an anchor onwards, so it describes the session. A single bar can have positive delta while the cumulative curve keeps falling.
Does cumulative delta reset?
It depends on the tool. The convention used in Senzoukria's Session CVD is a reset at each CME session open, 17:00 Chicago time, so every session starts at zero. Crypto sources reset at the UTC day boundary. A curve that never resets accumulates the whole loaded history and its level becomes hard to interpret.
Is CVD the same as on-balance volume?
No. On-balance volume adds or subtracts the whole bar volume depending on the close direction. Cumulative delta uses the aggressor side of each trade, so it can fall on an up-close bar. OBV can be computed from OHLCV; CVD cannot.

Keep reading