598 / 736WFA

Walk-forward Analysis

Analyse mit schrittweisem Fortschreiten in der Zeit

Walk-forward Analysis wählt Regeln anhand der verfügbaren Vergangenheit aus und testet sie im folgenden Abschnitt. Das Verfahren wiederholt sich nach einem vorab festgelegten Protokoll. Bewertet wird das gesamte Auswahlverfahren, nicht ein rückblickend ermittelter Gewinner; selbst eine korrekte Trennung der Abschnitte garantiert keine künftigen Erträge.

Walk-forward Analysis ist die chronologische Bewertung eines Verfahrens, das Regeln anhand früherer Daten auswählt oder einstellt und auf den anschließenden Testzeitraum anwendet. Auswahl- und Testrollen verschieben sich in der Zeit, wobei die aktuelle Entscheidung das nachfolgende Ergebnis nicht kennen darf.

Walk-forward Analysis verschiebt die historische Simulation in der Zeit: Anhand der bisherigen Daten wird eine Regel ausgewählt oder eingestellt und anschließend ihre Anwendung im nächsten Abschnitt bewertet. QuantConnect beschreibt eine regelmäßige Optimierung anhand eines zurückliegenden Zeitfensters. Unsere redaktionelle Unterscheidung: Wir bewerten nicht nur einen unveränderlichen Parametersatz, sondern das vorab beschriebene Verfahren zu seiner Erneuerung. Zur Regel gehören auch der Zeitpunkt der nächsten Auswahl, ihr Ziel und die Kandidatenmenge. Eine bessere Anpassung an jüngste Daten belegt allein kein besseres zukünftiges Ergebnis. [1]

QuantConnect weist darauf hin, dass der für die Suche nach den besten Parametern verwendete Zeitraum Teil der Entwicklungsdaten wird. Den rückblickend gewählten Gewinner darauf anzuwenden, ist keine unverzerrte Prüfung einer damaligen Entscheidung. Unser Protokoll schließt deshalb die Auswahl vor Beginn des nachfolgenden Testabschnitts ab. Dessen Daten dürfen den aktuellen Gewinner nicht beeinflussen. Sobald der Abschnitt beendet und seine Informationen tatsächlich verfügbar sind, können sie nach dem vorab festgelegten Verfahren in eine spätere Auswahl eingehen; zuvor aufgezeichnete Testentscheidungen ändern sich dadurch jedoch nicht. [2]

TimeSeriesSplit erzeugt zeitlich geordnete Trainings- und Testindizes; standardmäßig erweitert es die historische Trainingsmenge schrittweise und erlaubt eine Begrenzung ihrer Größe. Unsere Unterscheidung: Ein rollendes Fenster behält die gewählte Länge der Vergangenheit bei, während ein wachsendes Fenster einen festen Anfang beibehält. Fensterlänge und Aktualisierungshäufigkeit sind Teil des Entwurfs und keine frei wählbaren Änderungen nach Betrachtung der Ergebnisse. Für vergleichbare Kennzahlen der Abschnitte verlangt die Dokumentation gleichmäßig verteilte Beobachtungen; bei unregelmäßigen Daten muss der tatsächliche Kalenderzeitraum beachtet werden. [3]

Der Parameter gap in TimeSeriesSplit lässt Beobachtungen am Ende der Trainingsmenge vor dem Test aus. Unsere methodische Anforderung ist, den nötigen Abstand aus dem Zeitpunkt der Verfügbarkeit der Eingaben und der Fertigstellung der Zielergebnisse abzuleiten. Nutzt das Ergebnis einer Trainingsbeobachtung Preise aus dem Testzeitraum, beseitigt allein das Sortieren der Zeilen den Informationsabfluss nicht. Die Lücke darf daher nicht nur anhand einer attraktiven Kurve gewählt werden. Selbst eine passende Lücke beweist weder die Unabhängigkeit benachbarter Zeiträume noch beseitigt sie alle Formen der Auswahlverzerrung. [3]

Die scikit-learn-Dokumentation warnt davor, dass Normalisierung, Ergänzung fehlender Werte oder Merkmalsauswahl Informationen aus dem Test in das Modell übertragen können. Die Parameter dieser Transformationen sollen nur anhand des Trainingsabschnitts gelernt und dann auf den Testabschnitt angewandt werden. Unsere Prüfung wiederholt diese Trennung bei jeder Fensterverschiebung. Die vorherige Berechnung eines Mittelwerts über den gesamten Datensatz wird nicht dadurch korrigiert, dass erst anschließend die fertige Tabelle aufgeteilt wird. Auch die Datenversion und die tatsächliche zeitliche Verfügbarkeit müssen erhalten bleiben. [4]

QuantConnect beschreibt ein Modell, das Preis und Menge der Ausführung bestimmt und Spread sowie Slippage berücksichtigen kann. Unsere Anforderung für das Zusammenfügen von Testabschnitten ist ein einheitlicher Umgang mit Kapital, offenen Positionen und Kosten eines Regelwechsels. Trainingsgewinne werden nicht zum Ergebnis des anschließenden Tests addiert, und überlappende Testzeiträume dürfen nicht ohne Erklärung mehrfach gezählt werden. Werden Positionen übertragen, muss der Übergang zwischen den Konfigurationen beschrieben werden. Unser unten dargestelltes Modell beendet dagegen jede Periode ohne Position. [5]

Bailey und seine Mitautoren beschreiben das wachsende Risiko falscher Entdeckungen bei wiederholter Suche in denselben Daten. Unsere Folgerung für Walk-forward Analysis: Ändern wir anhand der entstandenen Testreihe Fensterlängen, Ziel oder Kandidaten und wiederholen den gesamten Lauf, beeinflusst die Reihe bereits die Entwicklung. Sie einfach als unabhängig zu bezeichnen, genügt nicht. Der Bericht muss alle erprobten Protokolle aufführen und eine mögliche weitere, bislang ungenutzte Überprüfung davon trennen. Zeitliches Fortschreiten allein ist weder eine Schätzung der Überanpassungswahrscheinlichkeit noch eine automatische statistische Garantie. [6]

Die NFA betont, dass hypothetische Ergebnisse weder den tatsächlichen Handel noch sämtliche Auswirkungen von Liquidität, Slippage und Verhalten bei realen Verlusten erfassen. Unser Bericht zur Walk-forward Analysis bewahrt deshalb die Fenstergrenzen, Kandidaten, Auswahlbewertungen, gewählten Konfigurationen und Ergebnisse der folgenden Abschnitte einschließlich Kosten. Die Summe braucht den Kontext von Risiko, Beobachtungszahl und Vergleichen unter gleichen Bedingungen. Ein kleines negatives Beispiel beweist ebenso wenig die generelle Untauglichkeit der Methode, wie eine positive Summe einen zukünftigen Handelsvorteil beweist. [7]

BeispielBEISPIEL · WFA

Aus der Vergangenheit auswählen, erst die nächste Periode bewerten

Unser fiktives Modell verwendet sechs gleich lange, mit 1 bis 6 bezeichnete Perioden und zwei vorab festgelegte Varianten A und B. Ihre Nettoergebnisse bei derselben festen Positionsgröße betragen für A [4, -1, 2, -3, 5, -2] USD und für B [1, 2, 1, 1, -2, 4] USD. Jedes Ergebnis steht erst nach Ende der jeweiligen Periode zur Verfügung, enthält alle modellierten Kosten und endet ohne offene Position. Es gibt keine weiteren Übergangskosten, Schulden oder Zahlungsströme. Das vorab festgelegte Verfahren summiert jeweils die letzten drei abgeschlossenen Perioden, wählt die höhere Summe und verwendet den Gewinner nur in der folgenden Periode; bei Gleichstand würde es A wählen. Die Auswahlfenster sind [1, 2, 3], [2, 3, 4] und [3, 4, 5], die anschließenden Tests [4, 5, 6]. Die Auswahlsummen für A lauten [5, -2, 4] USD und für B [4, 4, 0] USD; folglich werden nacheinander A, B und A gewählt. In das gemeinsame Testergebnis gehen nur [-3, -2, -2] USD ein, insgesamt -7 USD. Der anfängliche Bargeldbestand des Tests vor Periode 4 beträgt 1000 USD, der abschließende Bestand 993 USD; die Positionsgröße ändert sich nicht mit dem Bargeldbestand. Trainingsergebnisse werden nicht dem Konto zugerechnet, und jeder Testabschnitt wird nur einmal gezählt. Das Schema zeigt die Verschiebung der Auswahlfenster und der folgenden Tests, keine tatsächliche Markthistorie oder Wahrscheinlichkeit zukünftigen Erfolgs.

Für ein möglichst vollständiges Bild lies diesen Eintrag zusammen mit Backtesting, Overfitting, Look-ahead Bias, Trading Plan, Trading Journal. Auf diesen Eintrag verweisen außerdem Backtesting, Overfitting, Look-ahead Bias, Survivorship Bias.

01Darf ein früherer Testzeitraum später in das Training eingehen?

Ja, wenn er bereits abgeschlossen ist, seine Informationen verfügbar sind und das vorab festgelegte Protokoll dies erlaubt. Er darf jedoch weder die Auswahl noch das für diesen Zeitraum aufgezeichnete Ergebnis rückwirkend verändern.

02Beseitigt Walk-forward Analysis eine Überanpassung?

Nicht automatisch. Fensterlängen, Kandidaten oder das gesamte Verfahren lassen sich weiterhin wiederholt anhand derselben Ergebnisse auswählen. Die Versuchshistorie muss offengelegt, Informationsabfluss kontrolliert und zwischen Entwicklung und weiterer Überprüfung unterschieden werden.

DOC · 001QuantConnect — Walk Forward OptimizationDokumentation DOC · 002QuantConnect — Optimization ParametersDokumentation DOC · 003scikit-learn — TimeSeriesSplitDokumentation DOC · 004scikit-learn — Common Pitfalls: Data LeakageDokumentation DOC · 005QuantConnect — Trade Fills: Key ConceptsDokumentation DOC · 006Bailey et al. — The Probability of Backtest OverfittingPrimärquelle DOC · 007NFA — Use of Promotional Material Containing Hypothetical Performance ResultsDokumentation
Überarbeitet: Quellenbasiert · Keine Anlageberatung