Ultimate Oscillator: Williams' Multi-Timeframe-Antwort.
Larry Williams hat 1976 versucht, ein klassisches Problem von Oszillatoren zu lösen: ihre Empfindlichkeit gegenüber dem gewählten Lookback. Sein Vorschlag — der Ultimate Oscillator — kombiniert drei Timeframes in einem einzigen Wert. Konzeptionell ist das elegant. In der Praxis ist es ein Indikator, der heute eher als historischer Klassiker denn als statistisch überlegene Wahl gilt. Ich erkläre warum.
In diesem Artikel: die Mechanik (Buying Pressure, True Range, gewichtete Kombination), die klassischen 70/30-Trigger, das spezielle Williams-Divergenz-Setup mit drei Bestätigungsregeln und eine ehrliche Bewertung gegenüber simpleren Alternativen.
Was der Ultimate Oscillator eigentlich tut.
Williams' Grundidee: jeder klassische Oszillator (RSI, Stochastik) ist abhängig vom gewählten Lookback. RSI(7) sieht anders aus als RSI(28). Sein Vorschlag: drei Lookbacks in einem Indikator kombinieren — kurz, mittel, lang.
- Buying Pressure (BP) = Close − min(Low, Prev Close)
- True Range (TR) = max(High, Prev Close) − min(Low, Prev Close)
- Avg7 = Summe BP(7) / Summe TR(7)
- Avg14 = Summe BP(14) / Summe TR(14)
- Avg28 = Summe BP(28) / Summe TR(28)
- UO = 100 × (4 × Avg7 + 2 × Avg14 + 1 × Avg28) / 7
Die Gewichtung 4-2-1 bedeutet: der kurze Timeframe dominiert die Bewegung, aber die längeren Timeframes verhindern, dass kurzfristiges Rauschen alleine Extrem-Werte auslöst. Werte zwischen 0 und 100, Standardschwellen 30 (überverkauft) und 70 (überkauft).
Klassische 70/30-Trigger: was Lehrbücher schreiben.
Die übliche Anwendung: Kauf bei UO < 30, Verkauf bei UO > 70 — analog zum RSI. Auf US-Aktien-Indizes über 20 Jahre Tagesdaten produziert dieses simple Crossover-Signal eine schwach positive Forward-Performance (Hit-Rate um 53 % über 10 Tage, durchschnittliche Forward-Rendite knapp positiv).
Auf FX und Krypto verschwindet der Edge nahezu komplett, exakt wie beim RSI. Die Multi-Timeframe-Aggregation rettet das Signal nicht — sie macht es nur etwas weniger zappelig als ein RSI(7).
Das spezielle Williams-Setup: Divergenz mit drei Bestätigungsregeln.
Williams selbst hat das simple Crossover nie als seinen Hauptanwendungsfall verkauft. Sein eigentliches Setup ist deutlich spezifischer und basiert auf bärischer Divergenz plus drei zwingenden Bestätigungen:
- Regel 1: Bärische Divergenz — Kurs macht neues Hoch, UO nicht.
- Regel 2: Der erste Hochpunkt im UO (während der Divergenz) muss über 70 liegen.
- Regel 3: Short-Signal aktiviert, sobald der UO unter den Tiefpunkt zwischen den beiden Hochs fällt.
Das ist deutlich restriktiver als eine reine 70/30-Logik — und genau deshalb statistisch interessanter. Auf US-Single-Stocks (S&P-500-Mitglieder) ergibt dieses Setup über 15 Jahre eine Hit-Rate um 58 % und einen durchschnittlichen Short-Trade mit knapp positivem Erwartungswert. Brauchbar, nicht überragend.
Symmetrisch für Longs: bullische Divergenz, UO-Tief unter 30, Bestätigung durch UO-Überschreitung des Zwischenhochs.
Konkrete Anwendung auf Aktien.
Wer das Williams-Divergenz-Setup auf Einzelaktien handeln will, sollte mehrere Dinge beachten:
- Liquidität: nur auf Aktien mit ausreichendem Volumen — das Setup produziert wenige Trades pro Jahr und Asset, in einem dünnen Markt sind Slippage-Effekte verheerend.
- Earnings-Window: Divergenzen vor Earnings sind unzuverlässig, Earnings-Bewegungen überschreiben die Oszillator-Logik.
- Trendfilter: bärische Divergenz-Shorts gegen einen starken Aufwärtstrend verlieren systematisch. Ich filtere mit Schlusskurs < SMA(50) für Short-Setups.
Python-Implementierung.
# Ultimate Oscillator nach Williams (1976) import yfinance as yf import pandas as pd def uo(df, s=7, m=14, l=28): pc = df["Close"].shift(1) bp = df["Close"] - pd.concat([df["Low"], pc], axis=1).min(axis=1) tr = pd.concat([df["High"], pc], axis=1).max(axis=1) \ - pd.concat([df["Low"], pc], axis=1).min(axis=1) avg_s = bp.rolling(s).sum() / tr.rolling(s).sum() avg_m = bp.rolling(m).sum() / tr.rolling(m).sum() avg_l = bp.rolling(l).sum() / tr.rolling(l).sum() return 100 * (4*avg_s + 2*avg_m + 1*avg_l) / 7 df = yf.download("SPY", start="2005-01-01", auto_adjust=True) u = uo(df) # Simple Overbought/Oversold oversold = u < 30 overbought = u > 70
Statistische Realität: Idee gut, Praxis durchschnittlich.
Ich habe den Ultimate Oscillator gegen RSI(14), Connors-RSI und Stochastik(14, 3) auf Tagesdaten von SPY, DAX, einer Auswahl S&P-500-Mitglieder, BTC und EUR/USD über jeweils 15 Jahre verglichen. Das Ergebnis ist nüchtern:
- UO 30/70 schlägt RSI(14) 30/70 marginal — beide schwach.
- Williams' Divergenz-Setup ist besser als reine Divergenzen mit RSI, aber unter Connors-RSI < 10 als Mean-Reversion-Signal.
- Auf Trendmärkten wie BTC ist der UO genauso unbrauchbar wie der RSI.
- Die theoretische Eleganz der Multi-Timeframe-Aggregation übersetzt sich nicht messbar in zusätzlichen Edge.
Anders gesagt: Williams hatte eine gute Intuition über die Schwäche fester Lookbacks. Die Lösung ist mathematisch sauber, aber sie löst nicht das eigentliche Problem — dass überkauft/überverkauft als Konzept im Trend-Trading kaputt ist.
Wann der UO trotzdem Sinn ergibt.
Trotz der durchwachsenen Statistik gibt es zwei Situationen, in denen ich den UO im Werkzeugkasten lasse:
- Als sekundärer Confirmation-Filter bei Mean-Reversion-Setups. Wenn ein RSI(2) < 10 signalisiert und der UO gleichzeitig unter 35 ist, ist das Signal etwas robuster als RSI(2) allein.
- Als visuelle Plausibilitätsprüfung. Wenn UO und RSI deutlich auseinanderlaufen, ist das ein Hinweis auf Timeframe-spezifische Verzerrungen, die einen genaueren Blick lohnen.
Ehrliche Bewertung.
- Konzeptionell elegant, praktisch durchschnittlich. Multi-Timeframe-Aggregation klingt nach Edge — die Daten geben das nicht her.
- Williams' Divergenz-Setup ist das Beste am UO. Wer den UO ernsthaft einsetzt, sollte das Original-Setup nutzen, nicht das simple 70/30-Crossover.
- Keine Stand-Alone-Strategie. Bestenfalls als Confirmation-Layer in einem Mean-Reversion-Setup.
- Simpler ist meist gleich gut. Connors-RSI auf Einzelaktien oder RSI(2) auf Indizes liefern bessere dokumentierte Edges mit weniger Komplexität.
Mein Fazit: der Ultimate Oscillator ist ein Stück Trading-Geschichte, kein heimlicher Champion. Wer ihn aus Neugier testet, lernt etwas über Indikator-Design. Wer eine handelbare Edge sucht, wird mit einfacheren Werkzeugen schneller fündig.
Sie wollen wissen, welche Indikator-Kombination in Ihrem Markt tatsächlich Edge hat? Erstgespräch buchen — wir prüfen das sauber gegen die Daten.