Level 3 KI im Trading · Teil 6/8
Kreuzvalidierung ohne Datenleck
Kreuzvalidierung ist das Standardwerkzeug, um zu prüfen, ob ein Modell verallgemeinert. An Finanzdaten liefert sie in ihrer üblichen Form systematisch zu gute Ergebnisse.
Warum k-fache Kreuzvalidierung leckt
Die übliche k-fache Kreuzvalidierung teilt die Daten zufällig in k Blöcke, trainiert auf k−1 und testet auf dem verbleibenden. Sie setzt Unabhängigkeit voraus.
Bei Kursdaten führt das zu zwei Lecks:
Über Labels. Ein Trainingsbeispiel kurz vor dem Testblock hat ein Label, das bis in den Testblock hineinreicht. Sein Ergebnis wird von denselben Kursbewegungen bestimmt wie die Testbeispiele. Das Modell hat einen Teil der Antwort schon gesehen.
Über Autokorrelation. Kurse benachbarter Zeitpunkte sind ähnlich. Ein Modell, das den Kurs vom Montag und vom Mittwoch kennt, kann den Dienstag beinahe raten, ohne irgendetwas Ökonomisches gelernt zu haben.
Das Ergebnis ist immer dasselbe: eine hervorragende Validierungsgüte und ein enttäuschender Live-Betrieb.
Purging und Embargo
Purging entfernt aus dem Training alle Beispiele, deren Label-Fenster sich mit dem Testfenster überschneidet. Damit endet das Leck über die Labels.
Embargo sperrt zusätzlich eine kurze Zeitspanne direkt nach dem Testfenster. Grund ist die Autokorrelation: Beispiele unmittelbar nach dem Test enthalten noch Information über dessen Ende, auch wenn ihre Label-Fenster sich nicht formal überschneiden. Übliche Größenordnung sind ein bis fünf Prozent der Datenlänge.
Beides zusammen kostet Trainingsdaten – bei zehn Blöcken schnell einen mittleren einstelligen Prozentsatz. Dieser Verlust ist der Preis dafür, dass die Kennzahl überhaupt etwas bedeutet.
Warum ein einzelner Testzeitraum zu wenig ist
Auch mit Purging bleibt ein Problem: Ein einzelner Aufteilungspfad liefert genau eine Kennzahl. Ob sie stabil ist oder von einer glücklichen Trennstelle abhängt, ist daran nicht zu erkennen.
Die kombinatorische, gepurgte Kreuzvalidierung setzt hier an: Statt eines Testblocks werden mehrere Blöcke in verschiedenen Kombinationen als Test verwendet. Daraus entstehen viele unterschiedliche Trainings-/Testpfade und damit eine Verteilung von Ergebnissen statt einer Zahl.
Der Nutzen ist derselbe wie beim Monte-Carlo-Rechner für Portfolios: Man sieht die Bandbreite dessen, was bei gleicher Datengrundlage ebenfalls hätte herauskommen können. Eine Strategie, deren Sharpe Ratio je nach Aufteilung zwischen 0,2 und 1,8 schwankt, ist etwas anderes als eine mit stabilen 0,9 – auch wenn beide im Mittel gleich aussehen.
Was bleibt
Selbst ein sauber gepurgtes Verfahren beantwortet nur die Frage, ob das Modell auf diesen Daten verallgemeinert. Es beantwortet nicht, ob der gefundene Zusammenhang morgen noch existiert, und es korrigiert nicht die Zahl der ausprobierten Varianten.
Genau diese zweite Frage ist der letzte und größte Fehler – und Gegenstand des nächsten Artikels.
Weiterlesen
Wie viele Versuche stecken in einem guten Backtest?