Triple-Barrier-Methode: Finanzielle Ereignisse labeln und auswerten
Erfahren Sie, wie volatilitätsabhängige Gewinn- und Verlustschwellen sowie eine maximale Haltedauer Finanzereignisse in Labels für Machine Learning übersetzen.
In diesem LeitfadenWelche Frage beantwortet die Triple-Barrier-Methode?
Kurze Zusammenfassung
Die Triple-Barrier-Methode ordnet dem Kursverlauf nach einem Ereignisstart ein Label zu: Entscheidend ist, ob zuerst eine Gewinnschwelle, eine Verlustschwelle oder eine festgelegte Zeitgrenze erreicht wird. In diesem Artikel erhält ein Ereignis beim Ablauf der Zeitgrenze das Label 0, wenn zuvor keine horizontale Schwelle berührt wurde – auch bei positiver oder negativer Schlussrendite. Das Zielvolatilitätsmaß muss zu Ereignisbeginn bekannt sein; spätere Kurse bilden y, nicht die Merkmale X.
Welche Frage beantwortet die Triple-Barrier-Methode?
Für überwachtes Lernen braucht jede Merkmalszeile ein Ergebnis, das ein Modell vorhersagen kann. Ein Label auf Basis der Rendite nach einer festen Zahl von Tagen trifft aber nicht immer die Forschungsfrage: Hat sich der Kurs weit genug in eine Richtung bewegt? Wie schnell? Wurde ein Verlustlimit erreicht, bevor die Gewinnschwelle fiel? Die Triple-Barrier-Methode beschreibt jedes Ereignis mit zwei horizontalen Kursschwellen und einer Zeitgrenze.
Ein Ereignis beginnt zum Referenzkurs P₀. Ein Ereignisfilter wie CUSUM kann Startzeitpunkte auswählen, wenn eine Kursbewegung einen Grenzwert überschreitet. Der Filter legt fest, wann die Beobachtung beginnt, aber nicht, welches Ergebnislabel folgt. Erst danach werden die Schwellen gesetzt und der weitere Kursverlauf überwacht. Kapitel 3 von Advances in Financial Machine Learning behandelt diese Labelmethode. Die mlfinpy-Dokumentation zur Labelbildung beschreibt die Triple-Barrier-Methode und Meta-Labeling.
Horizontale Schwellen zu Ereignisbeginn berechnen
Schätzen Sie die Zielvolatilität σᵢ aus Informationen, die bis zum Ereignisstart vorlagen. Wählen Sie außerdem den Gewinnmultiplikator mPT und den Verlustmultiplikator mSL. Bei einfacher Rendite und einer Long-Perspektive lauten die Schwellen:
- Obere Schwelle: P₀ × (1 + mPT × σᵢ)
- Untere Schwelle: P₀ × (1 − mSL × σᵢ)
Die Abstände richten sich damit nach dem geschätzten Risiko des einzelnen Ereignisses, statt für alle Beobachtungen identisch zu sein. Ist die Volatilität beim Start höher, liegen die Schwellen weiter auseinander; bei niedrigerer Volatilität liegen sie näher. Legen Sie σᵢ bei Ereignisbeginn fest. Eine spätere Anpassung anhand des beobachteten Pfads würde die Zieldefinition mit genau den Zukunftsdaten verändern, aus denen das Label entsteht. Bei logarithmischen Renditen muss die Formel passend umgerechnet werden; entscheidend ist eine konsistente Konvention.
Die dritte Schwelle verläuft vertikal: Sie ist ein vorab definierter Endzeitpunkt und damit die maximale Haltedauer. Ist bis dahin keine horizontale Schwelle berührt, endet das Ereignis mit Zeitablauf. Eine andere Haltedauer stellt eine andere Vorhersagefrage. Legen Sie sie deshalb anhand der Forschungsfrage fest und nicht nach einem Blick auf die späteren Ergebnisse.
Synthetisches Beispiel: Welche Schwelle wird zuerst erreicht?
Angenommen, P₀ beträgt 100 US-Dollar und σᵢ zu Ereignisbeginn 2 %. Mit mPT = 2 und mSL = 1,5 liegt die obere Schwelle bei 100 × (1 + 2 × 0,02) = 104 US-Dollar. Die untere Schwelle liegt bei 100 × (1 − 1,5 × 0,02) = 97 US-Dollar. Die vertikale Schwelle liegt am Ende des dritten künftigen Balkens.
Beim Pfad 100 → 104,50 wird die obere Schwelle schon im ersten künftigen Balken überschritten; das Label lautet +1. Beim Pfad 100 → 96,50 fällt der Kurs bereits im ersten künftigen Balken unter 97; das Label lautet −1. Beim Pfad 100 → 101 → 102 → 101,50 wird bis zum Ende des dritten künftigen Balkens keine der horizontalen Schwellen berührt; dann läuft die Zeitgrenze ab. Nach der hier verwendeten Konvention lautet das Label 0, obwohl die Schlussrendite von 100 auf 101,50 positiv ist und 1,5 % beträgt.
In diesen Pfaden ist die Reihenfolge der einzelnen Kurse sichtbar. In realen aggregierten Kursdaten kann die Reihenfolge fehlen, insbesondere bei OHLC-Balken, in denen Hoch und Tief beide Schwellen überschreiten.
Konvention für den Zeitablauf ausdrücklich festhalten
Wenn die vertikale Schwelle zuerst erreicht wird, sind unterschiedliche Labelregeln möglich. Hier gilt: Weder die Gewinn- noch die Verlustschwelle wurde vor dem Endzeitpunkt berührt, also ist das Label 0 – unabhängig davon, ob der Kurs am Ende über oder unter dem Startkurs liegt. Die mlfinpy-Dokumentation beschreibt die vertikale Barriere als maximale Zeitgrenze. In der Implementierung in labeling.py stehen 1 für die obere Schwelle, −1 für die untere und 0 für die vertikale Schwelle.
Andere Implementierungen können beim Ablauf der Zeitgrenze stattdessen das Vorzeichen der Schlussrendite verwenden: +1 bei einem höheren Endkurs, −1 bei einem niedrigeren und gegebenenfalls 0 bei unverändertem Kurs. Das beantwortet eine andere Frage: Es klassifiziert die Richtung am Endzeitpunkt und nicht allein, ob eine horizontale Schwelle berührt wurde. Vergleichen Sie Labels aus zwei Datensätzen oder Bibliotheken erst, nachdem Sie diese Konvention abgeglichen und dokumentiert haben.

Richtungslabels und Meta-Labeling auseinanderhalten
Ein primäres Richtungslabel kann +1 für die obere Schwelle, −1 für die untere und 0 für einen Zeitablauf nach der hier gewählten Konvention verwenden. Ein primäres Modell kann bereits eine Long- oder Short-Seite wählen. Ein zweites Modell beurteilt dann, ob der vorgeschlagene Trade angenommen oder ausgelassen werden soll. Dieses Verfahren heißt Meta-Labeling. Das binäre Label 1 bedeutet dort üblicherweise annehmen, 0 bedeutet ablehnen – es ist nicht dasselbe wie die dreistufige Richtungslabelung.
Wurde die Handelsseite schon vom primären Modell festgelegt, sollte die Bewertung des Ergebnisses diese Seite berücksichtigen. Das sekundäre Modell sollte keine neue Richtung schätzen müssen, wenn es nur über das Eingehen der vorhandenen Position entscheidet. Legen Sie auch fest, ob das Label einen Bruttoertrag oder einen Ertrag nach Kosten beschreibt.
Zukunftsergebnisse gehören nicht in die Merkmale X
Zu Beginn des Ereignisses müssen σᵢ, die Multiplikatoren und die Merkmale X bekannt oder ausschließlich aus damals verfügbaren Informationen berechnet sein. Die späteren Kurse zeigen, welche Schwelle zuerst erreicht wurde, und bilden so y. Fließen künftige Renditen, der spätere Endzeitpunkt oder andere erst später bekannte Größen in X ein, enthält das Modell bereits einen Teil der Antwort.
Nahe beieinanderliegende Ereignisse können sich zeitlich überlappen. Ihre Labels beruhen dann teilweise auf demselben späteren Kursverlauf. Eine zufällige Aufteilung der Ereigniszeilen beseitigt diese Abhängigkeit nicht. Vergleichen Sie die tatsächlichen Ergebnisintervalle und entfernen Sie mit Purging Trainingsbeispiele, deren Intervalle in den Testzeitraum hineinreichen. Falls nötig, definieren Sie zusätzlich eine begründete Embargo-Zone. Der Leitfaden zu Purged Cross-Validation und Embargo für Finanzzeitreihen erläutert den Umgang mit überlappenden Labels.
Kursauflösung und Kostenregeln definieren
In einem OHLC-Balken können Hoch und Tief innerhalb derselben Periode sowohl die Gewinn- als auch die Verlustschwelle überschreiten. Aus diesen vier aggregierten Werten lässt sich nicht ablesen, welche Schwelle zuerst berührt wurde. Verwenden Sie nach Möglichkeit feinere Kursdaten. Andernfalls legen Sie vor der Auswertung eine konservative, einheitliche Regel für mehrdeutige Balken fest. Eine reine Schlusskursregel kann zudem Intraday-Berührungen übersehen, nach denen der Kurs vor dem Schluss wieder umkehrte.
Soll das Label einen handelbaren Nettoertrag darstellen, berücksichtigen Sie Gebühren, Geld-Brief-Spanne, Slippage, Markteinfluss und je nach Markt Finanzierung oder Leihkosten. Mit Nettorenditen kann sich auch die Annahmeentscheidung beim Meta-Labeling ändern. Die Triple-Barrier-Methode erzeugt Trainingsziele; sie ist weder allein eine Handelsstrategie noch ein Nachweis für Profitabilität.
Häufige Fragen
Q1Legt CUSUM auch das Ergebnislabel fest?
Nein. CUSUM kann als Filter Zeitpunkte auswählen, an denen Ereignisse beginnen. Die Barrieren werden danach ausgewertet und liefern das Label für den jeweiligen späteren Verlauf.
Q2Ist ein Label an der vertikalen Schwelle immer 0?
Nein. 0 ist die in diesem Artikel verwendete Konvention und die in den verlinkten mlfinpy-Beispielen gezeigte Variante. Andere Implementierungen können beim Zeitablauf das Vorzeichen der Schlussrendite verwenden.
Q3Bedeutet ein Label +1, dass der Trade nach Kosten profitabel war?
Nicht zwingend. Es bedeutet, dass die obere Kursschwelle nach der festgelegten Regel zuerst berührt wurde. Gebühren, Spread, Slippage, Finanzierung und Ausführung können das Nettoergebnis verändern.
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 01
Welches Label erhält der Pfad 100 → 101 → 102 → 101,50 am Ende des dritten künftigen Balkens, wenn die Zeitgrenze erreicht wird?
Wähle eine Antwort, um die Erklärung zu sehen