Eine verrauschte Reihe glätten und ihren Rhythmus finden
Ein Filter macht aus einer Reihe eine andere, indem er jeden Wert mit seinen Nachbarn mischt. Ein gleitender Durchschnitt über Tage ist der einfachste Filter: Jede Ausgabe ist der Mittelwert der letzten Eingaben, das Rauschen schrumpft, aber die Ausgabe hinkt auch hinterher. Ein exponentiell gleitender Durchschnitt (EMA) gibt jüngeren Tagen mehr Gewicht: mit dem Glättungsgewicht . signal.lfilter(b, a, x) wendet einen solchen Filter auf eine Reihe an und nutzt nur vergangene und gegenwärtige Werte. Die mittlere Verzögerung eines EMA beträgt Tage, die eines -Tage-Durchschnitts Tage, ein 19-Tage-Durchschnitt und ein EMA mit hinken also beide etwa 9 Tage hinterher.
Die zweite Aufgabe ist das Finden von Zyklen. signal.periodogram(x) verteilt die Varianz einer Reihe auf Frequenzen in Zyklen pro Tag. Ein Gipfel bei der Frequenz bedeutet ein sich wiederholendes Muster mit der Periode Tage. Bei einer Beobachtung pro Tag sieht man Frequenzen nur bis Zyklen pro Tag, der Nyquist-Grenze, weil sich ein schnellerer Zyklus nicht von einem langsameren unterscheiden lässt. Eine Warnung ist im Handel enorm wichtig. signal.filtfilt lässt den Filter vorwärts und dann rückwärts laufen, was die Verzögerung entfernt, aber dann nutzt jede Ausgabe zukünftige Werte. Ein mit filtfilt gebautes Signal sieht im Backtest perfekt aus und ist nicht handelbar, weil die Daten von morgen heute nicht vorliegen. Nutzen Sie für alles, was Sie handeln wollen, nur kausale Filter wie lfilter.
- Glätten kostet Verzögerung: Ein längeres Fenster oder kleineres entfernt mehr Rauschen und verzögert das Signal stärker.
- Perioden aus Gipfeln: Ein Periodogramm-Gipfel bei der Frequenz bedeutet einen Zyklus von Tagen, bis zur Grenze von 0,5 Zyklen pro Tag.
- Nur kausale Filter für den Handel:
filtfiltnutzt die Zukunft, taugt also für Analyse, nie für ein Live-Signal.
Lab: Was bewertet wird
- Ein EMA-Schritt10 Pkt.
- Ein gleitender Durchschnitt10 Pkt.
- Das Gewicht für ein Fenster10 Pkt.
- Eine Periode aus einer Frequenz10 Pkt.
- Die Verzögerung eines EMA10 Pkt.
- Was jede Routine tut15 Pkt.
- Warum filtfilt nicht handelbar ist35 Pkt.