Browse the library

Indicators · Volume

On-Balance Volume (OBV): reading volume flow and divergence

How Joe Granville’s On-Balance Volume adds and subtracts each day’s volume, a worked Salesforce example, its 2026 divergences, and Finabase’s OBV.

On this page
  1. How OBV works
  2. The formula
  3. OBV on a real chart: Salesforce 2025–2026
  4. How traders use OBV
  5. Pitfalls and limitations
  6. Comparison table
  7. How Finabase calculates and scores OBV
  8. Frequently asked questions
  9. Summary

On-Balance Volume (OBV) is a running total of volume that adds a day's shares when the stock closes up and subtracts them when it closes down. Joe Granville popularized it in 1963 with a memorable idea: volume precedes price. If more shares trade on up days than on down days, buyers are accumulating, and OBV rises, sometimes before the price follows.

OBV is the simplest volume indicator and the foundation of several others. Its absolute value means almost nothing; its direction and its agreement or disagreement with price mean a lot. This guide builds OBV by hand from real Salesforce data, follows it through Salesforce's turbulent 2026, including a clear case where OBV and price disagreed, and explains how Finabase computes it.

How OBV works

Granville's rule is binary. The whole day's volume is assigned to the buyers if the stock closed higher, and to the sellers if it closed lower. It does not matter whether the stock rose a penny or 10%; it does not matter where in the day's range it closed. That crudeness is deliberate: it makes OBV simple, objective and hard to argue with, and over many days the random misclassifications tend to wash out.

The formula

A worked example on Salesforce

Here are four consecutive sessions for Salesforce (CRM) around its June 2026 low, with Finabase's daily volume and OBV.

Date Close vs previous close Volume OBV change OBV (Finabase)
Jun 17, 2026 $155.02 Lower 19,986,200 −19,986,200 −168,419,700
Jun 18, 2026 $151.78 Lower 57,940,800 −57,940,800 −226,360,500
Jun 22, 2026 $150.12 Lower 20,502,800 −20,502,800 −246,863,300
Jun 23, 2026 $153.42 Higher 20,720,700 +20,720,700 −226,142,600

Each row is the previous OBV plus or minus that day's volume, exactly. June 18 was the heaviest-volume session of Salesforce's year: 57.9 million shares, on a 2.1% decline. In OBV's accounting, every one of those shares counts as selling. A day like that can outweigh a week of quiet up days, which is why OBV tends to move in steps on news.

The last session of the chart shows the same rule on a normal day: on October 29, 2026 Salesforce closed lower than the day before on 7,660,545 shares, and Finabase's OBV fell by exactly that number.

OBV on a real chart: Salesforce 2025–2026

Salesforce (CRM) daily with On-Balance Volume · 2025-10-30 to 2026-10-29 $150 $200 $250 Low close $150.12 · Jun 22 $156.93 · Jul 23 Price -200M 0M +99.0M · Jan 7 −279.2M · Jul 23 OBV (shares) Nov Dec Jan 2026 Feb Mar Apr May Jun Jul Aug Sep Oct
Salesforce (CRM), one year of daily bars with On-Balance Volume as computed by Finabase. OBV is shown in millions of shares; its level reflects the start of Finabase’s two-year daily history.

Salesforce had a hard year: from a high close of $266.23 on December 29, 2025 to a low close of $150.12 on June 22, 2026, a 44% decline, then a rebound to $230.90 by October 29.

Point Date CRM close OBV
OBV peak Jan 7, 2026 $266.12 +99.0M
Price low Jun 22, 2026 $150.12 −246.9M
OBV low Jul 23, 2026 $156.93 −279.2M
Quarter end Sep 30, 2026 $229.57 −194.4M
Last bar Oct 29, 2026 $230.90 −205.5M

Three readings stand out:

Confirmation on the way down. From January to June, OBV fell with the price. The decline was carried by heavy volume on down days, which is what a genuine distribution phase looks like.

A late low in OBV. OBV made its low a month after the price did. On July 23 the stock was above its June low, $156.93 against $150.12, yet OBV was 32 million shares lower. Selling volume kept outweighing buying volume even as the price held. That is a bearish non-confirmation, and it was followed not by new lows but by a strong rally: the signal was wrong this time.

A weak recovery in volume terms. From the July low to the end of October, Salesforce gained about 47%, from $156.93 to $230.90. OBV recovered only about 74 million of the roughly 378 million shares it had lost from its January peak. The rally came on lighter volume than the decline. Granville would read that as a rally without strong accumulation behind it, a reason for caution, though not a forecast.

How traders use OBV

Trend confirmation. The basic use: a price uptrend with rising OBV is supported by volume; one with flat or falling OBV is not.

Divergence. A price high not matched by an OBV high, or a price low not matched by an OBV low, suggests the move lacks participation. As the Salesforce July example shows, divergences are warnings, not certainties.

OBV breakouts. Granville also watched OBV's own trendlines and highs. An OBV breakout above a prior OBV high, before price breaks out, is his classic "volume leads price" signal.

Comparing stocks. Because the level is arbitrary, compare OBV slopes, not values, across stocks.

Pitfalls and limitations

All-or-nothing days. A stock that closes up a cent on huge volume adds all of it to OBV. The Chaikin Oscillator (ADOSC): accumulation/distribution momentum and the Money Flow Index (MFI): the volume-weighted RSI weight volume by where the close sits in the day's range or by typical price, which is more nuanced.

Volume spikes dominate. Earnings days, index rebalances and option expirations bring unusual volume that can swamp weeks of normal trading.

Level is arbitrary. Two platforms that start counting on different dates show different OBV numbers with the same shape. Finabase computes OBV over its full two-year daily history and shows the slice for your range, so the level on a one-year chart already includes the year before.

Comparison table

Indicator How volume is assigned Output Best at
OBV All of it, by up or down close Running total Simple confirmation
Chaikin A/D line By where the close sits in the range Running total Intraday buying pressure
Chaikin Oscillator Fast minus slow EMA of the A/D line Oscillator Turns in money flow
Money Flow Index Typical price × volume, by up or down day 0 to 100 Volume-weighted RSI
VWAP Price weighted by volume A price level Fair-value benchmark

See also VWAP (volume-weighted average price): session and anchored.

How Finabase calculates and scores OBV

Finabase computes OBV with TA-Lib's OBV function from closing prices and volume. The study, titled OBV and listed as "On Balance Volume," has no parameters and is drawn in its own panel. It is calculated over Finabase's full daily history for the symbol and then trimmed to the range you view.

OBV appears in the technical gauge on the symbol page with its latest value and carries no Buy or Sell rule, so it always counts as neutral. That suits an indicator whose value is meaningless on its own; read its direction against price on the chart.

Frequently asked questions

What does a rising OBV mean?

More volume has traded on up days than on down days over the period. If price is also rising, volume confirms the trend.

Why is my OBV negative?

Because it is a running total that started at an arbitrary point, and more volume has traded on down days than on up days since then. The sign has no meaning; only the direction does.

Does OBV predict price?

Granville believed volume leads price, and OBV breakouts sometimes come before price breakouts. Divergences are unreliable on their own, as Salesforce's July 2026 example shows.

Summary

On-Balance Volume keeps a running count of volume on up days minus volume on down days. Its level is arbitrary; its trend and its agreement with price are what count. Salesforce's 2026 chart showed both sides: OBV confirmed a 44% decline, then flagged a bearish non-confirmation that did not play out, and later showed a rally on thinner volume than the selling that preceded it. Use OBV to judge participation, not to time trades on its own.

Sources and further reading

  1. Joseph E. Granville, Granville’s New Key to Stock Market Profits (Prentice-Hall, 1963) — On-Balance Volume
  2. TA-Lib — OBV function reference
  3. Finabase chart data — CRM daily bars, 2025-10-30 to 2026-10-29, OBV computed by Finabase