← Alle Insights

Walk-Forward in der Praxis: so testen Sie Strategien ehrlich.

Walk-Forward-Analyse trennt funktionierende Strategien von gefitteten Illusionen. Sie ist mühsamer als klassische Optimierung — aber die einzige Methode, die ich Mandanten ohne schlechtes Gewissen empfehlen kann.

Wenn jemand eine Strategie optimiert, sieht das oft so aus: „Ich teste 1000 Parameter­kombinationen auf den letzten 5 Jahren, nehme die beste und gehe damit live." Das Problem: die „beste" Kombination auf historischen Daten ist mit hoher Wahrscheinlichkeit die, die am besten auf das historische Rauschen passt — nicht die mit dem stabilsten Edge.

Was Walk-Forward macht.

Walk-Forward simuliert, was Sie in der Realität tun würden: Sie optimieren auf bekannten Daten, handeln dann auf unbekannten Daten, sehen wie es lief, und optimieren bei Bedarf neu.

Konkret teilen Sie Ihre Historie in zwei rotierende Fenster:

Nach jedem OOS-Fenster rückt das gesamte Zwei-Fenster-System um die OOS-Länge vorwärts. Am Ende haben Sie eine kontinuierliche OOS-Equity-Kurve, die aus mehreren unabhängigen Out-of-Sample-Phasen zusammengesetzt ist.

Die Walk-Forward-Effizienz (WFE).

Der wichtigste Metric, der aus Walk-Forward kommt:

WFE = OOS-Return / IS-Return

WFE = 1.0   →  OOS so gut wie IS (sehr selten)
WFE = 0.7   →  OOS = 70 % des IS-Returns (gutes Signal)
WFE = 0.3   →  starkes Overfitting (Strategie nicht live-tauglich)
WFE < 0     →  OOS verliert Geld (klar tot)

Eine WFE über 0,5 ist ein realistisches Ziel. Was Sie aus Werbungen kennen — „Sharpe 3, Drawdown 5 %" — hat fast immer eine WFE deutlich unter 0,3, was bedeutet: 70 % der Performance verschwindet live.

Wie Sie es konkret aufsetzen.

In MetaTrader 5

MT5 hat Walk-Forward eingebaut, aber etwas versteckt. Im Strategy Tester:

  1. Strategy-Tester öffnen, Symbol + Zeitraum festlegen
  2. Bei „Optimierung": Genetic Algorithm auswählen
  3. Im Reiter „Forward" wählen Sie 1/2 (= 2/3 für IS, 1/3 für OOS)
  4. Optimieren laufen lassen
  5. Im Reiter „Optimierungsgraph" sehen Sie pro Parameter­kombination IS- und OOS-Performance getrennt

Das ist allerdings noch nicht echtes rolling Walk-Forward — es ist eine einfache IS/OOS-Splittung. Für echtes rollendes WF müssen Sie mehrere Test-Läufe mit verschobenen Fenstern manuell aufsetzen und die Ergebnisse zusammenführen.

In Python

Mit dem vectorbt-Framework oder mit eigenem Code:

# Vereinfachtes Walk-Forward in Python
import pandas as pd
from itertools import product

def walk_forward(prices, strategy_fn, param_grid,
                 is_months=24, oos_months=6):
    results = []
    start = prices.index[0]
    end = prices.index[-1]
    current = start

    while current + pd.DateOffset(months=is_months + oos_months) <= end:
        is_data  = prices[current : current + pd.DateOffset(months=is_months)]
        oos_data = prices[current + pd.DateOffset(months=is_months)
                          : current + pd.DateOffset(months=is_months + oos_months)]

        # Optimize on IS
        best_params, best_is_ret = None, -float('inf')
        for params in product(*param_grid.values()):
            ret = strategy_fn(is_data, **dict(zip(param_grid, params)))
            if ret > best_is_ret:
                best_is_ret, best_params = ret, params

        # Test on OOS
        oos_ret = strategy_fn(oos_data, **dict(zip(param_grid, best_params)))

        results.append({
            'window_start': current,
            'is_return': best_is_ret,
            'oos_return': oos_ret,
            'params': best_params,
            'wfe': oos_ret / best_is_ret if best_is_ret != 0 else None,
        })
        current += pd.DateOffset(months=oos_months)

    return pd.DataFrame(results)

Was Sie an den Ergebnissen ablesen.

1. WFE-Stabilität über alle Fenster

Streuen die WFE-Werte stark (manche 0,9, andere -0,5)? Dann hat die Strategie keine stabile Edge — sie funktioniert nur in bestimmten Marktphasen. Das ist relevant, aber macht die Strategie nicht live-tauglich ohne Regime-Filter.

2. Parameter-Stabilität

Wenn die optimalen Parameter über die Fenster wild springen (Fenster 1: lookback=14, Fenster 2: lookback=43, Fenster 3: lookback=8), ist das ein klares Zeichen: die Strategie fittet Rauschen, kein echtes Pattern.

3. OOS-Equity-Kurve

Ist die zusammengesetzte OOS-Equity stetig steigend oder seitwärts mit kleinen Drawdowns? Dann haben Sie eine echte Strategie. Springt sie hoch und runter, ist die Strategie instabil. Fällt sie kontinuierlich: das System verliert Geld nach Optimierung — das ist möglicherweise ein anti-edge, der auch interessant ist (umgekehrt handeln).

Häufige Fehler bei Walk-Forward.

Walk-Forward ist kein Selbstläufer.

Eine Strategie mit guter Walk-Forward-Performance kann live trotzdem versagen — wenn sich das Marktregime grundsätzlich ändert (Negativzins-Phase endet, neue Asset-Klassen entstehen, regulatorische Eingriffe). Walk-Forward beschränkt das Overfitting-Risiko, eliminiert es nicht.

Aber: ohne Walk-Forward fliegen Sie blind. Die meisten Strategien, die mir Mandanten zeigen, fallen bei meinem ersten Walk-Forward-Test durch. Das ist nicht traurig — das ist das, wofür der Test da ist.

Sie wollen wissen, ob Ihre Strategie ein ehrliches Walk-Forward übersteht? Erstgespräch buchen — wir setzen es gemeinsam auf.