Cumulative Volume Delta
Cumulative volume delta (CVD) is a running total of volume delta, the difference between volume traded aggressively at the ask (market buys) and volume traded aggressively at the bid (market sells). It is a Volume & Order Flow concept. The Library holds 2 implementations, each one ready to run on Vela.
CVD
Top Cumulative Volume Delta indicators
The top custom implementations, built on the original standard Cumulative Volume Delta formula.
2 total
See the top Cumulative Volume Delta implementation below on Vela, our next-generation charting platform, then ask Quant to turn it into a strategy you can backtest.
What is Cumulative Volume Delta?
Cumulative volume delta (CVD) is a running total of volume delta, the difference between volume traded aggressively at the ask (market buys) and volume traded aggressively at the bid (market sells). Each bar's delta is added to the sum, so the line tracks net aggression through time: rising CVD means buyers have been lifting the offer harder than sellers have been hitting the bid, and falling CVD means the reverse.
How trades are classified matters. With bid/ask or tick data, executions can be assigned to the aggressor side directly. Chart platforms without that feed approximate the split from lower-timeframe bars or candle geometry, so CVD from different tools and feeds (one exchange versus an aggregate, spot versus perpetual futures) will not match exactly. The anchor matters too: CVD can run continuously or reset each session or week, which shifts the absolute level without changing the shape. Traders therefore read slope, swing structure, and divergence rather than the raw number.
CVD matters because it separates aggression from result. Every trade pairs an aggressive order with passive liquidity resting at a level, so laying CVD against price shows whether aggression is being rewarded. When a new high in price comes with a new high in CVD, aggressive buyers are in control and being paid. When the two disagree, someone passive is usually absorbing the flow, and that tension is where many order-flow reads begin.
How to calculate Cumulative Volume Delta
CVD is computed rather than drawn, and each step of the pipeline involves a choice that changes the output.
- 1Classify volume by aggressor. Trades executing at the ask count as buy volume; trades at the bid count as sell volume. Without tick data, approximate by splitting each bar with lower-timeframe up and down volume, and accept that the result is an estimate.
- 2Compute each bar's delta: buy volume minus sell volume. A bar can close higher on negative delta, or lower on positive delta; that mismatch is information about absorption, not an error.
- 3Accumulate: add every bar's delta to a running sum, either continuously or reset at a chosen anchor (session, day, week). Intraday traders often reset at the open so the line reads as net flow for the current session.
- 4Plot it as a line or as CVD candles (the open, high, low, and close of the running sum within each bar), then compare swing highs and lows in CVD against swing highs and lows in price.
How it's calculated
A running total of aggressive buy volume minus aggressive sell volume since a chosen anchor.
Exact delta needs trade by trade bid/ask classification; charting platforms usually approximate it by signing lower timeframe candles by their direction.
When quote data is unavailable, the tick rule (uptick = buy, downtick = sell) is the standard fallback classification.
The absolute CVD level depends entirely on the anchor, so its slope and divergences carry the information, not the raw value.
How traders use it
- As a divergence tool: price prints a higher high while CVD prints a lower high (delta divergence), suggesting the push was not backed by net aggressive buying. Most traders treat this as a warning that needs price confirmation, not a standalone reversal signal.
- As an absorption read: when CVD drops hard while price holds a level, sellers are hitting the bid into passive buyers who keep refilling (absorption). If price then lifts, the aggressive sellers are trapped; if the level gives way, the absorption failed.
- As breakout confirmation: a break that extends on strongly expanding CVD shows real initiative participation, while a break on flat or fading CVD looks more like stops being triggered than new aggression (volume at breakout applies the same test with total volume).
- As an effort-versus-result gauge: a large CVD thrust that produces almost no price progress is heavy effort with poor result (effort vs result), often read as the aggressive side exhausting itself into resting liquidity.
Cumulative Volume Delta vs related concepts
Volume Delta: Per-bar versus cumulative: volume delta is the buy-minus-sell figure for a single bar, while CVD is the running sum of those figures. Delta shows who was aggressive in one bar; CVD shows how that aggression trends and diverges across a session or swing.
OBV: OBV adds or subtracts each bar's entire volume based on whether it closed above or below the prior close; it never looks inside the bar. CVD splits volume by aggressor side within each bar, so it needs tick data or an intrabar approximation. OBV is best understood as a close-direction proxy for the same idea.
Footprint Concepts: A footprint chart shows delta at every price level inside each bar, exposing exactly where the aggression happened. CVD compresses each bar to a single number and accumulates it, trading that granularity for a clean long-run line.
Bid/ask Imbalance: Imbalance compares buying and selling at individual price levels within the footprint (usually diagonally) to flag stacked one-sided prints. CVD is the market-wide running total; imbalances are the localized, level-by-level version of the same buy/sell comparison.
Cumulative Volume Delta FAQ
Turn Cumulative Volume Delta into a trading strategy.
Open the top implementation from this page in Vela. Quant, our coding agent, builds the strategy with you and backtests it on real data.
Browse this familyVolume & Order Flow91 concepts mapped · 91 in the Library
- 80% Rule
- Absorption & Exhaustion
- Accumulation/Distribution Line
- Anchored VWAP
- Auction Failure
- Auction Market Theory
- Balance vs Imbalance
- Better Volume Classifications
- Bid/ask Imbalance
- Bill Williams Market Facilitation Index
- Block Trades
- Chaikin Money Flow
- Chaikin Oscillator
- Churn
- Climactic Action
- Cumulative Volume Delta
- Day-type Taxonomy
- Delta Divergence
- Delta Profile
- Demand Index
- DOM
- Ease of Movement
- Excess
- Execution Algo Footprints
- Footprint Concepts
- Force Index
- Herrick Payoff Index
- High/low-volume Nodes
- Iceberg Detection
- Initial Balance
- Intraday Intensity
- Klinger Volume Oscillator
- Manipulation Footprints
- Midpoint/half-back of Session
- Money Flow Index
- Naked POC
- Negative Volume Index
- No-demand / No-supply Bars
- OBV
- OBV Divergence
- One-timeframing
- Open Types
- Order-book Imbalance
- Periodic VWAPs
- Pocket Pivot
- Point of Control
- Poor High/poor Low
- Positive Volume Index
- Price Volume Trend
- Price Zone Oscillator
- Profile Shape Taxonomy
- PVO
- Relative Volume
- Responsive vs Initiative Activity
- Resting Liquidity / Liquidity Heatmap
- Rolling VWAP
- Rotation Factor
- Session VWAP
- Single Prints
- Smart Money Index
- Spike Rules
- Stopping Volume
- Strength/weakness Background
- Sweep Detection
- Tape Reading
- TPO Profile
- Trade Volume Index
- Twiggs Money Flow
- Unfinished Auction
- Unfinished Business
- Up/down Volume Ratio
- Value Area
- Value Migration
- Volume at Breakout
- Volume Delta
- Volume Divergence
- Volume Dry-up
- Volume Flow Indicator
- Volume Oscillator
- Volume Price Trend
- Volume Profile
- Volume Spike
- Volume Spread Analysis
- Volume Zone Oscillator
- VPCI
- VSA Test Bar
- VWAP Bands
- VWAP Mean-reversion vs Trend Regimes
- VWAP Pinch
- Weis Wave Volume
- Williams A/D
.png&w=3840&q=75)
