Skip to content
Alle Leitfäden zu Optionen und Futures
Validierung von Zeitreihenmodellen12 Min. Lesezeit

Purged Cross-Validation und Embargo: Label-Leakage in Trading-Modellen vermeiden

Erfahren Sie, wie Purging und Embargo überlappende Forward-Labels in Finanzzeitreihen behandeln und wie sie sich von Walk-Forward-Validierung und CPCV unterscheiden.

In diesem LeitfadenWarum zufällige K-Folds bei Finanzdaten irreführen können

Kurze Zusammenfassung

Purged Cross-Validation entfernt Trainingsbeobachtungen, deren tatsächliche Label-Zeiträume die Label-Zeiträume eines Testblocks überschneiden. Ein Embargo ist ein separat festgelegter Puffer vor späteren Trainingsbeobachtungen, wenn ein Split auch Daten nach dem Testblock zum Trainieren verwendet. Beides beantwortet eine andere Frage als eine chronologische Simulation des späteren Einsatzes.

Warum zufällige K-Folds bei Finanzdaten irreführen können

K-Fold teilt Beobachtungen in Folds auf und verwendet abwechselnd einen Fold zum Testen. Bei Finanzzeitreihen können zufällige Folds jedoch abhängige Beobachtungen und sich überschneidende Forward-Labels auf Trainings- und Testseite verteilen. Das Modell erhält dann indirekt Informationen über Ergebnisse, die mit dem Testzeitraum überlappen, und die gemessene Güte kann zu optimistisch wirken.

Das macht K-Fold nicht für jeden Datensatz grundsätzlich falsch. Wenn Beobachtungen hinreichend unabhängig sind und keine zeitlich überlappenden Ziele erzeugen, kann es für eine passende Fragestellung sinnvoll sein. Entscheidend ist, wie Merkmale und Labels entstehen und welche zukünftige Nutzung die Validierung abbilden soll. López de Prado behandelt diese Probleme und Purging in Kapitel 7 von *Advances in Financial Machine Learning*.

Für jede Beobachtung den Informations- und Labelzeitraum festlegen

Für jede Stichprobe sei t der Entscheidungszeitpunkt. Dokumentieren Sie, welche Informationen zu diesem Zeitpunkt tatsächlich verfügbar waren, welches vergangene Fenster die Merkmale verwenden und wann das Ziel aufgelöst wird. Ein Label für die Rendite der nächsten fünf Handelssitzungen umfasst hier (t, t+5]; t1 bezeichnet seinen tatsächlichen Auflösungszeitpunkt.

Gemeinsam genutzte vergangene Merkmalsdaten sind allein noch kein Leakage: Zwei Vorhersagen dürfen dieselben historischen Preise verwenden, wenn diese Preise bei beiden Entscheidungen bekannt waren. Leakage entsteht etwa, wenn ein Merkmal nachträglich berechnet wird, künftige Werte enthält oder falsch zeitgestempelt ist. Merkmalsbildung muss strikt auf den Informationsstand zum jeweiligen Vorhersagezeitpunkt begrenzt bleiben.

Überlappende Labelintervalle aus dem Training entfernen

Purging entfernt eine Trainingsstichprobe, wenn ihr tatsächliches Ergebnisintervall das Ergebnisintervall einer Teststichprobe überschneidet. Prüfen Sie dafür Beginn und Ende des jeweiligen Ereignis-Labels. Bei variablen Ereignisdauern sind die tatsächlichen Zeitstempel maßgeblich, nicht eine bequeme feste Zahl von Zeilen.

Purging macht einen Split nicht automatisch chronologisch. Ein purged K-Fold kann weiterhin Beobachtungen nach dem Testblock zum Trainieren heranziehen. Das kann für bestimmte Robustheitsfragen nützlich sein, schätzt aber eine andere Situation als „nur Vergangenheit trainiert, danach Zukunft getestet“. Die Zeitrichtung muss separat aus dem Split-Design hervorgehen.

Ein Embargo als eigenen Puffer begründen

Ein Embargo ist ein separat definierter Zeitraum nach einem Testblock, bevor spätere Beobachtungen in einem Split mit nachfolgendem Training als Trainingsdaten zugelassen werden. Es kann verbleibende Abhängigkeit aus Ereignis- oder Merkmalskonstruktion reduzieren. Es ersetzt keine Prüfung der tatsächlichen Labelintervalle und ist weder ein universeller Prozentsatz noch eine allgemeingültige Dauer.

Begründen Sie die Länge anhand der Abtastfrequenz, des Labelhorizonts, der Merkmalsfenster und der beobachteten Abhängigkeit. Legen Sie die Regel vor dem Ergebnisvergleich fest und dokumentieren Sie sie. Wenn es keine späteren Trainingsbeobachtungen gibt, wie in einem strikt vorwärts gerichteten Split, ist genau dieser Anwendungsfall des Embargos nicht gegeben.

Ein Tagesbeispiel mit fünf Sitzungstagen

Angenommen, Entscheidungen fallen täglich und jedes Label misst die Rendite über (t, t+5]. Ein Testblock mit Entscheidungsdaten 11 bis 15 enthält damit Labelzeiträume bis einschließlich Tag 20. Die Grenzen sind hier als Sitzungstage und nach derselben Intervallkonvention definiert.

Ein Trainingslabel (7,12] überschneidet den Testzeitraum, weil es mit dem Testlabel für Entscheidungstag 11 gemeinsame Tage hat. Auch (16,21] überschneidet ihn: Das Testlabel für Tag 15 reicht bis Tag 20. Beide Trainingsstichproben werden purged. Ein späteres Label ohne Intervallüberschneidung kann dennoch außerhalb einer separat gewählten Embargo-Zone liegen. Aus diesem Beispiel folgt keine universelle Lückenlänge.

Zeitstrahl mit entferntem überlappendem Trainingslabel und separatem Embargoabstand
Purging entfernt überlappende Labelintervalle; ein separat begründeter Embargopuffer schließt weitere Beobachtungen aus.

Random K-Fold, Walk-Forward, gap, Purged K-Fold und CPCV unterscheiden

Random K-Fold kann Beobachtungen aus verschiedenen Zeitabschnitten mischen. Walk-Forward- oder Rolling-Origin-Validierung trainiert dagegen auf früheren Daten und testet auf einem späteren Block; sie bildet einen historischen Einsatzablauf meist direkter ab. Die offizielle scikit-learn-Dokumentation zu TimeSeriesSplit beschreibt chronologische Splits und verlangt gleichmäßig verteilte Beobachtungen, wenn Testfolds vergleichbare Zeitdauern haben sollen.

TimeSeriesSplit(gap=...) lässt eine feste Anzahl von Beobachtungszeilen vor dem Test aus. gap ist kein Purger für variable Ereignisintervalle; eine Zeilenanzahl entspricht nur bei geeigneter, typischerweise gleichmäßiger Abtastung einer nachvollziehbaren Zeitlücke. Purged K-Fold und Combinatorial Purged Cross-Validation (CPCV) bilden mehrere Testkombinationen beziehungsweise Testpfade, können aber auch nach einem Testblock liegende Trainingsdaten enthalten. Sie beantworten deshalb nicht automatisch dieselbe Frage wie eine historische Walk-Forward-Simulation.

López de Prados Kapitel 12 zu Backtesting behandelt Walk-Forward-Verfahren und CPCV ergänzend.

Weitere Leckagequellen bleiben bestehen

Korrektes Purging verhindert weder Lookahead in falsch zeitgestempelten Merkmalen noch Survivorship Bias oder nachträglich revidierte Daten. Auch globale Standardisierung, Merkmalsauswahl oder Imputation vor der Aufteilung kann Testinformationen ins Training übertragen. Passen Sie Vorverarbeitung und Auswahl innerhalb jedes Trainingsfolds an.

Viele ausprobierte Modelle erhöhen zudem das Risiko, zufällig einen Backtest-Sieger zu finden. López de Prado behandelt für die Auswahl zeitbewusste Verfahren; Bailey und Mitautoren erläutern in ihrer Arbeit zur Probability of Backtest Overfitting die Gefahr mehrfacher Strategieversuche. Nutzen Sie verschachtelte zeitbewusste Validierung für die Auswahl und halten Sie einen unangetasteten chronologischen Schlusszeitraum zurück. Realistische Kosten und Fills müssen ebenfalls modelliert werden. Kein CV-Verfahren garantiert künftige Performance.

Ergebnisse und Unsicherheit nachvollziehbar berichten

Berichten Sie Stichprobenlänge, Zeitfrequenz, Labelhorizonte, Feature-Verfügbarkeit, Split-Regel, entfernte Beobachtungen und Embargo-Begründung. Zeigen Sie, ob spätere Trainingszeilen erlaubt waren und welche Frage das Verfahren beantworten soll. Eine einzige aggregierte Kennzahl kann starke Unterschiede zwischen Zeiträumen oder Testpfaden verdecken.

Vergleichen Sie Modelle mit denselben Zeitgrenzen, Labels, Kostenannahmen und Auswahlregeln. Berücksichtigen Sie die Unsicherheit der Kennzahl und die Zahl der getesteten Varianten; kleine Unterschiede sind bei kurzen Datenreihen oft wenig belastbar. Weiterführend: Bias-Varianz-Abwägung und Overfitting, Multiple Testing und False-Discovery-Rate sowie Sharpe Ratio bei serieller Korrelation.

Eine Validierung vor dem Backtest festlegen

Erfassen Sie pro Stichprobe Entscheidungszeit t, verfügbare Daten, Feature-Fenster und tatsächliche Labelgrenzen bis t1. Wählen Sie dann eine Aufteilung, die zur Einsatzfrage passt, und entfernen Sie mit Purging jedes Trainingslabel, das ein Testlabelintervall schneidet. Legen Sie ein Embargo nur für den passenden Split-Fall separat fest.

Prüfen Sie anschließend die Vorverarbeitung innerhalb der Folds, dokumentieren Sie Modellversuche und Gebührenannahmen und reservieren Sie einen unangetasteten chronologischen Holdout. Diese Schritte machen den Backtest nachvollziehbarer; sie machen vergangene Daten nicht zu einer Garantie für zukünftige Ergebnisse. Dieser Leitfaden erklärt Validierungsmechanik, nicht die Auswahl einer Anlage oder Handelsstrategie.

Häufige Fragen

Q1Ist zufälliges K-Fold für Finanzzeitreihen immer falsch?

Nein. Es kann für eine Fragestellung mit hinreichend unabhängigen Beobachtungen und nicht überlappenden Labels passen. Bei abhängigen Zeitreihen oder Forward-Labels muss die Split-Regel jedoch die zeitliche Struktur berücksichtigen.

Q2Macht ein Embargo Purging überflüssig?

Nein. Purging prüft tatsächliche Überschneidungen der Labelintervalle. Ein Embargo ist ein zusätzlicher Puffer für bestimmte Splits mit späteren Trainingsbeobachtungen. Beide Regeln brauchen eine dokumentierte Begründung.

Q3Ist CPCV ein Ersatz für Walk-Forward-Tests?

Nicht automatisch. CPCV erzeugt mehrere Testkombinationen und Pfade, kann aber Trainingsdaten nach einem Testblock einsetzen. Für die Simulation eines historischen Einsatzes ist eine chronologische, nur aus der Vergangenheit trainierende Prüfung weiterhin eine eigene Fragestellung.

Quellen und weiterführende Lektüre

Problem melden

Wir bereiten eine E-Mail mit dem Link zu diesem Artikel vor. Mark erhält den Hinweis erst nach dem Senden

Schnelltest

Fertig gelesen? Prüfe dich mit 3 Fragen

Frage 1 / 3

Frage 01

Welche Trainingsbeobachtung sollte beim Purging entfernt werden?

Wähle eine Antwort, um die Erklärung zu sehen

Optionsglossar

Warum ein Modell die Vergangenheit erklären und in der nächsten Periode scheitern kannBias-Varianz-Trade-off und Overfitting bei FinanzmodellenVerstehen Sie Vorhersage-Bias, Schätzvarianz, nicht reduzierbares Rauschen, Modellkomplexität, Zeitreihenvalidierung, Data Snooping, Backtest-Overfitting und Governance für FinanzmodelleWarum ein einzelner Schwellenwert scheitert, wenn Forschende viele Ideen testenMehrfachtests und False Discovery Rate im FinanzwesenVerstehen Sie multiple Vergleiche, familienweite Fehlerrate, False Discovery Rate, Bonferroni, Holm, Benjamini–Hochberg, Abhängigkeit, q-Werte, Faktormining, Backtest-Auswahl und Forschungs-GovernanceRendite im richtigen ZeitmaßstabSharpe Ratio annualisieren: Warum √12 bei Autokorrelation irreführen kannErfahren Sie, wann die Annualisierung einer monatlichen Sharpe Ratio mit √12 gilt, wie serielle Korrelation sie verändert und was eine belastbare Auswertung berichten sollteModellunsicherheitModellrisiko und Kalibrierung bei Optionen erklärtErfahre, woher Modellrisiko bei Optionen kommt, was eine Kalibrierung tatsächlich beweist, warum Parameter instabil sein können und wie Preise und Greeks validiert werdenVergleichen Sie zwei Prognosen anhand ihrer Verluste bei denselben ErgebnissenDiebold–Mariano-Test erklärt: Prognosegenauigkeit vergleichenErfahren Sie, was der Diebold–Mariano-Test vergleicht, wie Verlustdifferenzen und serielle Korrelation in die Statistik eingehen und warum Prognosegenauigkeit kein Handelsgewinn ist.