On Balance Volume
The On Balance Volume (OBV) indicator was developed by Joseph Granville and is explained in his book Granville's New Strategy of Daily Stock Market Timing for Maximum Profit.
Manage Your Market Risk
Colin Twiggs' weekly review of global markets will help you identify market risk & improve your timing.
Join our free Trading Diary mailing list with over 140,000 subscribers.
On Balance Volume attempts to measure the level of accumulation or distribution by comparing volume to price movements. Volume is added to the indicator if closing price moves up and subtracted if closing price moves down. No adjustment is made if closing price is unchanged.
On Balance Volume should be used in conjunction with other indicators.
During a ranging market watch for a rising or falling On Balance Volume:
- Rising OBV warns of an upward breakout.
- Falling OBV warns of a downward breakout.
A rising On Balance Volume confirms an up-trend and a falling OBV confirms a down-trend.
- Bullish divergence between OBV and price warns of market bottoms.
- Bearish divergence between OBV and price warns of market tops.
Active or Reactive?
Many investors follow active strategies but end up being reactive, rotating in and out of stocks at the wrong time.
Colin Twiggs' free weekly review of the global economy will help you identify market risk and improve your timing.
Intel Corporation plotted with On Balance Volume.
Mouse over chart captions to display trading signals.
- Price trades in a range during March before a bearish divergence occurs. The signal is fairly weak - price makes an equal high while On Balance Volume makes a lower high.
- The signal at  appears to have been incorrect - price rises to a higher peak - but a far stronger triple divergence (price makes a higher high while OBV makes a lower high) signals weakness.
- A further bearish divergence occurs - price makes an equal high and OBV makes a lower high. Shortly thereafter price falls sharply.
Steps in the On Balance Volume (OBV) calculation are as follows:
- If Close for the period is higher than the previous Close:
OBV = OBV [previous period] + Volume [current period]
- If Close for the period is lower than the previous Close:
OBV = OBV [previous period] - Volume [current period]
- If Close for the period is equal to the previous Close:
OBV = OBV [previous period]