Auf dieser Seite
Man hat einen Backtest laufen lassen. Die Equity-Kurve geht nach oben rechts. Trefferquote 68%, Profitfaktor 2.3, Sharpe 1.9. Man stellt das Kapital bereit, schaltet den Bot live — und ist innerhalb von zwei Wochen 14% im Minus, ohne erklären zu können, warum. Willkommen bei der teuersten Lektion im Retail-Quant-Trading: Ein einzelner In-Sample-Backtest ist fast immer overfittet, und man hat keine Möglichkeit zu wissen, um wie viel.
Walk-Forward-Optimierung (WFO) ist die Methode, mit der professionelle Quants aufhören, sich selbst zu belügen. Die Idee ist älter als der algorithmische Handel selbst — die Daten in Abschnitte teilen, auf der Vergangenheit tunen, auf einer noch ungesehenen Zukunft testen, dann weiterrollen und das Ganze wiederholen.
Was Walk-Forward tatsächlich ist
Ein Walk-Forward-Lauf macht drei Dinge in einer Schleife: ein Fenster historischer Daten wählen (das In-Sample-Fenster), die Parameter der Strategie nach dem besten Zielwert durchsuchen (Sharpe, CAGR, was auch immer), dann diese eingefrorenen Parameter auf dem nächsten Datenabschnitt auswerten (dem Out-of-Sample-Fenster). Die Fenster nach vorn schieben und wiederholen, bis die gesamte Historie abgedeckt ist.
Was am Ende herauskommt, ist nicht eine Equity-Kurve, sondern eine Kette zusammengenähter Out-of-Sample-Kurven. Jeder Dollar P&L auf dieser Kette wurde auf Daten verdient, die der Optimizer nie gesehen hat. Sieht die Kette aus wie die In-Sample-Kurve, hat man eine echte Strategie. Fällt sie auseinander, hat man einen Curve-Fit.

Anchored vs. rollierende Fenster
Es gibt zwei Varianten. Anchored Walk-Forward hält den Anfang des In-Sample-Fensters fest und lässt es wachsen, während der Test nach vorn wandert — jede Iteration sieht mehr Historie. Rollierendes Walk-Forward hält das In-Sample-Fenster gleich lang und verschiebt beide Enden. Anchored ist der richtige Standard für sich langsam verändernde Märkte; rollierend ist der richtige Standard, wenn man einen Regimewechsel vermutet.
Die meisten Retail-Tools, einschließlich des TradingView-Strategy-Testers, machen keines von beidem. Sie führen eine Optimierung aus, melden die besten Parameter und hören auf. Die Zahlen auf dem Bildschirm sind die Obergrenze dessen, was die Strategie auf der Vergangenheit leisten kann. Die Untergrenze — was sie auf der Zukunft leisten wird — bleibt unsichtbar.
Ein konkretes Beispiel
Angenommen, man testet einen EMA-Crossover auf 4h BTC/USDT von Januar 2022 bis Dezember 2025. Ein naiver Backtest optimiert das schnelle/langsame EMA-Paar über alle vier Jahre und meldet Sharpe 1.8. Ein Walk-Forward-Lauf mit einem Zeitplan von 12 Monaten In-Sample / 3 Monaten Out-of-Sample sähe so aus:
# Iteration In-sample window Out-of-sample window
1 2022-01 → 2022-12 2023-01 → 2023-03
2 2022-04 → 2023-03 2023-04 → 2023-06
3 2022-07 → 2023-06 2023-07 → 2023-09
4 2022-10 → 2023-09 2023-10 → 2023-12
... continue rolling forward ...
16 2024-10 → 2025-09 2025-10 → 2025-12
Concatenate the 16 out-of-sample returns -> realistic equity curve.Liefert die zusammengesetzte Kurve Sharpe 0.6, ist das die ehrliche Erwartung. Die 1.8 war Selektionsbias, verkleidet als Performance.
Was trotzdem schiefgehen kann
Walk-Forward ist keine Magie. Drei Fehlermodi sind verbreitet. Erstens: Wer die Parametersuche per Walk-Forward prüft, aber nicht die Strategiestruktur, betreibt weiterhin Curve-Fitting auf höherer Ebene — schon die Wahl des Indikatorsets ist eine Optimierung. Zweitens: Sind die Out-of-Sample-Fenster winzig (etwa zwei Wochen), sampelt man nur Rauschen. Drittens: Wer auf die Out-of-Sample-Ergebnisse schielt, um zu entscheiden, ob die Strategie behalten wird, hat sie kontaminiert — sie sind nun Teil des Entscheidungsprozesses und haben ihren prognostischen Wert verloren.
Ein Regelset-Snippet
Auf Noon Barbari nimmt der Walk-Forward-Optimizer dasselbe YAML-Regelset, das man auch backtesten würde. Ein Minimalbeispiel für einen EMA-Cross mit zwei zu durchsuchenden Parametern:
strategy:
name: ema_cross
indicators:
- id: fast
kind: EMA
period: { sweep: [10, 14, 21, 34, 55] }
- id: slow
kind: EMA
period: { sweep: [50, 100, 200] }
rules:
entry: { type: cross_above, left: fast, right: slow }
exit: { type: cross_below, left: fast, right: slow }
risk:
size_pct: 0.5
stop_loss_atr: 2.5
walk_forward:
in_sample_months: 12
out_of_sample_months: 3
mode: rollingWer diese Datei durch den Walk-Forward-Optimizer schickt, erhält einen Bericht pro Fenster plus die zusammengenähte Out-of-Sample-Kurve. Die Walk-Forward-Dokumentation behandelt das vollständige Schema und die Zielfunktionen, die der Optimizer unterstützt.
Wie viel Degradation ist normal?
Die Branchenforschung stellt konsistent fest, dass die Out-of-Sample-Performance über Assetklassen hinweg im Schnitt 30-60% der In-Sample-Performance beträgt. Überlebt eine Strategie das Walk-Forward mit einer Sharpe Ratio von rund der Hälfte dessen, was die In-Sample-Optimierung versprach, ist das gesund. Überlebt sie mit 90% des In-Sample-Werts, ist Misstrauen angebracht — vermutlich wurden zu wenige Parameterkombinationen getestet, um den Parameterraum wirklich zu erkunden.
Nächste Schritte
Mit dem Getting-Started-Guide das erste Regelset bauen, dann die Backtesting-Doku auf einen beliebigen historischen Zeitraum richten, um eine Plausibilitätskurve zu erhalten. Sobald die Struktur passt, Walk-Forward einschalten und zusehen, wie die Sharpe Ratio fällt. Dieser Abfall ist die Wahrheit.
Probier es mit deinen eigenen Daten
Jedes Konzept oben ist in der Plattform umgesetzt. Backtesten, Walk-Forward, Paper-Trade, dann live schalten — gleiches Regelwerk in jeder Phase.