De triple-barrièremethode voor financiële eventlabels
Lees hoe volatiliteitsschalen en een tijdslimiet het label van een event bepalen, hoe een first-touch-voorbeeld werkt en welke keuzes rond data en validatie je moet vastleggen.
In deze gidsWaarom het label het koerspad volgt
Korte samenvatting
De triple-barrièremethode geeft elk event een bovenste prijsgrens, een onderste prijsgrens en een tijdslimiet. Volgens de conventie in dit artikel levert de eerste aanraking van de bovengrens +1 op, die van de ondergrens −1, en levert het verstrijken van de tijd alleen 0 op als geen van beide prijsgrenzen eerder is geraakt. De volatiliteitsschaal moet bekend zijn bij de start van het event; het latere koerspad vormt het label, niet de features.
Waarom het label het koerspad volgt
Een label met een vaste horizon kijkt naar wat er na een vooraf bepaald aantal bars is gebeurd, ook als een winst- of verliesgrens al eerder is geraakt. De triple-barrièremethode gebruikt in plaats daarvan drie stopvoorwaarden. De vraag is: welke grens wordt vanaf het begin van het event als eerste bereikt, als er überhaupt een grens wordt bereikt?
De methode wordt uitgelegd in hoofdstuk 3 van *Advances in Financial Machine Learning*. De documentatie van mlfinpy over labeling beschrijft dynamische grenzen en meta-labeling. Dit is een manier om het doel voor supervised learning te definiëren; op zichzelf is het geen handelsregel en geen winstbelofte.
Bepaal het event en de schaal bij de start
Neem event i met starttijd tᵢ en startprijs P₀. Bepaal op dat moment de doelvolatiliteit σᵢ met uitsluitend informatie die dan beschikbaar is. Als σᵢ een percentage van het rendement is, liggen de prijsniveaus voor een longpositie op P₀(1 + m_PTσᵢ) voor de bovengrens en P₀(1 − m_SLσᵢ) voor de ondergrens. De vermenigvuldigers m_PT en m_SL mogen verschillen; de afstanden hoeven dus niet symmetrisch te zijn.
Leg ook een verticale grens vast: de maximale aanhoudtijd of een specifieke toekomstige bar. Controleer na elke bar vanaf tᵢ of een van de horizontale grenzen is geraakt. Zo niet, ga dan door tot de verticale grens. Houd σᵢ voor dit event vast op de waarde van de start. De schaal achteraf bijwerken met toekomstige volatiliteit zou het doel veranderen met informatie die bij de voorspelling nog niet bekend was.
De eventtrigger en het label hebben verschillende functies. Een filter zoals CUSUM kan bepalen wanneer een nieuw event begint, maar beslist niet of de uitkomst +1, −1 of 0 is. Nadat tᵢ is gekozen, volgt de methode het koerspad tot de eerste aanraking of het verstrijken van de tijd. De documentatie van mlfinpy behandelt eventtijden die bijvoorbeeld door CUSUM worden geselecteerd, het volatiliteitsdoel en de tijdstippen van de verticale grens ook als afzonderlijke onderdelen.
Labelconventie en rekenvoorbeeld
Volgens de drieklassenconventie in dit artikel geeft de eerste aanraking van de bovengrens +1, die van de ondergrens −1 en de verticale grens 0, maar alleen als geen horizontale grens eerder is geraakt. Sommige implementaties bepalen het label bij afloop juist aan de hand van het teken van het eindrendement. Controleer daarom de code en beschrijf de gebruikte conventie bij je dataset. De labelingcode van mlfinpy bevat first-touch-logica en een variant voor de verticale grens.
Een synthetisch voorbeeld: P₀ = $100 en σᵢ = 2%. Met m_PT = 2 is de bovengrens $104; met m_SL = 1,5 is de ondergrens $97. De verticale grens ligt op de derde toekomstige bar.
- $100 → $104,50 raakt de bovengrens al op de eerste toekomstige bar en krijgt label +1.
- $100 → $96,50 raakt de ondergrens al op de eerste toekomstige bar en krijgt label −1.
- $100 → $101 → $102 → $101,50 bereikt de derde bar zonder $104 of $97 te raken. Volgens deze conventie is het label 0, ook al is het eindrendement +1,5%.
Het laatste pad laat zien waarom een first-touch-label iets anders is dan het teken van het rendement na een vaste horizon. Een andere definitie is mogelijk, maar vermeld dan duidelijk wat de klassen betekenen.
Houd features en toekomstige uitkomsten gescheiden
Elke rij met features Xᵢ mag alleen informatie bevatten die op tᵢ beschikbaar was, waaronder de schatting σᵢ waarmee de grenzen zijn bepaald. Het koerspad van tᵢ tot de uitstap is nodig om yᵢ te maken, maar hoort niet in features, normalisatie of grensselectie alsof het bij de start al bekend was.
Bij meta-labeling bepaalt een primair model de positie richting, bijvoorbeeld long of short. Een secundair model gebruikt die richting als context en leert of het signaal wordt genomen of overgeslagen; het doel is meestal binair en voorspelt de richting niet opnieuw. Meta-labeling verandert de modelvraag, maar maakt toekomstige informatie niet geschikt als feature.

Prijsdata en kosten bepalen wat het label betekent
Alleen slotkoersen laten intrabar-aanrakingen niet zien. Als de high en low van dezelfde OHLC-bar beide grenzen passeren, is de volgorde niet uit die bar af te leiden. Gebruik fijnmaziger data als die beschikbaar is, of leg vooraf een consistente, conservatieve regel vast, bijvoorbeeld dat de ongunstigste grens eerst is geraakt. Kies de volgorde niet achteraf op basis van de uitkomst.
Als het label nettoresultaat moet voorstellen, neem dan relevante kosten mee: commissie, spread, slippage, marktimpact en waar van toepassing funding of leenkosten. Een geraakt prijsniveau garandeert geen uitvoering op dat niveau; een koerssprong kan een stop of doel voorbijgaan en de echte fill kan afwijken. Leg vast of het label het bruto koerspad weergeeft of netto-P&L onder specifieke uitvoeringsaannames.
Overlappende events vragen om passende validatie
Events die dicht na elkaar beginnen, kunnen een deel van hetzelfde toekomstige koerspad gebruiken. Als het ene label in de trainset staat en een ander label dat van dezelfde uitkomst afhangt in de testset, kan de score te gunstig lijken doordat de doelen niet onafhankelijk zijn. Bewaar begin- en oplostijd van elk label en gebruik purged validatie om trainingssamples te verwijderen waarvan de uitkomstperiode overlapt met die van de testset. Zie ook de uitleg over purged cross-validation en embargo voor financiële tijdreeksen.
Leg de prijsdata en frequentie, beschikbaarheid van features, methode voor σᵢ, vermenigvuldigers, verticale grens, intrabarregel en afloopconventie vast. Maak die keuzes voordat je het model beoordeelt. De triple-barrièremethode maakt het doel explicieter, maar verhelpt geen andere featurelekkage, herhaald strategieselecteren, onrealistische fills of veranderende marktomstandigheden.
Veelgestelde vragen
Q1Mag je sigma per bar opnieuw berekenen?
Schat σᵢ met informatie die bekend is wanneer het event start en gebruik die waarde voor de grensbreedte van dat event. Een schaal aanpassen met toekomstige data kan informatie introduceren die bij het oorspronkelijke beslismoment nog niet beschikbaar was.
Q2Betekent label 0 altijd een rendement van nul?
Nee. In dit artikel betekent 0 dat de tijdslimiet is bereikt zonder eerdere aanraking van een prijsgrens. Het eindrendement kan positief of negatief zijn. Andere implementaties gebruiken mogelijk het teken van het eindrendement; controleer en documenteer daarom de regel.
Q3Bewijst de triple-barrièremethode dat een strategie winstgevend is?
Nee. De methode maakt een supervised-learningdoel op basis van het koerspad. Resultaten hangen ook af van geldige features, validatie, kosten, uitvoering en marktomstandigheden; een label is geen winstgarantie.
Bronnen en verder lezen
Probleem melden
We bereiden een e-mail met de link naar dit artikel voor. Mark ontvangt je melding pas nadat je die verstuurt
Snelle check
De gids gelezen? Test jezelf met 3 vragen
Vraag 01
Wanneer krijgt een event volgens de conventie in dit artikel label 0?
Kies een antwoord om de uitleg te zien
Optiewoordenlijst
The variability of volatility itself; VVIX uses VIX option prices to measure 30-day implied volatility of VIX forward prices.
Lees de uitgebreide gidsAssignmentThe process that requires an option writer to fulfill the contract after an exercise notice is allocated; it can create or remove an underlying position.
Lees de uitgebreide gids