Walk Forward Optimierung
<< Click to Display Table of Contents >> Walk Forward Optimierung |
Die Walk Forward Optimierung ist der Prozess, mit dem Sie die Inputparameter der Strategie auf einem historischen Segment von Marktdaten optimieren und die Strategie dann rechtzeitig auf Daten testen, die dem Optimierungssegment folgen, wobei Sie die optimierten Inputwerte verwenden. Die zentrale Idee ist, dass Sie Strategieleistungsdaten anhand der Testdaten auswerten und nicht anhand der Daten, die für die Optimierung verwendet werden. Dieser Prozess wird dann wiederholt, indem die Optimierungs- und Testsegmente zeitlich vorwärts bewegt werden. Um eine Walk Forward Optimierung durchzuführen, benötigen Sie:
•Zugriff auf historische Daten
•Benutzerdefiniertes NinjaScript *Strategie
•Ein gründliches Verständnis der Backtesting- und Optimierungsfunktionen des Handelssystemanalyse
Hinweis: Es gibt mehrere vordefinierte Beispielstrategien, die mit NinjaTrader installiert sind und die Sie ausprobieren können. |
Hinweis: Die Eigenschaft IncludeTradeHistoryInBacktest wird standardmäßig auf false gesetzt, wenn eine Strategie im Handelssystemanalyse zur Optimierung angewendet wird. Dies sorgt für eine schlankere Speichernutzung, jedoch auf Kosten der Möglichkeit, nicht auf Handelsobjekte für historische Trades zugreifen zu können. So haben Felder wie SystemPerformance.AllTrades.Count, die auf Referenzen auf Trade-Objekte angewiesen sind, keine solchen Referenzen, mit denen sie arbeiten können. Wenn Sie diese Objekte zur Referenz in Ihrem Code speichern möchten, können Sie IncludeTradeHistoryInBacktest im Status Configure auf true setzen. Weitere Informationen finden Sie auf der Seite Arbeiten mit historischen Handelsdaten. |
Wie man eine Walk Forward Optimierung durchführt
Starten Sie eine Walk-Forward-OptimierungUm eine Walk Forward Optimierung durchzuführen, wählen Sie im Einstellungsfenster der Handelssystemanalyse den Backtest Typ der "Walk Forward Optimierung".
i
Einstellen des TestbereichsSie können den Testbereich der zu testenden Strategieparameter durch Linksklick auf das Dreieck erweitern, um die Unterparameter der Strategien zu erweitern.
Hinweis: Wenn Sie das Dreieck nicht sehen, stellen Sie sicher, dass der Backtesttyp auf "Walk ForwardOptimization" eingestellt ist.
Min. - Der Startwert, den Sie testen möchten
Im obigen Bild hat der Input "Fast" einen Anfangswert von 10 und einen Endwert von 30 mit einer Schrittweite von 1. Das bedeutet, dass der erste getestete Wert 10, dann 11, dann 12 bis 30 ist. Der Input "Slow" hat einen Startwert von 6, einen Endwert von 16 und eine Schrittweite von 1. Basierend auf diesen Einstellungen werden insgesamt 200 (20 eindeutige Werte für "Fast" multipliziert mit 10 einzigartigen Werten für "Slow") Backtestiterationen verarbeitet, um die optimale Kombination von Eingabewerten basierend auf der besten Optimierungsfitness zu finden.
Einstellen der Optimierungs-FitnessDie Optimierung basiert auf der besten Optimierungseignung, die Sie auswählen. Wenn Sie die Eigenschaft "Optimieren auf..." auf "Max. Nettogewinn" setzen, sucht die Optimierung nach den optimalen Eingabewerten, die den maximal möglichen Gewinn liefern. Es gibt über 10 verschiedene Optimierungskriterien, die Sie auswählen können und die über NinjaScript angepasst werden können. Weitere Informationen finden Sie im Abschnitt "Verständnis der Eigenschaften von Walk Forward" weiter unten. |
Verstehen von Walk Forward Eigenschaften
Walk Forward EigenschaftenAbgesehen von den nachfolgend beschriebenen spezifischen Eigenschaften der Walk-Forward Optimierung sind die Eigenschaften identisch mit denen im Fenster Optimierungseigenschaften. Weitere Informationen finden Sie im Abschnitt "Verständnis der Optimierungseigenschaften" auf der Seite Strategie optimieren im Hilfeleitfaden.
|
Verständnis der Ergebnisse von Walk Forward
Verständnis der Ergebnisse von Walk Forward-TestsVom Startdatum bis zum Enddatum führt die Walk-Forward-Optimierung eine Standardoptimierung auf die Anzahl der Tage durch, die für den Parameter "Optimierungszeitraum (Tage)" festgelegt wurde. Dies wird als Testzeitraum "In Sample" bezeichnet. Nach der Optimierungsphase verwendet NinjaTrader die beste gefundene Parameterkombination und testet diese auf nicht optimierte Daten, die noch nicht gesehen wurden, für die Anzahl der Tage, die für den Parameter "Testzeitraum (Tage)" eingestellt wurden. Dies wird als "Out of sample"-Testzeitraum bezeichnet. Bitte sehen Sie die folgende Grafik, um besser zu verstehen, wie die Ergebnisse der Vorwärtsentwicklung gefunden werden. Die Ergebnisse für jeden "Testzeitraum" werden zurückgegeben und im Raster der Optimierungsergebnisse zusammen mit dem Startdatum, dem Enddatum und der besten Kombination aus dem Optimierungszeitraum angezeigt.
|