Eine Walk-Forward-Analyse wählt Parameter aus zulässigen früheren Daten und bewertet sie danach eingefroren auf einem späteren Abschnitt. Das Verfahren umfasst auch Kalender, Auswahlregel und Zustandsübergänge. Lege diese vor den Bewertungsergebnissen fest. Andernfalls kann selbst ein als Out-of-Sample bezeichnetes Ergebnis die Gestaltung des Tests rückwirkend beeinflussen.

Aktualisierungsregel zuerst definieren

Bestimme Trainingslänge, Prüflänge, Aktualisierungsintervall, Kandidaten, Kriterium, Gleichstandsauflösung und Verhalten, wenn kein Kandidat qualifiziert ist. Maximaler Gewinn ist ein gewähltes Kriterium, keine neutrale Vorgabe. Kosten, Exposition und Anzahl müssen konsistent sein. Speichere sämtliche Auswahlversuche, auch verworfene Regeln.

Viele Varianten können historische Zufälle auswählen. Eine Trefferquote über 75 % in zweihundert Trades oder Profit Factor über 3,5 diagnostiziert allein jedoch kein Curve-Fitting. Untersuche Datenverfügbarkeit, Kosten, Fillmodell und Auswahlhistorie. /de/praxis/python-forex-backtesting/ bietet dazu einzelne rekonstruierbare Gegenproben.

Jahresfenster richtig zählen

Unser hypothetischer Kalender trainiert auf 2018–2021 und bewertet 2022. Anschließend wird auf 2019–2022 trainiert und 2023 bewertet. In Daten von 2018 bis einschließlich 2023 liegen damit zwei vollständige Jahresbewertungen. Vier anfängliche Trainingsjahre plus fünf spätere Bewertungsjahre benötigen neun Jahre, nicht fünf.

Späteres Training darf einen früheren OOS-Block verwenden, wenn er dann tatsächlich historisch verfügbar ist; die ursprüngliche Chronologie wird dadurch nicht verändert. Überlappende Trainingsdaten und zeitnahe Marktperioden machen Fenster aber nicht statistisch unabhängig. Füge OOS-Trades chronologisch zusammen, untersuche Unsicherheit und reserviere eine letzte unberührte Bewertung, falls frühere Ergebnisse Designentscheidungen beeinflusst haben.

Rolling, expanding und vollständiger Labelhorizont

Rolling hält die Trainingslänge fest und entfernt alte Daten: im Beispiel 2018–2021, 2019–2022, 2020–2023. Anchored beziehungsweise expanding behält den Anfang und erweitert das Ende: 2018–2021, 2018–2022, 2018–2023. Weniger Gedächtnis entfernt ältere Bedingungen, verkleinert aber die Stichprobe. Mehr Gedächtnis erhält zusätzliche, möglicherweise andersartige Marktbeobachtungen. Keine Variante garantiert schnellere Anpassung oder stabile Parameter; Tradingstil allein bestimmt sie nicht.

Lerne Normalisierung, Merkmalsauswahl und Imputation ausschließlich aus erlaubten Trainingsdaten. Ein Sampleindex vor dem Test garantiert keine bekannte Zielvariable. Prüfe sämtliche Kurse und Veröffentlichungen, die zur Labelbildung erforderlich sind. TimeSeriesSplit entfernt mit gap Samples am Trainingsende; es erkennt nicht jede Leakagequelle. Gleichmäßige Abstände helfen vergleichbaren Foldlängen, während unregelmäßige Ereignisse einen eigenen Kalendercheck benötigen.

Unser genau festgelegtes Modell bildet das Label von Sample t aus abgeschlossenen Kursen t+1 und t+2. Der erste Testzeitraum ist 10; Training erfolgt nach Schluss 9 und vor Beginn 10. Gap eins lässt Sample 8 als letztes Training erhalten. Sein Label benötigt Schluss 9 und 10, also noch Zukunftsinformation. Gap zwei lässt Sample 7 erhalten; sein Label endet bei Schluss 9 und ist unter diesen Annahmen bekannt.

Gap kann zu kurz für das Label seinRegelmäßige Perioden, Sample t benötigt komplette Schlüsse t+1/t+2; Fit nach Schluss 9, erster Testzeitraum 10.RECHEN- UND LERNBEISPIELGap 1Letztes Trainingssample8Gap 2Letztes Trainingssample7Neue LabeldefinitionHorizont erneut prüfen
Gap kann zu kurz für das Label sein. Regelmäßige Perioden, Sample t benötigt komplette Schlüsse t+1/t+2; Fit nach Schluss 9, erster Testzeitraum 10.

Verfügbarkeit des gesamten Labels prüfen; Gap zwei ist nur hier passend.

Gap 1
Letztes Trainingssample 8 – Label benötigt Schluss 10: vor Fit unbekannt
Gap 2
Letztes Trainingssample 7 – Label endet mit Schluss 9: im Modell bekannt
Neue Labeldefinition
Horizont erneut prüfen – Keine universelle Gapregel

Die richtige Prüfung betrifft den letzten für jedes Label benötigten Zeitpunkt. Ändert sich Horizont oder Konstruktion, wiederholst du sie. Ein Gap von zwei ist nur in dieser regelmäßigen Beispieldefinition passend, keine allgemeine Regel für Handelsdaten.

WFE und seine Grenzen

Unter der TradeStation-Konvention vergleichst du konsistent annualisierten OOS-Ertrag mit annualisiertem IS-Ertrag. Gleiche Kosten-, Expositions- und Renditedefinitionen sind nötig. Zehn Prozent geteilt durch zwanzig Prozent ergeben WFE 0,5 beziehungsweise 50 %. Null im Nenner macht das Verhältnis undefiniert. −5 % geteilt durch −10 % ergeben ebenfalls 0,5, obwohl beide verlieren.

Die dort genannte 50-Prozent-Regel ist eine Faustregel, kein universelles Kapitalfreigabekriterium. Auch ein Quotient über eins beweist nicht allein Zukunftsinformation. Betrachte Nettoresultate, Drawdown, Abdeckung, Konzentration und Sensitivität separat. Ein Parameterwechsel oder niedriger Quotient kann Fragen aufwerfen, ohne die Ursache bereits zu erklären.

Eine vorab definierte Auswahl bewerten

In zwei unabhängigen hypothetischen Renditemodellen ergeben 12 % OOS gegenüber 30 % IS WFE 0,4, und 20 % gegenüber 25 % WFE 0,8. Das entscheidet nicht, welche Methode einen dauerhaften Vorteil besitzt. Auch die Kalenderfrage ist davon getrennt: Der genannte Sechsjahresbestand bietet nur zwei vollständige Vier-plus-eins-Schritte.

Unser Gleichstandsmodell hat Kandidaten A und B, die in jedem von zwei Kalibrierungsschritten gleichauf liegen. Die vorher festgelegte Regel wählt A. Spätere OOS-Nettoergebnisse sind für A +5 und −2, für B −1 und +6 feste Geldeinheiten ohne Verzinsung. Die echte vorab gewählte Regel liefert +3. Nach jedem Resultat den Gewinner herauszupicken liefert +11; B nach Sichtung seiner gesamten Historie auszuwählen liefert +5. Das sind drei verschiedene Experimente.

Gleichstandsregel und nachträgliche AuswahlA und B kalibrieren gleichauf; vor Test wird A gewählt. Zwei feste Netto-Geldeinheiten ohne Verzinsung.RECHEN- UND LERNBEISPIELA vorab+5 −2 = +3B gesamte Historie−1 +6 = +5Jeden OOS-Gewinner wählen+5 +6 = +11
Gleichstandsregel und nachträgliche Auswahl. A und B kalibrieren gleichauf; vor Test wird A gewählt. Zwei feste Netto-Geldeinheiten ohne Verzinsung.

Vorabregel +3, Einzelgewinner +11 und nachträglich gewähltes B +5 sind verschiedene Experimente.

A vorab
+5 −2 = +3 – Tatsächlich festgelegte Aktualisierungsregel
B gesamte Historie
−1 +6 = +5 – Nach Ergebnissichtung ausgewählt
Jeden OOS-Gewinner wählen
+5 +6 = +11 – Benutzt die zu bewertenden Ergebnisse zur Auswahl

Speichere den gesamten Gleichstand und die gewählte Kennung vor Bewertung. Eine erst danach erfundene Auswahlregel erhält eine neue Version und spätere Prüfung. In einer EUR-Auswertung könnten die genannten Einheiten EUR sein; sie sind hier keine tatsächlichen Kurs- oder Kontodaten.

Grenzübergänge und gemeinsame Equity erhalten

Bestimme, was bei Aktualisierung mit offenen Positionen geschieht: Schließung mit Kosten oder weitergeführte Verwaltung nach klarer Regel. Offene Verluste werden nicht gelöscht und Balance nicht an jeder Grenze frisch begonnen. Verbinde Bewertungsresultate zeitlich, ohne Kalibrierungsgewinne, und löse überlappende Testexposition auf statt sie doppelt zu zählen.

Berechne Gesamt-Drawdown aus der verbundenen Equityreihe; Durchschnitt der Fensterdrawdowns ist etwas anderes. Behalte Nulltradeperioden und Konzentration auf einzelne Blöcke. Vergleiche das Verfahren mit einer vorab gewählten nicht aktualisierten Basis auf denselben Daten, Kosten und Größen.

Historischer Hold-out, spätere Demo-Beobachtung und Monte Carlo stellen unterschiedliche Fragen. Permutation erhält Eingangsresultate und verändert deren Reihenfolge, aber modelliert nicht jede künftige Kosten- oder Marktphase. MT5s Forward-Modus nutzt einen späteren Teil der historischen Teststrecke, nicht automatisch mehrere Walk-Forward-Fenster oder eine zukünftige Demophase. Kein fester Quotient, Zeitraum oder Simulationsquantil garantiert Liveprofitabilität.

Drei nächste Prüfungen für deinen Testplan

  1. Zeichne den vorhandenen Kalender. Trage Beginn und Ende erlaubter Trainings- und Bewertungsblöcke ein und zähle nur vollständige Paare. Markiere Überschneidungen und fehlende Jahre; halte als Ergebnis fest, wie viele Bewertungen dein Datensatz tatsächlich ermöglicht.
  2. Prüfe einen Labelhorizont von Hand. Schreibe für die letzten Trainingssamples alle benötigten zukünftigen Schlusspunkte auf und vergleiche sie mit dem Trainingszeitpunkt. Dokumentiere unbekannte Informationen und den dadurch erforderlichen Ausschluss, statt eine universelle Gapzahl zu übernehmen.
  3. Fixiere Auswahl und Übergabe schriftlich. Benenne Kandidaten, Kriterium, Gleichstandsregel und offene Positionsbehandlung vor der nächsten Bewertung. Speichere die Version und unberührte Blöcke; dein Ergebnis ist ein reproduzierbarer Testplan, keine automatisch abgeleitete Livefreigabe.