WhitmanTrading

Volume Profile vs Accumulation Distribution

Volume profile shows how much traded at each price level, which is a question about location. The accumulation distribution line weights volume by where each close sat inside its bar and accumulates that, which is a question about the character of the bars.

Both are built from volume and they ask unrelated questions. One is about which prices attracted activity; the other is about how bars have been finishing.

What each one is

Volume profile draws a histogram of how much traded at each price over a chosen window, producing levels you can point at. Volume profile covers it.

The accumulation distribution line accumulates weighted volume. Each bar contributes volume scaled by where its close sat inside its range. Accumulation distribution covers it.

Location against character. Neither can answer the other’s question, which is why they can sensibly be run together.

Where they differ

A price series with a volume distribution beside it.
Which prices did the business. Illustrative chart - not real market data.

What the output is. A distribution across prices against a single accumulating number. Only one of those puts a level on the chart.

The second half of a price series with a cumulative weighted tally beneath.
How bars have been closing. Illustrative chart - not real market data.

Whether closing position matters. The profile does not care where in the bar the close was. The tally cares about nothing else.

A slice of price data where a distribution and a tally separate.
Location and character are independent. Illustrative chart - not real market data.

Whether the level means anything. A profile peak is a price. The tally’s number depends on when the calculation started and means nothing on its own.

How each handles a gap. The profile records the prices that traded. The tally looks only inside each bar, so a session that gapped and closed mid-range contributes almost nothing.

Where they agree

A window of price data feeding both tools.
Both depend on the same volume feed. Illustrative chart - not real market data.

Both depend entirely on the volume figure. On a fragmented market the reported number covers part of the trading, so both describe a fraction of it.

Both describe the past. Neither contains a statement about what happens next, and both are complete summaries of what already occurred.

Both are read for divergence against price, and both need a written definition of what counts before that pattern means anything.

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.

Which one to use

A range-bound stretch of price with a flat distribution.
A balanced range gives the profile a broad shape. Illustrative chart - not real market data.

Use the profile when you want levels. Its peak and its value band are prices, which means they can be planned around in a way a tally cannot.

A slow-moving stretch of price with closes near the highs.
Closes near the highs are what the tally reports. Illustrative chart - not real market data.

Use the tally when the character of the bars is the question. Whether closes have been finishing near their highs over a stretch is a real observation the profile does not make.

Use both, since they do not overlap. The profile finds the area and the tally says whether bars there have been closing strongly.

And do not treat agreement between them as confirmation. They read the same feed and answer different questions, so agreement is not evidence about the market.

Why they do not overlap

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

Because a busy level can be built from any kind of bar. Heavy trading at a price says nothing about whether those bars closed near their highs or their lows.

A section of a price series drawn without volume context.
And a partial feed distorts both identically. Illustrative chart - not real market data.

And because the tally has no prices in it. It cannot say where anything happened, only that the running total moved.

What the tally’s blindness to gaps costs

A gapped bar contributes almost nothing. The weighting is about the close’s position inside the bar’s own range, so a session that opened far away and closed mid-range reads as neutral.

That matters 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 the tally does not treat as directional.

On-balance volume does see gaps. It compares to the previous close, so it registers exactly the event this family misses.

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

What to fix before using either

The profile’s window. A daily profile, a weekly one and a rolling period produce different peaks from the same data.

The volume feed. Both weight by it, so a partial figure produces a confident reading of a fraction of the market.

What a divergence means. How many bars, how large a separation — without numbers it will be found after the fact.

And that the tally’s level is meaningless. Only its slope is readable, whatever number the software shows.

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, volume profile appears in 227 titles at a median of 12,984 across 109 channels, and accumulation distribution in 13 at a median of 14,144 across 13. The counts come from site/corpus_count.py.

A candlestick series with several gaps, the largest of them marked.
A gap registers on one and not the other. Illustrative chart - not real market data.

227 videos on one at 12,984 and 13 on the other at 14,144. Seventeen times the coverage and a similar audience per video — the tally is barely taught and holds its interest per upload, which is the profile of an under-served subject.

A stretch of price bars cut short at a decision point.
Heavy volume at this level. Closing strong or weak? Illustrative chart - not real market data.

The answer to the question on that chart is that the profile cannot tell you. It records how much traded and not how the bars finished — which is precisely the gap the tally fills.

When it fails

The failure is reading a profile peak as accumulation and acting on it. Heavy volume at a level looks like buying, so a long is taken there. The profile records how much traded and nothing about direction or closing behaviour — the same peak forms whether buyers were absorbing or sellers distributing. The interpretation was supplied by the reader rather than by the tool.

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

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

A fourth is expecting the tally to see a gap. It looks inside the bar.

A fifth is treating agreement as confirmation. They answer different questions.

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

Volume profile covers the distribution across prices. Accumulation distribution covers the closing-position tally. And volume analysis covers what the shared input can tell you.

What I actually do

One of these tells you which prices attracted the trading. The other tells you whether bars have been closing near their highs. Both are volume tools and they overlap almost not at all, which is why running both is reasonable.

— Michael Whitman

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