Sample-Weights & Label-Uniqueness überlappende Labels richtig gewichten.
Wer Trading-Modelle auf überlappenden Labels trainiert — und das tut praktisch jeder, der Renditen über mehrere Tage oder Triple-Barrier-Labels verwendet — füttert sein Modell mit einer stillschweigenden Lüge: Es behandelt jede Beobachtung als gleich wichtig und voneinander unabhängig, obwohl benachbarte Labels sich denselben Zukunftsverlauf teilen. Die Folge ist ein Modell, das hochkorrelierte Beispiele mehrfach zählt, sich auf wenige Marktphasen versteift und seine eigene statistische Sicherheit dramatisch überschätzt. Marcos López de Prado hat dafür mit Average-Uniqueness-Gewichten und dem Sequential Bootstrap eine Korrektur formuliert, die in der akademischen Literatur etabliert, in der Praxis aber chronisch unterschätzt ist. Dieser Beitrag erklärt, warum überlappende Labels das Training verzerren, wie man die Einzigartigkeit jeder Beobachtung quantifiziert, diese als Sample-Weights ins Modell bringt und das Resampling so umbaut, dass es die Überlappung respektiert — und wo der Aufwand sich lohnt und wo nicht.
Warum überlappende Labels das Training verzerren.
Standard-Machine-Learning geht von unabhängig und identisch verteilten Beobachtungen aus — jede Zeile im Trainingsdatensatz ist ein eigenständiges, neues Stück Information. Bei Finanzlabels stimmt das fundamental nicht. Wenn das Label eines Zeitpunkts die Rendite über die nächsten zehn Tage ist, dann basieren die Labels von zehn aufeinanderfolgenden Tagen auf weitgehend demselben Kursverlauf. Sie sind keine zehn unabhängigen Beobachtungen, sondern eher eine einzige, leicht verschobene.
Für das Modell hat das konkrete Konsequenzen. Es sieht eine besonders volatile oder trendstarke Marktphase nicht als ein Ereignis, sondern als viele fast identische Beispiele — und gewichtet diese Phase dadurch unbeabsichtigt über. Ruhige Phasen mit kurzen, sich kaum überlappenden Labels werden relativ untergewichtet. Das Modell lernt verzerrt: Es optimiert für die am stärksten überlappenden, also am stärksten redundanten Abschnitte der Historie.
Besonders tückisch wird das bei Baum-Ensembles wie Random Forests. Bootstrap-Sampling zieht zufällig mit Zurücklegen — und wenn benachbarte Beobachtungen ohnehin fast identisch sind, ziehen die Bäume immer wieder dieselbe Information. Die Diversität zwischen den Bäumen, die der ganze Sinn eines Ensembles ist, kollabiert. Das Resultat sieht im In-Sample-Test exzellent aus und generalisiert schlecht.
Label-Uniqueness — die Überlappung messbar machen.
Der erste Schritt ist, die Überlappung zu quantifizieren statt sie zu ignorieren. Für jede Beobachtung wird festgehalten, über welches Zeitfenster ihr Label läuft — von der Entstehung des Signals bis zum Schließen des Labels (Schwelle getroffen oder Horizont erreicht). Dann zählt man für jeden einzelnen Zeitschritt, wie viele Labels gerade gleichzeitig "aktiv" sind, also über diesen Zeitschritt hinweglaufen.
Aus dieser Konkurrenz-Zählung ergibt sich die Average Uniqueness einer Beobachtung: der Kehrwert der durchschnittlichen Zahl gleichzeitig aktiver Labels über ihr eigenes Zeitfenster. Eine Beobachtung, deren Label-Fenster fast immer mit fünf anderen geteilt wird, hat eine Uniqueness um 0,2 — sie trägt nur etwa ein Fünftel an neuer Information. Eine Beobachtung, die ihr Fenster weitgehend für sich hat, liegt nahe 1,0.
Diese Zahl ist der Schlüssel zu allem Weiteren. Sie sagt, wie viel echtes, nicht-redundantes Signal in jeder einzelnen Zeile steckt — und damit, wie stark eine Zeile im Training zählen sollte. In typischen Tagesstrategien mit Mehr-Tages-Labels liegt die durchschnittliche Uniqueness eines Datensatzes oft im Bereich von 0,1 bis 0,4, was bedeutet: Der effektive, unabhängige Stichprobenumfang ist nur ein Bruchteil der nominellen Zeilenzahl. Wer mit 5.000 Zeilen rechnet, hat vielleicht 1.000 wirklich unabhängige Beobachtungen.
Sample-Weights — Einzigartigkeit ins Modell bringen.
Hat man die Uniqueness pro Beobachtung, lässt sie sich direkt als Gewicht ins Training geben. Nahezu alle gängigen Bibliotheken — scikit-learn, XGBoost, LightGBM — akzeptieren einen sample_weight-Parameter, der jeder Zeile ein Gewicht in der Verlustfunktion zuweist. Redundante, stark überlappende Beobachtungen bekommen ein kleines Gewicht, einzigartige ein großes. Das Modell hört auf, dieselbe Marktphase zehnfach zu zählen.
López de Prado schlägt vor, die reine Uniqueness noch mit der Magnitude der erzielten Rendite zu kombinieren: Eine Beobachtung, die nicht nur einzigartig ist, sondern auch eine große absolute Bewegung gelabelt hat, trägt mehr handelsrelevante Information als eine einzigartige, aber nahezu flache. Das Produkt aus Uniqueness und absolutem Return-Beitrag ergibt ein Gewicht, das beide Aspekte berücksichtigt.
Wichtig ist eine ehrliche Einordnung: Sample-Weights sind keine Magie, die ein schlechtes Modell rettet. Sie korrigieren eine Verzerrung, die sonst im Verborgenen wirkt. Der Effekt zeigt sich weniger in spektakulär besseren Backtest-Kurven als in stabileren, ehrlicheren Ergebnissen — geringere Überschätzung der Out-of-Sample-Performance, robustere Feature-Rankings, weniger Überanpassung an einzelne Marktphasen. Genau das, was man im Live-Betrieb braucht und was im naiven Backtest fehlt.
Sequential Bootstrap statt naivem Resampling.
Sample-Weights lösen das Problem in der Verlustfunktion. Beim Resampling — etwa für die Bootstrap-Stichproben eines Random Forest oder für Bagging — bleibt es jedoch bestehen, weil das klassische Bootstrap rein zufällig mit Zurücklegen zieht und die Überlappungsstruktur ignoriert. Hier setzt der Sequential Bootstrap an.
Die Idee ist elegant: Beobachtungen werden nicht mit gleicher Wahrscheinlichkeit gezogen, sondern sequentiell und adaptiv. Nach jeder gezogenen Beobachtung wird die Ziehungswahrscheinlichkeit der übrigen aktualisiert — Beobachtungen, die stark mit den bereits gezogenen überlappen, werden unwahrscheinlicher. So entsteht eine Stichprobe, deren durchschnittliche Uniqueness deutlich höher liegt als bei einem Standard-Bootstrap. Die Bäume sehen diversere, weniger redundante Daten, und das Ensemble gewinnt die Streuung zurück, die es braucht.
Der Preis ist Rechenzeit. Das adaptive Ziehen ist teurer als ein simples Zufalls-Sampling, weil die Wahrscheinlichkeiten laufend neu berechnet werden. Für moderate Datensätze ist das problemlos; bei sehr großen Datenmengen lohnt sich eine effiziente Implementierung oder eine Approximation. In vielen Fällen liefert schon die Kombination aus Uniqueness-Gewichten und einer purged Kreuzvalidierung den Großteil des Nutzens, sodass der volle Sequential Bootstrap optional bleibt.
Der Effekt auf den effektiven Stichprobenumfang.
Der vielleicht wichtigste Gewinn dieser Methodik ist nicht direkt das bessere Modell, sondern die realistische Einschätzung der eigenen Datenlage. Die durchschnittliche Uniqueness liefert einen "effektiven Stichprobenumfang": Wenn ein Datensatz mit 4.000 Beobachtungen eine mittlere Uniqueness von 0,15 hat, entspricht er statistisch eher 600 unabhängigen Beobachtungen.
Diese Zahl verändert die Erwartungshaltung fundamental. Eine vermeintlich üppige Historie schrumpft zu einer knappen, und damit wird klar, warum komplexe Modelle hier overfitten und warum Konfidenzintervalle viel breiter sein müssen als naiv gerechnet. Viele scheinbar signifikante Edges verlieren ihre Signifikanz, sobald man mit dem effektiven statt dem nominellen Stichprobenumfang rechnet.
Praktisch heißt das: Bevor man ein tiefes neuronales Netz auf ein paar tausend stark überlappende Tageslabels wirft, sollte man den effektiven Umfang berechnen. Liegt er im niedrigen dreistelligen Bereich, ist ein einfaches, stark regularisiertes Modell fast immer die bessere Wahl — eine Erkenntnis, die diese Methodik liefert, bevor man Wochen in ein zu komplexes Modell investiert.
Wann sich der Aufwand lohnt — und wann nicht.
Der gesamte Apparat aus Uniqueness, Gewichten und Sequential Bootstrap zahlt sich vor allem dort aus, wo die Überlappung groß ist:
- Stark überlappende Labels: Mehr-Tages-Renditen, Triple-Barrier mit langen Horizonten, ereignisbasierte Labels — hier ist die Verzerrung erheblich und die Korrektur entsprechend wirksam.
- Knappe Daten: Wenn ohnehin wenig Historie vorhanden ist, ist jede überschätzte Sicherheit gefährlich; der ehrliche effektive Umfang schützt vor Überanpassung.
- Ensemble-Methoden: Random Forests und Bagging profitieren am stärksten, weil ihre Diversität direkt von der Sampling-Qualität abhängt.
Wenig Mehrwert bringt der Aufwand dagegen, wenn die Labels sich kaum überlappen — etwa bei einer Vorhersage des nächsten Bars ohne langen Horizont, wo jede Beobachtung nahezu einzigartig ist. Dann liegt die durchschnittliche Uniqueness ohnehin nahe 1, und Gewichte verändern fast nichts.
Einordnung — ein Baustein, kein Allheilmittel.
Sample-Weights und Sequential Bootstrap gehören in die Familie der "unsichtbaren" Korrekturen: Sie machen das Modell nicht offensichtlich besser, sondern verhindern, dass es sich selbst belügt. Das ist für die Forschungsdisziplin unbezahlbar, lässt sich aber schwer in eine einzelne Kennzahl gießen — was erklärt, warum die Methodik in der Praxis oft übergangen wird.
Sie ersetzt keine sauberen Daten, keine purged Kreuzvalidierung und kein durchdachtes Labeling. Vielmehr ergänzt sie diese Bausteine: Erst zusammen ergeben Point-in-Time-Daten, leakagefreie Validierung, uniqueness-gewichtetes Training und ehrliche Feature-Importance einen Forschungsprozess, dessen Ergebnisse im Live-Betrieb halten, was der Backtest verspricht.
Der realistische Implementierungsaufwand ist überschaubar — die Kernlogik ist in wenigen hundert Zeilen umgesetzt, fertige Referenzimplementierungen existieren. Die größere Hürde ist konzeptionell: zu akzeptieren, dass der eigene Datensatz statistisch viel dünner ist als die Zeilenzahl suggeriert, und die Modellkomplexität entsprechend zurückzunehmen.
Sie trainieren auf überlappenden Mehr-Tages-Labels und sind unsicher, ob Ihr Modell die eigene Sicherheit überschätzt? Unverbindlich anfragen — wir berechnen den effektiven Stichprobenumfang Ihrer Daten, bauen uniqueness-gewichtetes Training in Ihre Pipeline ein und sorgen dafür, dass Backtest-Konfidenz und Live-Realität wieder zusammenpassen.