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