WhitmanTrading

Accumulation Distribution vs Chaikin Money Flow

The accumulation distribution line accumulates volume weighted by where each close sat inside its bar, forever. Chaikin money flow sums that same weighting over a fixed lookback and divides by volume, producing a bounded reading instead of a running total.

Two indicators built from the same weighting. One accumulates it indefinitely; the other sums it over a window and normalises, which turns a total into a reading with a scale.

What each one is

The accumulation distribution line accumulates weighted volume. Each bar contributes volume scaled by where its close sat inside its range, added to a running total. Accumulation distribution covers it.

Chaikin money flow sums the same weighting over a fixed lookback and divides by the volume in that window, producing a bounded reading. Chaikin money flow covers it.

The weighting is identical. Everything that differs comes from accumulating forever against summing over a window.

Where they differ

A price series with a cumulative weighted total beneath it.
A running total: only the slope means anything. Illustrative chart - not real market data.

Whether the level means anything. A running total starts from an arbitrary point, so only its direction carries information. The bounded version has a scale you can set a threshold on.

The second half of a price series with a bounded reading beneath.
A bounded reading over a fixed window. Illustrative chart - not real market data.

How much history is carried. Everything, against a fixed lookback. The total remembers a year ago; the oscillator has forgotten it entirely.

A slice of price data where a long total and a short window separate.
Different windows disagree constantly. Illustrative chart - not real market data.

How responsive each is. The bounded version reflects recent conditions and changes quickly; the total moves slowly because each new bar is a small addition to a large number.

What each is read for. Slope and divergence on the total; threshold crossings and divergence on the bounded one.

Where they agree

A window of price data feeding one shared weighting.
Identical weighting, two horizons. Illustrative chart - not real market data.

They weight bars identically. Where the close sat inside the bar decides the contribution in both, which is the whole shared mechanism.

Both are blind to gaps. Because the weighting looks only inside the bar, a session that opened far away and closed mid-range contributes almost nothing to either.

Both depend entirely on the volume feed. On a fragmented market the reported figure covers part of the trading, so both are partial in the same way.

And neither supplies a stop. On this site’s shared series the ninetieth percentile bar range is 1.101, and a stop belongs at structure rather than at either line.

Which one to use

A range-bound stretch of price with both readings flat.
A range leaves both saying very little. Illustrative chart - not real market data.

Use the bounded version when you want a threshold. A rule that says above or below a level needs a scale, and only one of these has one.

A slow-moving stretch of price with a long cumulative total rising.
A long accumulation is what the total shows. Illustrative chart - not real market data.

Use the running total when the long sweep is the question. Whether weighted volume has been accumulating over months is something a twenty-bar window cannot report.

Use the bounded version when you want responsiveness. It reflects recent conditions and the total does not, which matters when conditions change.

And run one, not both. They share their weighting entirely, so agreement between them is arithmetic rather than confirmation.

Why the window is the whole difference

A candlestick chart annotated with the round-trip cost of a switch.
Every signal acted on costs a round trip. Illustrative chart - not real market data.

Because a total and a window answer different questions. One asks what has happened since the beginning; the other asks what has happened lately, and both answers can be true at once.

A section of a price series drawn without volume context.
And a thin market makes both meaningless together. Illustrative chart - not real market data.

And because a disagreement between them is usually about time. A rising total and a negative oscillator describe a long uptrend with a weak recent stretch, which is one situation rather than two signals.

What the shared blindness to gaps costs

A gapped bar contributes almost nothing. The weighting looks at the close’s position inside the bar’s own range, so a session that opened far away and closed in the middle is treated as neutral.

That matters most on instruments that gap. On this site’s shared series the largest single bar range was 2.338 against a median of 0.493 — movement neither indicator counts as directional.

On-balance volume does see gaps. It compares to the previous close, so it registers exactly the event these two miss.

Which is a reason to know your instrument. If it gaps regularly, this family is systematically ignoring a real part of the movement.

What to write down before using either

The lookback, on the bounded version. It decides responsiveness and it is the only parameter that tool has.

What counts as a divergence. How many bars, how large a separation — without numbers, any wiggle qualifies afterwards.

Whether you are reading slope or level. Only slope is available on the total; both are on the oscillator, and they say different things.

And whether the volume feed is real. Both weight by it, so a partial figure produces a confident reading of a fraction of the market.

The original data

Of the 24,971 unique videos in research/search-study-corpus.jsonl, no title compares these two directly — this pair is constructed from two subjects the corpus covers separately. Separately, accumulation distribution appears in 13 titles at a median of 14,144 across 13 channels, and Chaikin tools in 48 at a median of 2,579 across 39. The counts come from site/corpus_count.py.

A candlestick series with several gaps, the largest of them marked.
A gap is invisible to both of these. Illustrative chart - not real market data.

13 videos on one at 14,144 and 48 on the other at 2,579. Nearly four times the coverage and a fifth of the audience per video for the Chaikin family — both are small subjects and the better covered one is much less watched.

A stretch of price bars cut short at a decision point.
Total rising, bounded reading negative. Conflict? Illustrative chart - not real market data.

The answer to the question on that chart is that they cover different periods. A long accumulation with a weak recent window is one situation — not two indicators disagreeing about it.

When it fails

The failure is treating a disagreement between them as a signal, and it is available constantly. A cumulative total carrying a year of history and an oscillator covering twenty bars will regularly point different ways, because they summarise different periods. Read as confirmation or contradiction, that produces signals whenever the recent window differs from the long sweep — which is most of the time.

The second failure is quoting the total’s level. It depends on the start date.

A third is running both together. They share a weighting entirely.

A fourth is using either on a gappy instrument. Both are blind to gaps.

A fifth is using either on a partial volume feed. The input is a fraction.

And a sixth is finding divergence by looking. It is always available somewhere.

Accumulation distribution covers the running total. Chaikin money flow covers the bounded version. And volume analysis covers what the input can tell you at all.

What I actually do

These are the same idea at two time horizons. The weighting is identical — where the close sat inside the bar — and the only question is whether you keep adding it up forever or only over the last twenty bars.

— Michael Whitman

This page is educational, not financial advice. Test every idea on your own charts before risking money.