On-Balance Volume (OBV)

Popularized by Joseph Granville, On-balance Volume is a rolling accumulation of volume based on Close price direction. [Discuss] 💬

chart for On-Balance Volume (OBV)

// C# usage syntax
IEnumerable<ObvResult> results =
  quotes.GetObv();

// usage with optional overlay SMA of OBV (shown above)
IEnumerable<ObvResult> results =
  quotes.GetObv(smaPeriods);

Parameters

smaPeriods int - Optional. Number of periods (N) in the moving average of OBV. Must be greater than 0, if specified.

Historical quotes requirements

You must have at least two historical quotes to cover the warmup periods; however, since this is a trendline, more is recommended.

quotes is a collection of generic TQuote historical price quotes. It should have a consistent frequency (day, hour, minute, etc). See the Guide for more information.

Response

IEnumerable<ObvResult>

ObvResult

Date DateTime - Date from evaluated TQuote

Obv double - On-balance Volume

ObvSma double - Moving average (SMA) of OBV based on smaPeriods periods, if specified

🚩 Warning: absolute values in OBV are somewhat meaningless. Use with caution.

Utilities

See Utilities and helpers for more information.

Chaining

Results can be further processed on Obv with additional chain-enabled indicators.

// example
var results = quotes
    .GetObv(..)
    .GetRsi(..);

This indicator must be generated from quotes and cannot be generated from results of another chain-enabled indicator or method.