OBV keeps a running total of volume on up sessions minus volume on down sessions. Its direction can confirm or question a price trend, but its level means nothing on its own.
What on-balance volume measures
On-balance volume, or OBV, is a running total of trading volume: a session’s volume is added when the stock closes higher than the session before and subtracted when it closes lower. Joseph Granville popularized it in his 1963 book Granville’s New Key to Stock Market Profits. The idea is to show how much trading stood behind up closes compared with down closes.
| Property | OBV |
|---|---|
| Inputs | Daily closes and volume |
| Rule | Add volume on a higher close, subtract it on a lower close, skip an unchanged close |
| Lookback | None: the total runs from a chosen start |
| Units | Shares |
| Scale | Unbounded; the starting value is arbitrary |
| What carries information | The direction and swings of the line, compared with price |
Granville argued that volume tends to move ahead of price. OBV is a way to look for that: a line that climbs while price is flat says that up sessions have carried more volume than down sessions. Whether price follows is a separate question.
On-balance volume calculation
OBV compares each close with the prior close and nothing else. The size of the price change does not matter, only its sign.
if close > prior close: OBV = prior OBV + volume
if close < prior close: OBV = prior OBV − volume
if close = prior close: OBV = prior OBV| Session | Close ($) | Close vs prior | Volume (shares) | Added to OBV | OBV (shares) |
|---|---|---|---|---|---|
| 0 | 25.00 | 1,200,000 | 0 | ||
| 1 | 25.30 | Higher | 1,450,000 | +1,450,000 | 1,450,000 |
| 2 | 25.10 | Lower | 900,000 | -900,000 | 550,000 |
| 3 | 25.10 | Unchanged | 1,000,000 | 0 | 550,000 |
| 4 | 25.45 | Higher | 1,600,000 | +1,600,000 | 2,150,000 |
| 5 | 25.20 | Lower | 850,000 | -850,000 | 1,300,000 |
| 6 | 25.22 | Higher | 2,400,000 | +2,400,000 | 3,700,000 |
| 7 | 24.95 | Lower | 1,100,000 | -1,100,000 | 2,600,000 |
| 8 | 25.35 | Higher | 1,500,000 | +1,500,000 | 4,100,000 |
| 9 | 25.15 | Lower | 950,000 | -950,000 | 3,150,000 |
| 10 | 25.60 | Higher | 1,750,000 | +1,750,000 | 4,900,000 |
Price ends 2.40% above its starting close, while OBV reaches 4,900,000 shares: up sessions carried 8,700,000 shares and down sessions 3,800,000. Session 3 closed unchanged, so its 1,000,000 shares were ignored. Session 6 closed only $0.02 higher, yet all of its 2,400,000 shares were added, the largest single step in the table.
The starting value is arbitrary. Starting at 0, at the first session’s volume or at 10,000,000 shifts every value by the same amount and changes nothing about the line’s direction or swings. That is why two platforms can show different OBV levels for the same stock; only changes and slopes compare.
How to read on-balance volume on a stock chart
OBV is drawn as a line in a pane below price, usually next to the volume bars. Read its direction and its swing highs and lows, and compare them with price over the same sessions.
- Ignore the number on the axis; it depends on where the total started.
- Compare slopes. Is OBV rising, falling or flat while price does the same?
- Compare swings. Does a new price high come with a new OBV high, and a new price low with a new OBV low?
- Find the sessions behind a jump. One session with very heavy volume can move OBV more than weeks of ordinary trading, so check the volume bar behind any step.
TradeClever’s Stock Charts show daily candles with a volume pane, the two inputs of OBV. If you keep an OBV column in a spreadsheet, the chart lets you check the up and down sessions and the volume behind each step. For volume itself, see putting stock volume in context.
On-balance volume trend confirmation
Trend confirmation means OBV moves with price. In an advance that OBV confirms, up sessions carry more volume than down sessions, so OBV makes higher highs and higher lows along with price.
| Price | OBV | Common reading |
|---|---|---|
| Rising | Rising | Volume confirms the advance |
| Rising | Flat or falling | The advance has less volume behind it |
| Falling | Falling | Volume confirms the decline |
| Falling | Flat or rising | The decline has less volume behind it |
| Flat | Rising | Up sessions carry more volume, often called accumulation |
| Flat | Falling | Down sessions carry more volume, often called distribution |
Confirmation is descriptive. A confirmed trend can still reverse, and a trend without confirmation can continue. Read OBV as one account of participation next to the price chart, not as a separate forecast.
On-balance volume divergence explained
An OBV divergence compares price swings with OBV swings at the same sessions. A bearish divergence is a higher price high with a lower OBV high; a bullish divergence is a lower price low with a higher OBV low.
- Mark two swing highs, or two swing lows, on the price chart first.
- Read OBV at the same sessions and compare the two values.
- Check the volume bars between the swings: is the difference spread over many sessions, or caused by one heavy session?
- Note how far apart the swings are; a divergence over a few sessions says less than one that builds over weeks.
Because OBV has no fixed scale, compare it only with itself on the same chart. A bearish divergence says that volume on up sessions has not kept pace with the new high; a bullish divergence says that volume on down sessions shrank into the second low. Both describe participation, not timing.
A divergence can last a long time. It shows that volume has not followed price; it does not say when, or whether, price turns.
An on-balance volume breakout example
One use of OBV around breakouts is to see whether the line breaks out first. If OBV rises to a new high while price is still inside its range, up sessions have been drawing more volume than down sessions during the consolidation.
In the illustration on this page, price holds in a range for the first 42 sessions while OBV climbs. OBV sets a new high 3 sessions before price closes above the range high, with the close still $0.38 below that level. The breakout session itself carries 1.6 times the average volume of the range sessions.
That sequence is what the method looks for, but it is not reliable on its own. OBV can break out while price still fails at the top of its range, and price can break out without an OBV lead. Treat an OBV breakout as one observation next to the price levels themselves; breakouts and pullbacks and support, resistance and trendlines cover those levels.
On-balance volume limitations during price gaps
OBV assigns a session’s entire volume according to the close alone, which distorts the line around gaps.
- A gap up that fades. A stock opens far above the prior close, sells off all session and still closes slightly higher. All of the session’s volume, often heavy on a gap day, is added, although most of the trading came while price fell.
- A gap down that recovers. The mirror case subtracts the full volume of a session in which price climbed back most of the way.
- Size does not matter. A 10% gap and a 0.1% move on the same volume change OBV by the same amount.
- Steps persist. A gap session with several times normal volume can move OBV more than weeks of ordinary sessions, and that step stays in the total.
When OBV jumps, look at the candle and the volume bar of that session before reading anything into the line. The guide to stock price gaps covers how gaps form.
On-balance volume versus Chaikin Money Flow
Chaikin Money Flow, created by Marc Chaikin, also combines price and volume, but it asks where each session closed within its own high–low range rather than whether it closed above the prior close.
money flow multiplier = ((close − low) − (high − close)) ÷ (high − low)
money flow volume = multiplier × volume
CMF = (sum of money flow volume over n sessions) ÷ (sum of volume over n sessions)n- The window, commonly 20 or 21 sessions.
| Aspect | OBV | Chaikin Money Flow |
|---|---|---|
| Price input | Close versus prior close | The close’s position within the session’s range |
| Volume weighting | All or nothing | Partial: from −1 to +1 times volume |
| Window | Cumulative from the start | Rolling, commonly 20 or 21 sessions |
| Scale | Unbounded; the level is arbitrary | Between −1 and +1 |
| Gap sessions | A gap counts through the close | A session that gaps up and closes at its low counts as selling |
Edge case: if a session’s high equals its low, the multiplier divides by zero and is undefined for that session; some software treats such a session as contributing nothing. See Chaikin Money Flow and the related accumulation/distribution line for the full calculations.
Limitations of on-balance volume
OBV is simple by design, and most of its limits follow from the all-or-nothing rule.
- The level is arbitrary; only direction and swings carry information.
- A tiny gain adds the whole session’s volume, and a tiny loss subtracts it.
- Gap and news sessions can dominate the line for a long time.
- Volume figures can differ between data sources, so OBV levels differ between platforms.
- There is no lookback. A heavy session from long ago still sits in the total, although it no longer affects the slope.
- Divergences can persist, and an OBV breakout can fail.
Continue with
- Chaikin Money FlowVolume weighted by the close’s position in the range.
- Accumulation/distribution lineA cumulative cousin of Chaikin Money Flow.
- Unusual volume stocksStock lists built on volume against its average.
- Compare technical indicatorsHow common indicators differ.
Sources
- Joseph E. Granville, Granville’s New Key to Stock Market Profits (Prentice-Hall, 1963)
Read our data and methodology notes for calculation context. This guide explains research tools and observations. It does not recommend a trade or investment.