22 — Volume Indicators

Accumulation/Distribution#

Debated1 min read
◆ The PatternVolume weighted by where the close lands in the day’s range: the buying or selling pressure under the price

The Accumulation/Distribution Line — Marc Chaikin's volume-weighted indicator.

CLV = ((Close − Low) − (High − Close)) / (High − Low)
A/D = Σ(CLV × Volume)

CLV (Close Location Value) ranges from −1 to +1. Close near the high → CLV near +1 (accumulation). Close near the low → CLV near −1 (distribution).

Unlike OBV which uses the full volume, A/D weights by WHERE price closes within the bar — giving a more nuanced view of buying vs. selling pressure.
Worked example

The close location value says where the close sits in the day’s range: +1 at the high, −1 at the low. Day 15: high 105, low 101, close 104, so CLV = ((104 − 101) − (105 − 104)) / 4 = 0.5, and 0.5 × 71,000 shares = +35,500. A/D ends at 23,833, against OBV’s 1,000: it credits the closes near the highs of days 14 and 15 more than the falls before them.

The example data: 15 days, used in every indicator here
DayHighLowCloseVolume
11019910050,000
210310010262,000
310310010148,000
410510110470,000
510810410785,000
610810510660,000
711010610990,000
811010710872,000
910810410580,000
1010510210366,000
1110510210455,000
1210410110275,000
13102989995,000
141029910164,000
1510510110471,000
Where it misleads
  • It ignores gaps: a stock that gaps down 5% and closes at the day’s high counts as accumulation.
  • Like OBV, its level depends on the start date; only the direction means anything.
  • On a day when the high equals the low, CLV is 0 / 0 and has to be set to zero by convention.
In code
clv = ((df['close'] - df['low']) - (df['high'] - df['close'])) / (df['high'] - df['low'])
df['ad'] = (clv * df['volume']).cumsum()
Python, in your browser — edit the code and run it again

Assumes import numpy as np, import pandas as pd, and a DataFrame df with columns high, low, close and volume — the 15 days above.

Sources
  • Technical Analysis from A to Z (2nd ed.), S. B. Achelis, McGraw-Hill, 2000 — Chaikin’s accumulation/distribution line
  • L. Blume, D. Easley & M. O’Hara, “Market Statistics and Technical Analysis: The Role of Volume”, Journal of Finance 49(1), 1994 — why volume can carry information

Last reviewed October 2026 · How this site checks its content · Report a mistake

Pattern bridge: A/D line weights volume by where price closes in its range — an attention-weighted running total. Its name comes from Wyckoff’s market phases, covered in Market Psychology.
Linked from 1
← Previous
On-Balance Volume
Open in the full reader, with the topic sidebar