Chande Momentum Oscillator: bessere Antwort als RSI?
Tushar Chande hat den CMO 1994 in „The New Technical Trader“ als bewusste Alternative zum RSI vorgestellt. Sein Vorwurf an Wilders Klassiker: zu glatt, zu träge, zu wenig sensitiv für echte Momentum-Wechsel. Die Frage ist nicht, ob Chande Recht hatte — sondern, ob die Statistik ihm Recht gibt.
Ich habe CMO und RSI über die letzten Jahre mehrfach systematisch verglichen, weil viele Trader den Indikator aus Trading-Tools wie Amibroker oder TradeStation kennen und wissen wollen, ob ein Wechsel sich lohnt. Die kurze Antwort: in den meisten Fällen nicht so stark, wie die Werbung suggeriert. Die lange Antwort folgt.
Wie der CMO rechnet — und worin er sich vom RSI unterscheidet.
CMO über n Perioden:
CMO(n) = 100 · (Sum_Up − Sum_Down) / (Sum_Up + Sum_Down)
Wobei Sum_Up die Summe der positiven Tagesveränderungen über n Perioden ist,
Sum_Down die absolute Summe der negativen. Skala: −100 bis +100.
Der Unterschied zum RSI ist subtil, aber wichtig:
- RSI verwendet Wilder-Glättung (exponentielle Mittelung) auf Up-Bewegungen und Down-Bewegungen getrennt und bildet daraus ein Verhältnis.
- CMO verwendet eine einfache Summe ohne Glättung und subtrahiert Down von Up im Zähler.
Praktisch heißt das: der CMO reagiert schneller auf Momentum-Wechsel, weil keine EMA-Glättung verzögert. Er ist aber auch volatiler — das, was Wilder mit der Glättung absichtlich gedämpft hat, bekommt man ungefiltert zurück.
Standard-Trigger und Schwellen.
Chande empfiehlt:
- CMO über +50 → überkauft
- CMO unter −50 → überverkauft
- Nulllinien-Crossover → Trendwechsel
Das ist sauberer als die RSI-70/30-Konvention, weil die Skala symmetrisch um null ist und die Schwellen mathematisch deutlicher („50 % der Bewegung in eine Richtung“) sind. Dass das statistisch besser funktioniert als 70/30 beim RSI, folgt daraus aber nicht automatisch.
Der direkte Test: CMO vs. RSI auf liquide US-Aktien.
Ein typischer Vergleichstest: S&P-500-Mitglieder mit konstanter Liquidität über einen langen Zeitraum. Setup: Long-Entry bei Indikator-Wert unter −50 (bzw. RSI unter 30), Exit nach 5 Tagen oder bei Indikator über +50 (RSI über 70). Trendfilter SMA(200).
Typisches Ergebnis solcher Tests: Auf der 14er-Periode sind beide Indikatoren kaum zu unterscheiden, auf sehr kurzen Perioden (2) schneidet der RSI meist besser ab als der CMO — die Wilder-Glättung wirkt hier wie eine vorgeschaltete Rauschunterdrückung, die der CMO nicht hat.
Das ist die ehrlich unbequeme Antwort: für Mean-Reversion auf US-Aktien ist der RSI(2) in solchen Tests meist die bessere Wahl. Chandes Argument der „schnelleren Reaktion“ wird in dieser Anwendung zum Nachteil.
Wo der CMO sich besser schlägt.
Es gibt einen Bereich, in dem der CMO dem RSI tatsächlich überlegen ist: Divergenz-Analyse auf Daily-Charts. Weil der CMO weniger geglättet ist, zeichnet er Pivots in den Momentum-Werten schärfer. Ein Pivot-Detektor (rolling argmax über 15-Tage-Fenster) auf beiden Indikatoren findet beim CMO oft mehr „echte“ Divergenzen (definiert als: gefolgt von einer Bewegung größer als 1 ATR in den nächsten 10 Tagen).
Bullische CMO-Divergenzen im SMA(200)-Aufwärtstrend schneiden in Tests oft leicht besser ab als RSI-Divergenzen, sind aber kein Game-Changer.
Konkretes Setup: CMO-Divergenz-Long.
- Universum: S&P-500-Aktien mit Average-Dollar-Volume > 50 Mio. USD
- Trendfilter: Schlusskurs > SMA(200)
- Setup: zwei Pivot-Tiefs im Kurs in den letzten 40 Tagen; zweites Tief unter erstem; CMO(14) am zweiten Tief höher als am ersten (bullische Divergenz)
- Trigger: Schlusskurs über dem Hoch der letzten 3 Tage
- Exit: nach 10 Tagen, oder Stop unter dem zweiten Pivot-Tief
Ob das Setup eine sinnvolle Komponente in einem Multi-Strategie-Portfolio ist, muss ein Backtest zeigen, der die Kosten realistisch (0,05 % pro Seite, plus Tagesgrenze-Slippage) modelliert.
Python-Implementation.
import yfinance as yf
import numpy as np
import pandas as pd
def cmo(series, n=14):
delta = series.diff()
up = delta.clip(lower=0).rolling(n).sum()
down = (-delta.clip(upper=0)).rolling(n).sum()
return 100 * (up - down) / (up + down)
px = yf.download("AAPL", start="2005-01-01", auto_adjust=True)["Close"]
c14 = cmo(px, 14)
sma200 = px.rolling(200).mean()
oversold = (c14 < -50) & (px > sma200)
print(f"Oversold-Signale im Aufwärtstrend: {oversold.sum()}")
Achtung beim Edge-Case up + down == 0 (komplett unveränderter Preis über n
Perioden, etwa bei stillgelegten Symbolen): der Nenner wird null. In der Produktion ein
fillna oder eine Schutzklausel ergänzen.
Meine ehrliche Bewertung.
Der CMO ist kein „besserer RSI“. Er ist ein RSI mit anderer Glättungs-Philosophie, und diese Wahl ist je nach Anwendung Vor- oder Nachteil. Für kurze Mean-Reversion-Trigger ist der RSI(2) statistisch überlegen. Für Divergenz-Analyse auf Daily ist der CMO leicht im Vorteil. Für die meisten anderen Anwendungen sind sie austauschbar.
Wer seine Strategie auf den RSI gebaut hat und sich fragt, ob ein Wechsel zum CMO lohnt: in 9 von 10 Fällen lohnt er sich nicht. Wer eine neue Strategie aufsetzt und Divergenzen handelt: der CMO ist eine ehrliche Alternative, die in Tests oft leicht besser abschneidet als der RSI.
Wichtiger als die Wahl zwischen RSI und CMO sind in der Praxis: Trendfilter, Position-Sizing, Kostenmodellierung, Robustheits-Tests über mehrere Märkte. Wer dort sauber arbeitet, hat mit beiden Indikatoren eine solide Grundlage. Wer dort schludert, mit keinem.
Stand: Mai 2026, überarbeitet Oktober 2026. Angaben zu Produkten, Preisen, Gesetzen und Fristen können sich seitdem geändert haben; maßgeblich sind die aktuellen Angaben der Anbieter und Behörden.
Sie wollen Indikator-Varianten gegeneinander testen statt auf Forum-Empfehlungen vertrauen? Unverbindlich anfragen — wir bauen den Vergleichstest sauber auf. Mehr zu meinem Angebot: Trading-Systeme entwickeln lassen.