TopMover Docs
Methodology

CVD (Cumulative Volume Delta)

Taker-buy minus taker-sell, accumulated. The direction half of the "OI Accel" pair.

CVD is the running sum of taker-buy volume minus taker-sell volume. Positive CVD means market-buyers are net hitting offers; negative CVD means market-sellers are net hitting bids.

The formula

CVD(t) = Σ(takerBuyVolume_i − takerSellVolume_i) for all trades i up to time t

We compute CVD per-symbol per-minute and store the running cumulative sum. The Rankings page surfaces CVD Accel — the same percent-change construction as OI Accel — relative to the asset's own baseline.

Why we show CVD Accel rather than absolute CVD

Absolute CVD is unbounded and incomparable across symbols (BTC's CVD is in millions; an alt's CVD is in thousands). CVD Accel is the rate-of-change normalized to the asset's own behaviour, so a +30% CVD Accel on BTC and a +30% CVD Accel on a small alt are directly comparable: both mean "taker activity is heavier than usual for this asset."

What's useful about it

CVD is the direction half of the OI Accel pair:

  • OI rising + CVD positive → fresh net longs being opened with buyers lifting offers. Bullish positioning and bullish flow.
  • OI rising + CVD negative → fresh OI from sellers hitting bids. Either fresh shorts opening, or longs closing into a real bid. Bearish positioning interpretation usually fits.
  • OI flat + CVD positive → existing positions rotating; not fresh exposure. Less actionable.

Limits

  • CVD requires per-trade isBuyerMaker flags. Some exchange feeds don't publish them; for those we omit the column.
  • Heavy spoofing / wash trading can pollute CVD, especially on smaller venues. We display CVD only for the major USDⓈ-M perp venues for this reason.

See also

On this page