Browse the library

Indicators · Momentum oscillators

Chande Momentum Oscillator (CMO): formula and Finabase’s version

How Tushar Chande’s CMO compares up-day and down-day totals, why Finabase’s TA-Lib CMO equals 2 × RSI − 100, a worked example on Home Depot, and how to read ±50.

On this page
  1. What the CMO measures
  2. The formulas
  3. Reading the CMO
  4. How traders use the CMO
  5. Pitfalls and limitations
  6. Comparison table
  7. How Finabase calculates and scores the CMO
  8. Frequently asked questions
  9. Summary

The Chande Momentum Oscillator (CMO) measures the balance between up days and down days on a scale from −100 to +100. If every close in the look-back was higher than the one before, CMO is +100; if every close was lower, −100; if the gains and losses cancel out, 0. Tushar Chande introduced it in 1994 as a "pure momentum" alternative to the RSI, built from raw sums rather than smoothed averages.

There is a twist that matters for anyone comparing numbers across platforms. Finabase computes CMO with TA-Lib, and TA-Lib's CMO uses the same Wilder smoothing as the RSI. That makes Finabase's CMO exactly equal to 2 × RSI − 100: a rescaled RSI, not Chande's original. This guide shows both calculations side by side on Home Depot's chart, explains why they differ, and covers how to read the CMO's ±50 levels.

What the CMO measures

Over the last 14 sessions, add up all the gains (the positive day-to-day changes in the close) and all the losses (the negative ones, as positive numbers). CMO compares the two totals:

  • Gains only: +100.
  • Losses only: −100.
  • Equal totals: 0.
  • Gains twice the losses: (2 − 1) ÷ (2 + 1) = +33.

Chande's point was that, unlike the RSI, this uses the net difference in the numerator, so it moves symmetrically around zero, and with plain sums it reacts fully to every bar entering and leaving the window.

The formulas

The algebra behind the last line: RSI = 100 × avg gain ÷ (avg gain + avg loss). Doubling it and subtracting 100 gives exactly the smoothed CMO. Across every day of Home Depot's chart, Finabase's CMO and 2 × RSI − 100 agree to within 0.01, which is rounding.

A worked example on Home Depot, both ways

Home Depot (HD) closed at $328.98 on October 29, 2026. Over the 14 sessions ending that day, using Finabase's closes:

Step Original CMO Finabase CMO (TA-Lib)
Gains Su = $49.50 (plain sum) Wilder-smoothed average gain
Losses Sd = $11.26 (plain sum) Wilder-smoothed average loss
Calculation 100 × (49.50 − 11.26) ÷ (49.50 + 11.26) 2 × 67.54 − 100
CMO 62.9 35.1

Why so different? Home Depot had rallied hard in the two weeks before, from $290.74 to $328.98, so the plain 14-day sums were dominated by gains. Wilder's smoothing keeps a fading memory of the weeks before that, when the stock was falling to its October 1 low of $277.15, which pulls the smoothed reading down.

Neither number is wrong. They answer slightly different questions: "how one-sided were exactly the last 14 days?" versus "how one-sided has recent momentum been, with older days fading out?"

Reading the CMO

Home Depot (HD) daily with CMO (14): Finabase vs Chande’s simple-sum version · 2025-10-30 to 2026-10-29 $300 $350 $400 Low $277.15 · Oct 1 Price -50 0 50 −66.1 · Nov 20, 2025 CMO (14) Finabase (TA-Lib) Simple sums Nov Dec Jan 2026 Feb Mar Apr May Jun Jul Aug Sep Oct
Home Depot (HD), one year of daily bars with CMO (14) as computed by Finabase (TA-Lib) and, for comparison, Chande’s original simple-sum formula computed from the same closes.

Chande's suggested levels were +50 and −50 for overbought and oversold. On Finabase's scale those correspond to an RSI of 75 and 25, stricter than the RSI's usual 70 and 30.

Home Depot fell 13.3% over the year, from $379.55 to $328.98, with a high of $397.63 in February and the October low of $277.15.

  • Finabase's CMO went below −50 on just 5 days, all in three short episodes, the deepest on November 20, 2025 at −66.1 (an RSI of 17.0) with the stock at $332.38. It never went above +50; its high was 42.9 on October 22, 2026.
  • Chande's original went above +50 on 16 days and below −50 on 25, with extremes of +72.7 and −73.6.

The figure shows the difference: the simple-sum line is jumpier and reaches the bands far more often. It changed direction 137 times over the year against 127 for Finabase's.

Zero line. CMO above zero means gains have outweighed losses over the look-back; crossing zero is a basic momentum shift. On Finabase's scale this is identical to RSI crossing 50.

Divergence. As with any momentum oscillator, a new price low with a higher CMO low, or a new high with a lower CMO high, flags fading momentum.

How traders use the CMO

Overbought and oversold at ±50. The classic use. With the original formula these levels are reached often; with Finabase's, rarely, and only after strong runs.

Trend strength by absolute value. Chande also read the absolute size of CMO as trend strength: the further from zero, the more one-sided the movement, whichever way.

As an input. Chande used CMO as the volatility-sensitive input for his Variable Index Dynamic Average (VIDYA), an adaptive moving average.

Pitfalls and limitations

Two definitions. The biggest practical problem. Before comparing CMO readings or thresholds across platforms or books, check which formula is in use. In Finabase it is the smoothed one.

Redundant with RSI in Finabase. Because Finabase's CMO is a rescaled RSI, putting both on one chart adds no information. Use one or the other.

Window effects in the original. With plain sums, a big day leaving the 14-bar window shifts the reading abruptly.

Comparison table

Indicator Numerator Smoothing Range Levels
CMO (Chande original) Gains − losses Plain sums −100 to 100 ±50
CMO (Finabase / TA-Lib) Gains − losses Wilder −100 to 100 ±50 (= RSI 75/25)
RSI Gains Wilder 0 to 100 70 / 30
Momentum Close − close n ago None Unbounded Zero line

See Relative Strength Index (RSI): how to read and use it for the calculation behind Finabase's CMO and Momentum indicator (MOM): price change over n bars for the plain price difference.

How Finabase calculates and scores the CMO

Finabase computes CMO with TA-Lib's CMO function on closing prices. A new CMO study ("Chande Momentum") defaults to 14 periods and is drawn in its own panel around a zero line. As explained above, TA-Lib's CMO uses Wilder smoothing, so the line is exactly 2 × RSI − 100 for the same period.

CMO (14) appears in the technical gauge on the symbol page with its latest value and carries no Buy or Sell rule, so it always counts as neutral. For an overbought or oversold flag on the same information, see the RSI row of the gauge.

Frequently asked questions

What is the difference between CMO and RSI?

In Chande's original, CMO uses plain sums of gains and losses and puts their difference in the numerator, so it is centred on zero and more sensitive. In TA-Lib and therefore Finabase, CMO uses the RSI's smoothing and equals 2 × RSI − 100.

What are good CMO levels?

Chande suggested +50 and −50. On Finabase's smoothed CMO those equal RSI 75 and 25, and are reached rarely. With the original formula they are reached much more often.

Why does my CMO differ from another platform's?

Most likely one platform uses Chande's plain sums and the other TA-Lib's smoothed averages. On Home Depot's October 29, 2026 bar, that difference was 62.9 versus 35.1.

Summary

The Chande Momentum Oscillator compares up-day and down-day movement on a −100 to +100 scale. Chande built it from plain sums; TA-Lib, and so Finabase, builds it from Wilder's smoothed averages, which makes it exactly 2 × RSI − 100. Home Depot's chart shows how much that matters: 62.9 against 35.1 on the same day, and 41 readings beyond ±50 against 5. Know which version you are reading, and use the ±50 levels accordingly.

Sources and further reading

  1. Tushar S. Chande and Stanley Kroll, The New Technical Trader (Wiley, 1994) — the Chande Momentum Oscillator
  2. TA-Lib — CMO function reference
  3. Finabase chart data — HD daily bars, 2025-10-30 to 2026-10-29, CMO and RSI computed by Finabase