← Alle Insights

Detrended Price Oscillator: Zyklen ohne Trend-Verzerrung.

Der DPO macht etwas Ungewöhnliches: er entfernt den Trend aus der Preisreihe, damit reine Zyklen sichtbar werden. Das klingt nach einem mächtigen Werkzeug — und ist es auch, aber nicht so, wie es viele einsetzen. Der entscheidende Punkt ist methodischer Natur, und er disqualifiziert den DPO sofort für die Anwendung, in der er am häufigsten gezeigt wird.

Ich bekomme den DPO regelmäßig von Mandanten vorgelegt, meist mit der Frage, warum er in Backtests so wunderbar funktioniert und im Live-Trading nicht. Die Antwort ist unangenehm einfach: der Indikator ist konstruktionsbedingt zeitverschoben — er „sieht" in die Zukunft. In diesem Artikel zeige ich, wofür DPO wirklich gut ist und wofür nicht.

Was der DPO macht — und wie er rechnet.

Die Idee stammt aus der Zyklen-Analyse: wenn ich aus einem Preisverlauf den dominanten Trend herausrechne, sehe ich die Schwingungen darunter sauberer. Klassische Oszillatoren wie RSI oder Stochastik tun das implizit, aber unsauber — sie reagieren auf Preisbewegungen, nicht auf reine Zyklen.

Die Berechnung ist denkbar kompakt. Für eine Periode n (typisch 20) wird die einfache gleitende Durchschnittslinie SMA(n) berechnet und um (n/2 + 1) Bars in die Vergangenheit verschoben. Der DPO ist die Differenz zwischen aktuellem Preis und dieser verschobenen SMA:

# DPO mit Periode n=20
import pandas as pd

def dpo(close, n=20):
    shift = n // 2 + 1
    sma = close.rolling(n).mean()
    # Wichtig: SMA wird in die Vergangenheit verschoben
    return close - sma.shift(shift)

Das Resultat ist eine Oszillator-Linie um die Nullachse. Hochs im DPO markieren Phasen, in denen der Preis über dem Trend lag — Tiefs entsprechend darunter. Über mehrere Jahre betrachtet werden so saubere Zyklen-Muster sichtbar.

Der Methodenkonflikt: DPO ist nicht echtzeitfähig.

Genau hier liegt das Problem, das in vielen Lehrbüchern unter den Tisch fällt. Die SMA-Verschiebung bedeutet: der heutige DPO-Wert wird mit einer SMA verglichen, die (n/2 + 1) Bars in der Vergangenheit endet. Das ist kein Trick, das ist gewollt — es ist der Mechanismus, der den Trend „entfernt".

Die Konsequenz: der aktuellste DPO-Wert, den Sie auf einem Chart sehen, basiert auf einer SMA, die noch nicht abgeschlossen ist. In den meisten Charting-Tools wird er trotzdem gezeichnet — durch Vorwärts-Verschiebung der SMA. Das sieht hübsch aus, ist aber faktisch ein Forward-Lookahead. Wer auf diesen DPO-Wert tradet, hat ein klassisches Lookahead-Bias im Backtest, ohne es zu merken.

Sauber implementiert verschwindet der DPO an der rechten Chart-Kante schlicht — die letzten (n/2 + 1) Bars haben keinen verlässlichen Wert. Genau deshalb gehört der DPO nicht in eine Live-Trading-Strategie als Trigger.

Wofür der DPO trotzdem brauchbar ist.

Die Stärke liegt in der Analyse historischer Marktphasen. Wenn ich Zyklen-Hypothesen prüfen will — gibt es im DAX einen 60-Bar-Zyklus auf Tagesdaten? Verändert sich der Zyklus zwischen Hoch- und Niedrigvolatilitäts-Regimen? —, ist der DPO das richtige Werkzeug. Er zeigt visuell sauber, was eine spektrale Analyse rechnerisch zeigt.

Was der DPO nicht kann: ein präzises Echtzeit-Signal liefern. Wer „DPO < -X als Long-Trigger" backtestet, ohne die Verschiebung korrekt zu modellieren, baut sich eine scheinbar profitable Strategie, die live versagt.

Klassische DPO-Anwendungen — was wirklich davon übrigbleibt.

In der Literatur wird der DPO häufig für „Overbought/Oversold"-Signale eingesetzt: DPO > +X als Verkaufssignal, DPO < -X als Kaufsignal. Das ist methodisch wie statistisch schwach. Statistisch, weil DPO-Extremwerte stark vom gewählten n abhängen — ein universelles Level gibt es nicht. Methodisch, weil das Signal ohnehin verzögert oder blickend-vorausschauend ist.

Was funktioniert: den DPO nicht als Trigger einzusetzen, sondern als beschreibende Statistik. Beispiel: über die letzten 5 Jahre des SPY hatte der DPO(20) eine Standardabweichung von etwa 1,1 % des Preises, mit Extremwerten um ±3 %. Diese Information ist nützlich, wenn ich Mean-Reversion-Strategien dimensioniere — sie hilft mir, realistische Schwellen für andere Indikatoren zu wählen.

Konkretes Setup: DPO für Phasenanalyse vor Strategieentwicklung.

So sieht der DPO in meiner Pre-Trade-Analyse aus: bevor ich auf einem Asset eine Mean-Reversion-Strategie aufbaue, prüfe ich zunächst, ob das Asset überhaupt zyklisches Verhalten zeigt. Dafür schaue ich mir den DPO über mindestens 5 Jahre an, mit zwei oder drei verschiedenen Periodenlängen (z.B. 20, 50, 100).

  1. DPO(20), DPO(50), DPO(100) gleichzeitig plotten — auf Tagesdaten.
  2. Visuell beurteilen: gibt es regelmäßige Schwingungen, oder ist das Bild chaotisch?
  3. Mit einer schnellen Fourier-Analyse (FFT) gegen die DPO-Reihe checken: liegen die dominanten Perioden tatsächlich in der erwarteten Größenordnung?
  4. Wenn dominante Zyklen existieren: Strategie eher mean-reversion-orientiert ausrichten. Wenn nicht: trendfolgend.

Das ist banal, wird aber selten gemacht. Die meisten Mandanten probieren einfach Strategien durch, bis eine im Backtest gut aussieht. Eine vorgeschaltete Marktphasen- Analyse spart oft Wochen vergeblicher Optimierung.

Ehrliche Bewertung.

Der DPO ist ein analytisches Werkzeug, kein Trading-Indikator. In genau dieser Rolle ist er wertvoll: er macht Zyklen-Strukturen visuell sauber sichtbar, die andere Oszillatoren durch Trend-Anteil verzerren. Wer ihn so einsetzt, gewinnt ein nützliches Diagnostikum.

Wer ihn als Echtzeit-Signal nutzt — etwa über Zero-Crossings oder Extremwerte —, tradet faktisch auf einer in die Zukunft schauenden Größe. Das ist statistisch problematisch und in den meisten Backtest-Frameworks lautlos falsch implementiert. Bevor Sie eine DPO-basierte Strategie ernst nehmen, prüfen Sie zwingend, ob die Verschiebung im Backtest korrekt modelliert ist. In neun von zehn Fällen, die ich gesehen habe, war sie es nicht.

Sie wollen Zyklen-Analyse sauber von Echtzeit-Triggern trennen? Erstgespräch buchen — wir schauen uns Ihren Setup an.