Metodo delle tre barriere: etichettare gli eventi finanziari
Scopri come volatilità e limite temporale determinano l’etichetta di un evento, come leggere un esempio di primo tocco e quali scelte di dati e validazione documentare.
In questa guidaPerché l’etichetta dipende dal percorso del prezzo
Breve sintesi
Il metodo delle tre barriere assegna a ogni evento un limite di prezzo superiore, uno inferiore e una scadenza temporale. Secondo la convenzione adottata qui, il primo tocco della barriera superiore vale +1, quello della barriera inferiore vale −1 e la scadenza vale 0 solo se nessuna barriera di prezzo è stata toccata prima. La scala di volatilità deve essere nota all’inizio dell’evento; il percorso successivo serve a costruire il target, non le feature.
Perché l’etichetta dipende dal percorso del prezzo
Un’etichetta a orizzonte fisso chiede che cosa è successo dopo un numero prestabilito di barre, anche se nel frattempo era già stata superata una soglia di profitto o di perdita. Le tre barriere introducono invece tre condizioni di uscita. La domanda diventa: partendo dall’inizio dell’evento, quale limite viene raggiunto per primo, se viene raggiunto?
Il metodo è illustrato nel capitolo 3 di *Advances in Financial Machine Learning*. La guida di mlfinpy alla classificazione dei dati descrive soglie dinamiche e meta-labeling. È un modo per definire il target di un modello supervisionato; da solo non è una regola di trading né una promessa di profitto.
Definisci l’evento e la scala al suo inizio
Indichiamo con tᵢ l’inizio dell’evento i, con prezzo iniziale P₀ e con σᵢ la volatilità obiettivo stimata usando solo dati disponibili fino a quel momento. Se σᵢ è un rendimento percentuale, per una posizione long il livello superiore è P₀(1 + m_PTσᵢ) e quello inferiore è P₀(1 − m_SLσᵢ). I moltiplicatori m_PT e m_SL possono essere diversi: le due distanze non devono essere simmetriche.
Aggiungi una barriera verticale, cioè un tempo massimo di detenzione o una specifica barra futura. Dopo ogni barra successiva a tᵢ, verifica se è stato raggiunto uno dei due livelli orizzontali; se no, continua fino alla scadenza. Congela σᵢ all’inizio dell’evento per dimensionare i livelli. Ricalcolarla usando volatilità futura cambierebbe il target e userebbe informazioni non disponibili al momento della previsione.
Il trigger dell’evento e l’etichetta svolgono ruoli distinti. Un filtro CUSUM può selezionare il momento in cui inizia un evento, ma non decide se il risultato sarà +1, −1 o 0. Una volta fissato tᵢ, il metodo segue il prezzo futuro fino al primo tocco o alla scadenza. Anche la documentazione di mlfinpy distingue i timestamp degli eventi, che possono provenire da CUSUM, dal target di volatilità e dai tempi della barriera verticale.
Convenzione delle etichette ed esempio numerico
Con la convenzione a tre classi usata in questo articolo, il primo tocco della barriera superiore dà +1, quello della barriera inferiore dà −1 e la barriera verticale dà 0 solo se nessuna barriera orizzontale è stata toccata prima. Alcune implementazioni assegnano invece l’etichetta alla scadenza in base al segno del rendimento terminale. Perciò bisogna verificare il codice e dichiarare la convenzione insieme ai target. Il codice di labeling di mlfinpy include la logica del primo tocco e una variante per l’etichetta alla barriera verticale.
Esempio sintetico: P₀ = $100 e σᵢ = 2%. Con m_PT = 2, la barriera superiore è $104; con m_SL = 1,5, quella inferiore è $97. La barriera verticale è posta alla terza barra futura.
- $100 → $104,50 tocca per prima la barriera superiore alla prima barra futura: etichetta +1.
- $100 → $96,50 tocca la barriera inferiore alla prima barra futura: etichetta −1.
- $100 → $101 → $102 → $101,50 arriva alla terza barra senza toccare $104 o $97: etichetta 0 secondo questa convenzione, anche se il rendimento terminale è +1,5%.
L’ultimo percorso mostra che un’etichetta first-touch non coincide con il segno del rendimento a un orizzonte fisso. È possibile adottare una diversa definizione, ma le classi e il loro significato vanno specificati.
Separa le feature dall’esito futuro
Ogni riga di feature Xᵢ deve usare solo informazioni disponibili a tᵢ, inclusa la stima σᵢ scelta per definire le soglie. Il percorso da tᵢ all’uscita serve per calcolare yᵢ. Non deve entrare nelle feature, nella normalizzazione o nella scelta di una soglia come se fosse già noto all’inizio dell’evento.
Nel meta-labeling, un modello primario sceglie il lato della posizione, per esempio long o short. Un modello secondario usa quel lato come contesto e impara se accettare o rifiutare il segnale; il suo target è in genere binario, invece di imparare nuovamente la direzione. Il meta-labeling cambia la domanda del modello, ma non autorizza l’uso di feature future.

Dati di prezzo e costi definiscono il target
I soli prezzi di chiusura non rivelano un tocco intrabar. Se massimo e minimo della stessa barra OHLC superano entrambe le soglie, da quella barra non si può ricostruire l’ordine. Usa dati più granulari quando disponibili oppure definisci in anticipo una regola coerente e prudente, per esempio attribuendo per primo il limite più sfavorevole. Non scegliere l’ordine dopo aver visto l’esito.
Se l’etichetta vuole rappresentare un risultato netto, includi i costi pertinenti: commissioni, spread, slippage, impatto di mercato e, quando applicabili, funding o costo del prestito. Il livello toccato non garantisce il prezzo di esecuzione; un gap può superare stop o target e il fill reale può essere diverso. Dichiara se l’etichetta misura il percorso lordo del prezzo o un P&L netto secondo precise ipotesi di esecuzione.
Eventi sovrapposti richiedono una validazione adeguata
Eventi iniziati a breve distanza possono riutilizzare parte dello stesso percorso futuro. Se un’etichetta finisce nel training e un’altra, dipendente dagli stessi prezzi, nel test, il punteggio può beneficiare di target correlati. Registra inizio e fine effettiva di ogni etichetta e applica una validazione purged, rimuovendo dal training i campioni i cui intervalli di esito si sovrappongono a quelli di test. Vedi anche la guida alla cross-validation purged e all’embargo per le serie finanziarie.
Documenta prezzi e granularità, disponibilità delle feature, stima di σᵢ, moltiplicatori, scadenza, regola intrabar e convenzione per le etichette alla scadenza. Fissa queste scelte prima di valutare il modello. Le tre barriere rendono il target esplicito, ma non risolvono leakage nelle feature, selezione ripetuta di strategie, fill irrealistici o cambi di regime.
Domande frequenti
Q1È possibile ricalcolare sigma a ogni barra?
Stima σᵢ con le informazioni disponibili quando inizia l’evento e usala per fissare l’ampiezza delle barriere di quell’evento. Aggiornare la scala con dati futuri può introdurre informazioni che non esistevano al momento della decisione iniziale.
Q2L’etichetta 0 significa sempre rendimento nullo?
No. Qui 0 significa che è stata raggiunta la scadenza senza toccare prima una soglia di prezzo. Il rendimento terminale può essere positivo o negativo. Altre implementazioni possono usare il segno del rendimento finale: verifica e documenta la regola adottata.
Q3Le tre barriere dimostrano che una strategia sarà redditizia?
No. Definiscono un target supervisionato a partire dal percorso del prezzo. I risultati dipendono ancora da feature legittime, validazione, costi, esecuzione e condizioni di mercato; l’etichetta non è una promessa di profitto.
Fonti e approfondimenti
Segnala un problema
Prepareremo un’e-mail con il link a questo articolo. Mark riceverà la segnalazione solo dopo l’invio
Controllo rapido
Hai finito la guida? Verifica ciò che hai capito con 3 domande
Domanda 01
Quando si assegna l’etichetta 0 secondo la convenzione dell’articolo?
Scegli una risposta per vedere la spiegazione
Glossario delle opzioni
The process that requires an option writer to fulfill the contract after an exercise notice is allocated; it can create or remove an underlying position.
Leggi la guida completaBid-ask spreadThe gap between the best displayed bid and ask, which is a practical trading cost and a signal of how uncertain an immediate fill may be.
Leggi la guida completa