fintech-algorithms
Using a coding agent? Give it the skill: npx skills add IslamBaraka90/Fintech-Algorithms-Library What it does →

Volume Indicators

21 algorithms in Technical Indicators · 21 with asserted arithmetic.

In this family#

  1. On-Balance Volume (OBV) verified

    On-balance volume: a running total that adds the bar's volume when price closed up and subtracts it when price closed down. The level is arbitrary; only its direction carries information.

    obv(close, volume, initial)
  2. Accumulation/Distribution Line verified

    Weights each bar's volume by where the close sat within that bar's range, then accumulates. Unlike OBV it distinguishes a close at the high from a close barely above the open.

    accumulationDistributionLine(high, low, close, volume, initial)
  3. Chaikin Money Flow verified

    Money-flow volume summed over a lookback and divided by total volume over the same window — the accumulation/distribution idea as a bounded oscillator rather than a running total.

    chaikinMoneyFlow(high, low, close, volume, p)
  4. Money Flow Index verified

    RSI computed on typical price weighted by volume — commonly described as volume-weighted RSI, and read on the same 0–100 scale.

    moneyFlowIndex(high, low, close, volume, p)
  5. Volume Price Trend verified

    Like OBV, but each bar contributes volume scaled by the size of the return rather than only its sign — so a 3% move counts for more than a 0.1% one.

    volumePriceTrend(close, volume, initial)
  6. Force Index verified

    Price change multiplied by volume, then smoothed. Combines direction, size and participation in one number — a large move on no volume scores low.

    forceIndex(close, volume, p)
  7. Chaikin A/D Oscillator verified

    Builds the cumulative accumulation/distribution line from the money flow multiplier and volume, then returns the difference between a fast and a slow EMA of that line.

    chaikinADOscillator(input)
  8. Session VWAP Indicator verified

    Accumulates typical price times volume divided by cumulative volume, restarting the accumulation at every new session.

    sessionVwapIndicator(input)
  9. Anchored VWAP verified

    Accumulates typical price times volume divided by cumulative volume from a chosen anchor bar onward, with no session reset.

    anchoredVwap(input)
  10. Negative Volume Index verified

    Tracks a cumulative index seeded at 1000 that compounds the close-to-close return only on bars whose volume fell against the prior bar.

    negativeVolumeIndex(input)
  11. Positive Volume Index verified

    Tracks a cumulative index seeded at 1000 that compounds the close-to-close return only on bars whose volume rose against the prior bar.

    positiveVolumeIndex(input)
  12. Ease of Movement verified

    Divides the typical-price change by a box ratio built from scaled volume over the bar range, then smooths that raw reading with a simple moving average.

    easeOfMovement(input)
  13. Klinger Volume Oscillator verified

    Signs each bar's volume force by the direction of the high-low-close sum and weights it by where the close sits in the bar range, then returns the fast EMA of that force minus the slow EMA.

    klingerVolumeOscillator(input)
  14. Volume Oscillator verified

    Returns the difference between a fast and a slow simple moving average of raw volume.

    volumeOscillator(input)
  15. Percentage Volume Oscillator verified

    Expresses the gap between a fast and a slow EMA of volume as a percentage of the slow EMA.

    percentageVolumeOscillator(input)
  16. Volume Rate of Change verified

    Measures the percentage change in volume against the bar period positions earlier.

    volumeRateOfChange(input)
  17. Relative Volume verified

    Divides each bar's volume by the simple moving average of volume over the preceding window, giving a multiple of normal activity.

    relativeVolume(input)
  18. Money Flow Multiplier and Money Flow Volume verified

    Returns the per-bar money flow multiplier, the close's position within the bar range mapped to minus one through one, and that multiplier times volume.

    moneyFlowMultiplierAndMoneyFlowVolume(input)
  19. Volume-Weighted MACD verified

    Runs the MACD construction on volume-weighted moving averages of close instead of exponential ones, and smooths the resulting line into a signal.

    volumeWeightedMacd(input)
  20. Volume Zone Oscillator verified

    Signs each bar's volume by the direction of the close change, then expresses the EMA of that signed volume as a percentage of the EMA of total volume.

    volumeZoneOscillator(input)
  21. Twiggs Money Flow verified

    Accumulates volume weighted by where the close sits inside a range extended to include the prior close, then divides the EMA of that flow by the EMA of volume.

    twiggsMoneyFlow(input)

What they share#

Every topic here is a series-transform, so once you have called one the rest follow the same shape. Import paths differ only in the final segment:

ts
import { obv } from "fintech-algorithms/technical-indicators/volume-indicators/obv";
import { accumulationDistributionLine } from "fintech-algorithms/technical-indicators/volume-indicators/accumulation-distribution-line";

Read them in the order above — the sequence is pedagogical, not alphabetical.

Where this sits#

Technical Indicators collects 137 algorithms across 9 families. For the concept behind this family rather than the call signatures, see the concept guides.