WhitmanTrading

OBV vs VWAP

On-balance volume is a running tally that adds or subtracts each bar's volume by the sign of its close, so it has no price scale. VWAP is a volume-weighted average price, which lands in the same units as the chart and can be used as a level.

Two indicators built on volume that do opposite things with it. One produces a price; the other produces a total. Only one of them can tell you where to act.

What each one is

On-balance volume is a running tally. It adds a bar’s whole volume when the close is higher and subtracts it when lower, accumulating indefinitely. On balance volume covers it.

VWAP is the volume-weighted average price over a period, drawn on the chart in price units. VWAP covers it.

One weights volume by direction; the other weights price by volume. Those are different operations producing different kinds of number.

Where they differ

A price series with a cumulative tally beneath it.
A tally, in units nobody trades in. Illustrative chart - not real market data.

What the units are. Accumulated volume against price. You can place an order near one of those and not the other.

The second half of a price series with a volume-weighted average line.
A price you can act at. Illustrative chart - not real market data.

How each is read. The tally by its slope, because its level depends on when the calculation started. VWAP by where price sits relative to it.

A slice of price data where a tally and an average separate.
They cannot be compared directly. Illustrative chart - not real market data.

What each ignores. The tally ignores the size of a move entirely — only the sign of the close counts. VWAP ignores direction and cares only about where volume transacted.

How each handles its window. VWAP resets on a schedule everybody shares. The tally accumulates from an arbitrary start with no reset at all.

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 any statement about what happens next.

Both are frequently read for divergence, 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 around an average line.
A shared average is a level people act at. Illustrative chart - not real market data.

Use VWAP when you want a level. It is in price units and widely watched, which together make it something you can plan an order around.

A slow-moving stretch of price with a rising cumulative tally.
A tally answers a direction question. Illustrative chart - not real market data.

Use the tally when the question is which way volume has leaned. Whether up closes have carried more volume than down closes over a stretch is a real question the average cannot answer.

Use VWAP when you want a shared reference. A great many participants compute the session average identically, which no private tally can match.

And do not read their crossings. They are in different units, so where the two lines sit relative to each other is a property of the chart’s scaling.

Why the units decide the use

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 an order needs a price. A tool whose output is accumulated volume cannot say where to act, only whether something has been building.

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 a tally’s level is arbitrary. Two people starting the count on different dates get different numbers for the same market, so no threshold on it means anything.

What the tally’s bluntness costs

It ignores the size of the move. A bar closing a hundredth higher counts exactly the same as one closing at its high, which is a very coarse measurement.

It does see gaps. Because it compares to the previous close, an overnight jump registers fully — which is more than the closing-position family manages.

It has no parameter. There is nothing to tune, which removes a fitting risk and removes any way to adapt it.

And its bluntness is also its virtue. You can always say exactly why the line moved, which is more than most indicators allow.

What to check before using either

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

The window. VWAP’s reset is standard; the tally’s start is arbitrary and affects its level but not its slope.

What a divergence means to you. Define it in numbers — how many bars, how large a separation — or it will be found afterwards on any chart.

And whether you need a level or a direction. That question answers this comparison on its own.

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, VWAP appears in 323 titles at a median of 6,568 across 204 channels, and on-balance volume in 26 at a median of 15,517 across 24. The counts come from site/corpus_count.py.

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

323 videos on one at 6,568 and 26 on the other at 15,517. Twelve times the coverage and less than half the audience per video for the average — the widely taught tool draws considerably less interest per upload than the obscure one.

A stretch of price bars cut short at a decision point.
Tally falling, price above VWAP. Which matters? Illustrative chart - not real market data.

The answer to the question on that chart is that only one of them is actionable. VWAP says where the average trade happened; the tally says which way closes have leaned — and only the first is a place.

When it fails

The failure is reading crossings between the two lines, which mean nothing. They are plotted on different scales in different units, so where one sits relative to the other is decided by the charting software. A crossing is an artefact of display, and any pattern built on it is a pattern in the software rather than in the market.

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 treating VWAP as a forecast. It summarises the session.

A fifth is expecting the tally to weight by move size. It reads the sign only.

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

On balance volume covers the cumulative tally. VWAP covers the volume-weighted average price. And volume analysis covers what the shared input can tell you.

What I actually do

Both use volume and they use it for entirely different jobs. One weights price by volume to find an average you can act at. The other tags volume by the direction of the close and adds it up, which produces a number in units nobody trades in.

— Michael Whitman

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