On-Balance Volume is a cumulative running total that adds the entire bar's volume on up days and subtracts it on down days. It converts raw volume into a single trend line — revealing whether large participants are accumulating or distributing before price reflects their activity.

Volume / Confirmation
Category
Beginner
Difficulty
Unbounded cumulative total (no fixed scale)
Output Range
Cumulative from start of data — no period input
Default Period
None
Repaint Risk
Simple — close price + volume
Data Need
VOLUME · CONFIRMATION · LAGGING · BEGINNER_FRIENDLY · REAL_TIME
Tags

Section 1: Core Mechanics

OBV accumulates volume directionally. When price closes higher than the previous bar, all of that bar's volume is added. When price closes lower, all volume is subtracted. The result is a line that trends up when volume favors buyers and down when volume favors sellers.

What Is OBV?

Developed by Joseph Granville in 1963, OBV embeds the idea that volume precedes price. Institutional traders accumulate positions quietly over many sessions — the OBV line rises while price remains flat. When enough shares have been accumulated, price breaks out to catch up with OBV.

Formula

The initial OBV value is arbitrary (often set to zero or the first bar's volume). Only the trend of OBV matters — the absolute number is meaningless.

Inputs

  • Close price: Determines whether each bar is an "up day" or "down day"
  • Volume: The total traded volume for each bar

Parameters

Parameter Default Range Impact
Start value 0 or first bar volume Arbitrary Irrelevant — only direction and trend matter
Smoothing None Optional SMA(10-20) Applying an SMA to OBV removes noise for clearer trend reads

Output Range

OBV is an unbounded cumulative total. The number itself carries no meaning — what matters is whether OBV is rising, falling, or diverging from price.

Visual Behavior

Plot OBV as a line in a separate pane beneath the price chart. Observe the slope and direction relative to price. In a healthy uptrend: OBV rises alongside price, often leading. In distribution: OBV flattens or falls while price still rises.


Section 2: Interpretation & Signals

Signal Zones

OBV Condition Price Condition Interpretation
OBV rising Price rising Healthy uptrend — buying pressure confirmed
OBV falling Price falling Healthy downtrend — selling pressure confirmed
OBV rising Price flat or falling Bullish divergence — accumulation underway
OBV falling Price flat or rising Bearish divergence — distribution underway
OBV at new high Price at prior high Bullish — more volume supporting this level
OBV at lower high Price at new high Bearish divergence — less volume at higher price

Primary Signal — OBV Trend Confirmation

OBV trending in the same direction as price confirms the move. You want to see OBV reaching new highs when price reaches new highs. A strong trend has OBV accelerating faster than price.

OBV Bullish Divergence — Accumulation Before Breakout

Divergence — The Core OBV Signal

Bullish Divergence (Accumulation): OBV makes new highs while price makes a lower high or remains flat. Smart money is buying quietly — absorbing shares without pushing price up. When they finish accumulating, price catches up sharply.

Bearish Divergence (Distribution): OBV makes lower highs or falls while price continues rising or stays flat. Smart money is selling into retail buying pressure. When distribution completes, price drops to catch up with OBV.

💡 TIP
OBV divergence is most actionable when it persists for at least 3–5 bars. A single divergent bar can be noise. A sustained divergence lasting 2–4 weeks on daily charts represents genuine institutional activity — act on it.

False Signals

⚠️ WARNING
OBV's biggest weakness is sensitivity to large one-day moves. A single gap-up day on a earnings beat adds that entire day's volume to OBV — even if the stock then trades sideways. This creates an artificial OBV spike that takes weeks to normalize. Always check whether an OBV surge came from an earnings or news event before interpreting it as accumulation.

Best Market Conditions

OBV works best on liquid instruments with consistent daily volume. It is most reliable on large-cap equities and equity ETFs (SPY, QQQ, individual S&P 500 components). Less reliable on crypto (wash trading distorts cumulative totals) and thin stocks.


Section 3: Pass vs. Live — Real-Time Reliability

None — OBV for closed bars is permanent and never changes
Repaint Risk
Moderate — OBV reflects yesterday's activity; divergences take days to weeks to form
Lag
Wait for bar close before updating OBV trend assessment
Confirmation Timing
Detecting accumulation and distribution before price moves; trend confirmation
Best Use
Short-term timing — OBV divergences form slowly; this is not a scalping tool
Avoid

OBV on closed bars is immutable. The current bar's OBV shifts in real time as price and volume evolve during the session. Once the bar closes and confirms as an "up" or "down" day, that day's contribution to OBV is fixed.

Because OBV divergences require multiple bars to form, real-time fluctuations on live bars are less critical here than for short-term oscillators. The pattern you are reading builds over days, not minutes.


Section 4: Practical Use Cases

Setup: OBV on 1H chart with SMA(20) overlay on OBV Signal: OBV crosses above its own SMA(20) while price holds near support Entry: Candle close confirming OBV is above OBV SMA on 1H timeframe Exit: OBV crosses back below its SMA(20) Key Rule: On short timeframes, OBV noise is high — always confirm with raw volume spike before entry

Real example: Apple (AAPL) in October 2022 — during the broader market selloff, AAPL's daily OBV made higher lows even as price ground lower for 6 weeks. The OBV–price bullish divergence formed from September 20 through October 28. On October 28, price broke above the prior swing high at $150.17 while OBV confirmed the breakout — the stock ran to $179 by February 2023.


Section 5: Pseudo Code

INPUT: close[], volume[]

PROCESS:
  Step 1: Initialize
            obv[0] = volume[0]

  Step 2: For each bar i from 1 to len(close)-1:
            if close[i] > close[i-1]:
              obv[i] = obv[i-1] + volume[i]
            elif close[i] < close[i-1]:
              obv[i] = obv[i-1] - volume[i]
            else:
              obv[i] = obv[i-1]

  Step 3: Calculate OBV trend (optional smoothing)
            obv_sma[i] = SMA(obv, period=20)[i]

  Step 4: Detect divergence
            price_higher_high = close[i] > close[i-lookback]
            obv_lower_high = obv[i] < obv[i-lookback]
            if price_higher_high AND obv_lower_high:
              signal = "Bearish Divergence"

            price_lower_low = close[i] < close[i-lookback]
            obv_higher_low = obv[i] > obv[i-lookback]
            if price_lower_low AND obv_higher_low:
              signal = "Bullish Divergence"

OUTPUT: obv[], obv_sma[], signal[]
EDGE CASES:
  - First bar: OBV = volume[0] (arbitrary start, trend only matters)
  - Zero volume bar: OBV unchanged (treat as neutral)
  - Earnings gap: Flag as external event, do not interpret as structural accumulation

Section 6: Parameters & Optimization

Standard OBV Conventions

Approach Setup Use Case
Raw OBV trend OBV line direction over 10+ bars Long-term accumulation/distribution
OBV with SMA(20) Apply 20-period SMA to OBV itself Smoother signal, fewer false crossovers
OBV breakout OBV breaks above prior swing high Confirms price breakout has volume support
OBV divergence OBV vs. price comparison over 5-20 bars Earliest warning of trend change

Parameter Impact

Change Effect When to Apply
Smooth OBV with SMA(10) Reduces noise, slower to signal Swing and position traders
Raw OBV only More responsive, more whipsaws Short-term confirmation
Lookback for divergence 5–10 bars (swing), 10–26 bars (position) Match to your trading timeframe
Is the starting OBV value important?

No. The OBV starting value is completely arbitrary — different platforms use different start values for the same instrument, so OBV values are not comparable between platforms or data sources. Only the trend direction, slope, and divergence vs. price matter. Never compare absolute OBV values between instruments.

Should I smooth OBV or use it raw?

Both approaches work. Raw OBV is noisier but more responsive. OBV with an SMA(20) overlay provides cleaner trend reads — the OBV line crossing above its own SMA becomes a defined entry signal. For beginners, adding the SMA overlay reduces ambiguity considerably.


Section 7: Synergies & Conflicts

Works Well WithAvoid Combining With
Volume (Raw)Raw volume confirms OBV signals — an OBV breakout accompanied by a volume spike is significantly more reliable
RSIOBV divergence + RSI divergence in the same direction = double divergence. One of the highest-probability reversal signals in technical analysis.
Support/Resistance levelsOBV breakout coinciding with price breakout above a horizontal resistance level = extremely strong entry signal
Price Action patternsOBV confirming a cup-and-handle or head-and-shoulders neckline break adds conviction to the pattern signal
A/D LineBoth are cumulative volume-weighted indicators with similar goals. A/D uses close-location weighting; OBV uses all-or-nothing. Using both creates redundancy without additive information — pick one.
VROCVROC measures volume change rate (short-term); OBV measures cumulative direction (long-term). They answer different questions — combining is valid but OBV's signal will usually dominate.

Section 8: Common Mistakes

Mistake Root Cause Solution
Treating absolute OBV values as meaningful Misunderstanding that OBV starts arbitrarily Only analyze OBV's trend and direction — ignore the number itself
Acting on a single divergent bar Expecting divergence to resolve immediately Require at least 5 bars of divergence before considering an entry
Applying OBV to thinly traded stocks Low volume makes cumulative totals erratic Use OBV only on instruments with consistent daily volume above 500K shares
Missing earnings distortion One gap-up day permanently inflates OBV Mark earnings dates on your chart — exclude the earnings bar from divergence analysis
Using OBV as a timing tool OBV is slow — divergences form over days and weeks Pair OBV for direction bias with a faster oscillator (RSI, Stochastic) for entry timing

Section 9: Cheat Sheet

ℹ️ INFO
**On-Balance Volume (OBV)**

USE WHEN: Analyzing 5–20 day divergences on daily charts, confirming breakouts from consolidation bases, assessing whether accumulation or distribution is occurring beneath flat price action

AVOID WHEN: Instruments with recent earnings gaps (distorts cumulative total), low-liquidity stocks, seeking exact entry timing (OBV is too slow for that)

ENTRY SIGNAL: Bullish — price breaks above swing high AFTER OBV already made a new high. Bearish — price breaks below swing low AFTER OBV already made a new low.

EXIT SIGNAL: OBV divergence resolves in the wrong direction (OBV starts confirming the adverse price move), or OBV fails to make new high with price on second breakout attempt

PARAMETERS: No period input — use SMA(20) overlay on OBV for smoother trend reads. Divergence lookback: 5–10 bars minimum.

CONFLUENCE: RSI divergence (same direction) + Price pattern completion + Volume spike at breakout bar

RISK: Earnings gaps permanently distort OBV trend — always check for earnings events during the divergence window

BEST TIMEFRAME: Daily chart for swing trades; 4H for active swing; weekly for position trades