McClellan Family
6 algorithms in Market Breadth and Internals · 6 with asserted arithmetic.
In this family#
-
Traditional McClellan Oscillator verified
The difference between a 19-day and a 39-day EMA of net advances. Because both averages are taken over raw counts, values are not comparable across eras in which the number of listed issues changed — which is exactly what the ratio-adjusted variant fixes.
calculateMcClellanValues(netAdvances) -
Ratio-Adjusted McClellan Oscillator verified
The McClellan oscillator computed on net advances divided by advances plus declines. Ratio adjustment is what makes a 1970 reading comparable with a 2026 one — without it the oscillator's range grows with the exchange.
calculate(records, cutoff) -
Traditional McClellan Summation Index verified
The running total of the McClellan oscillator. Turns a fast, noisy signal into a slow regime gauge — the oscillator says what is happening this week, the summation index what has been happening for months.
calculate(records, cutoff) -
Ratio-Adjusted Summation Index (RASI) verified
RASI: the summation index built on the ratio-adjusted oscillator. The variant most practitioners mean when they quote 'the summation index', and the only one whose historical thresholds hold up across eras.
calculate(records, cutoff) -
McClellan Volume Oscillator verified
The McClellan construction applied to advancing minus declining *volume* rather than issue counts. It weights participation by size, so it can disagree with the issue-based oscillator — and that disagreement is itself the signal.
calculate(records, cutoff) -
McClellan Volume Summation Index verified
The running total of the volume oscillator — the volume-weighted counterpart of the summation index.
calculate(records, cutoff)
What they share#
Every topic here is a record-transform, so once you have
called one the rest follow the same shape. Import paths differ only in the final segment:
import { calculateMcClellanValues } from "fintech-algorithms/market-breadth-and-internals/mcclellan-family/traditional-mcclellan-oscillator";
import { calculate } from "fintech-algorithms/market-breadth-and-internals/mcclellan-family/ratio-adjusted-mcclellan-oscillator";Read them in the order above — the sequence is pedagogical, not alphabetical.
Where this sits#
Market Breadth and Internals collects 28 algorithms across 5 families. For the concept behind this family rather than the call signatures, see the concept guides.