MarketInOut Stock Screener Log In | Sign Up

On Balance Volume (OBV)

By MarketInOut · Updated October 29, 2026

On Balance Volume (OBV) is a running total of volume that adds a day’s volume when the price closes up and subtracts it when the price closes down. Joseph Granville popularized it in 1963 with a simple idea: volume moves before price. When large buyers accumulate a stock, volume on up days outweighs volume on down days, and OBV rises even while the price is still flat.

How OBV is calculated

If Close > Previous close:   OBV = Previous OBV + Volume
If Close < Previous close:   OBV = Previous OBV - Volume
If Close = Previous close:   OBV = Previous OBV

The absolute value of OBV depends on the starting date and means nothing on its own. What matters is its direction and how it compares with price.

How to read OBV

  • Confirmation. In a healthy uptrend, OBV makes new highs along with price. In a downtrend, it makes new lows with price.
  • Divergence. Price makes a new high but OBV doesn’t: the advance is happening on lighter volume and may be running out of buyers. Price makes a new low while OBV holds up: selling pressure is drying up.
  • OBV breakouts. Granville’s key signal: OBV breaks out to a new high before price does. It suggests accumulation and often comes before a price breakout.
  • Trend of OBV. Many traders draw trend lines on OBV itself or smooth it with a moving average; a turn in the OBV trend can lead a turn in price.

Limitations

  • All or nothing. A stock that closes up one cent adds the whole day’s volume. Indicators such as Chaikin Money Flow and Accumulation/Distribution weight volume by where the close falls in the day’s range.
  • Volume spikes. A single huge-volume day, from an index rebalance or earnings, can shift OBV for months.
  • Thin stocks. OBV is only meaningful where volume is meaningful. Avoid it for very illiquid stocks.

SPY (SandP 500 ETF), daily, with On Balance Volume.

Live chart: SPY (S&P 500 ETF), daily, with On Balance Volume. The chart updates every trading day.

Screen for it on MarketInOut

OBV is available as obv in our formula language. Stocks whose OBV just reached a 50-day high:

exch(nyse,nasdaq) and type(stock) and price > 1 and advol(21) > 1
and obv > max(obv, 50)@1

A bullish divergence: OBV at a 50-day high while price is still below its 50-day average:

exch(nyse,nasdaq) and type(stock) and price > 1 and advol(21) > 1
and obv > max(obv, 50)@1 and price < sma(50)

Related: Chaikin Money Flow, Moving averages, Relative Strength Index.




Disclaimer - Privacy Policy - Terms of Service - Cookies - FAQ - Affiliates - Blog