Skip to content
Tutte le guide sulle opzioni
Validazione dei modelli di serie temporali12 min di lettura

Cross-validation purged ed embargo: evitare la fuga di etichette nei modelli di trading

Scopri come purging ed embargo gestiscono etichette forward sovrapposte nelle serie finanziarie e come differiscono da walk-forward e CPCV.

In questa guidaPerché il K-fold casuale può essere fuorviante in finanza

Breve sintesi

La cross-validation purged rimuove dal training le osservazioni i cui intervalli effettivi delle etichette si sovrappongono a quelli del test. L’embargo è un margine distinto, definito prima di ammettere nel training osservazioni successive al blocco di test. Nessuna delle due regole equivale da sola a una simulazione cronologica dell’impiego futuro.

Perché il K-fold casuale può essere fuorviante in finanza

K-fold divide le osservazioni in gruppi e li usa a turno per il test. Nelle serie finanziarie, una suddivisione casuale può distribuire tra training e test osservazioni dipendenti o etichette forward con periodi di risultato sovrapposti. Il training finisce così per contenere informazioni collegate ai risultati di test, facendo apparire la prestazione migliore di quanto sarebbe su dati davvero nuovi.

Questo non rende sempre invalido ogni uso di K-fold. Può essere adatto quando le osservazioni sono sufficientemente indipendenti e le etichette non si sovrappongono. Occorre esaminare come sono costruite le variabili e le etichette e quale scenario futuro si vuole stimare. López de Prado tratta questi problemi e il purging nel capitolo 7 di *Advances in Financial Machine Learning*.

Definire le informazioni disponibili e l’intervallo dell’etichetta

Per ogni campione, t è l’istante della decisione. Registra le informazioni realmente disponibili allora, la finestra passata usata per le variabili e quando si risolve l’obiettivo. Qui un’etichetta del rendimento delle cinque sedute successive copre l’intervallo (t, t+5]; t1 è il suo effettivo termine.

Due previsioni possono condividere dati storici delle variabili senza creare automaticamente leakage, se quei dati erano già noti al momento di entrambe le decisioni. C’è invece leakage se una variabile incorpora dati futuri, viene ricalcolata a posteriori o ha un timestamp errato. Le variabili devono riflettere solo l’informazione disponibile al momento di ciascuna previsione.

Rimuovere dal training gli intervalli di etichetta sovrapposti

Il purging elimina un campione di training quando il suo intervallo effettivo di risultato si sovrappone a quello di un campione di test. Controlla gli effettivi timestamp di inizio e fine. Con etichette di eventi di durata variabile, usa i limiti reali, non un numero fisso di righe scelto per comodità.

Il purging non rende automaticamente cronologica una suddivisione. Un purged K-fold può ancora addestrarsi su osservazioni successive al blocco di test. Questo può rispondere a una domanda di robustezza, ma non equivale ad addestrare solo sul passato e poi testare sul futuro. La direzione temporale va definita separatamente.

Stabilire l’embargo come margine distinto

L’embargo è un periodo specificato dopo un blocco di test, prima che osservazioni successive possano entrare nel training nelle suddivisioni che usano dati post-test. Può ridurre dipendenze residue dovute alla costruzione di eventi o variabili. Non sostituisce il controllo degli intervalli effettivi e non ha una durata o percentuale universale.

Motiva la lunghezza in base a frequenza di campionamento, orizzonte dell’etichetta, finestre delle variabili e dipendenza osservata. Definisci e documenta la regola prima del confronto dei risultati. In un test strettamente orientato in avanti non ci sono osservazioni successive al test a cui applicare questo caso di embargo.

Esempio giornaliero con orizzonte di cinque sedute

Supponiamo decisioni giornaliere e un’etichetta di rendimento sulle cinque sedute successive, (t, t+5]. Un blocco di test con date decisionali dall’11 al 15 ha etichette che arrivano fino al giorno 20. I giorni sono sedute e tutti gli intervalli seguono la stessa convenzione.

L’etichetta di training (7,12] si sovrappone al test perché condivide giorni con l’etichetta della decisione del giorno 11. Si sovrappone anche (16,21], dato che l’etichetta di test del giorno 15 arriva fino al giorno 20. Entrambi i campioni di training vanno rimossi con il purging. Anche un’etichetta successiva non sovrapposta può essere esclusa da una zona di embargo definita separatamente. L’esempio non fissa una distanza universale.

Sequenza temporale con etichette di training sovrapposte rimosse e un margine di embargo separato
Il purging rimuove gli intervalli sovrapposti; l’embargo aggiunge un margine distinto e motivato.

Distinguere K-fold, walk-forward, gap, purged K-fold e CPCV

Il K-fold casuale può mescolare periodi diversi. La validazione walk-forward o rolling-origin si addestra sui dati precedenti e testa su un blocco successivo, rappresentando più direttamente una sequenza storica di impiego. La documentazione ufficiale di TimeSeriesSplit di scikit-learn descrive suddivisioni cronologiche e richiede campioni equidistanti per confrontare durate di test equivalenti.

TimeSeriesSplit(gap=...) esclude un numero fisso di righe prima del test. gap non individua intervalli variabili degli eventi: il numero di righe rappresenta una distanza temporale interpretabile solo se il campionamento è adeguato, di norma regolare. Purged K-fold e Combinatorial Purged Cross-Validation (CPCV) creano più combinazioni o percorsi di test, ma possono usare per il training dati successivi al test. Non rispondono quindi automaticamente alla stessa domanda di una simulazione walk-forward storica.

Il capitolo 12 di López de Prado sul backtesting approfondisce walk-forward e CPCV.

Restano altre possibili fonti di leakage

Il purging corretto non corregge variabili con lookahead o timestamp errati, survivorship bias o dati rivisti in seguito. Anche standardizzare, imputare o selezionare variabili globalmente prima della suddivisione può trasferire informazioni di test al training. Adatta trasformazioni e selezione dentro ogni fold di training.

Provare molte varianti aumenta inoltre il rischio di scegliere per caso un vincitore del backtest. Bailey e coautori analizzano i tentativi ripetuti nel loro studio sulla probabilità di overfitting del backtest. Usa una validazione annidata che rispetti il tempo per selezionare i modelli e conserva un periodo cronologico finale intatto. Modella anche costi ed esecuzioni realistici. Nessuna cross-validation garantisce risultati futuri.

Comunicare risultati e incertezza

Riporta lunghezza del campione, frequenza, orizzonti delle etichette, disponibilità delle variabili, regola di suddivisione, campioni rimossi e motivazione dell’embargo. Specifica se il training includeva righe successive al test e quale domanda si voleva valutare. Un solo punteggio aggregato può nascondere differenze tra periodi o percorsi di test.

Confronta i modelli con gli stessi confini temporali, etichette, ipotesi sui costi e regole di selezione. Considera incertezza e numero di varianti provate: differenze minime su campioni brevi sono poco solide. Approfondisci con compromesso bias-varianza e overfitting, test multipli e false discovery rate e Sharpe ratio con autocorrelazione seriale.

Fissare la validazione prima del backtest

Per ogni campione registra l’istante t, i dati disponibili, la finestra delle variabili e i limiti reali dell’etichetta fino a t1. Scegli una suddivisione coerente con lo scenario da valutare; quindi rimuovi dal training le etichette che intersecano gli intervalli di test e definisci separatamente un embargo se necessario.

Controlla il preprocessing dentro ogni fold, documenta prove e costi, e mantieni intatto un holdout cronologico finale. Queste precauzioni rendono l’analisi verificabile, ma i dati passati non garantiscono quelli futuri. Questa guida spiega la meccanica della validazione e non raccomanda investimenti o strategie.

Domande frequenti

Q1Il K-fold casuale è sempre sbagliato per le serie finanziarie?

No. Può essere adatto a una domanda con osservazioni sufficientemente indipendenti e senza etichette sovrapposte. In presenza di dipendenza temporale o etichette forward, la suddivisione deve rispettare tale struttura.

Q2L’embargo rende superfluo il purging?

No. Il purging verifica le sovrapposizioni reali degli intervalli delle etichette. L’embargo aggiunge un margine per alcune suddivisioni con training successivo al test. Entrambe le regole richiedono una motivazione documentata.

Q3CPCV sostituisce i test walk-forward?

Non automaticamente. CPCV produce combinazioni e percorsi di test, ma può addestrarsi su dati successivi a un blocco di test. Una simulazione cronologica di impiego resta una domanda diversa.

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 1 / 3

Domanda 01

Quale osservazione va rimossa con il purging?

Scegli una risposta per vedere la spiegazione

Glossario delle opzioni

Perché un modello può spiegare la storia e fallire nel periodo successivoCompromesso bias–varianza e overfitting dei modelli finanziariComprendi bias di previsione, varianza di stima, rumore irriducibile, complessità del modello, validazione delle serie temporali, data snooping, overfitting del backtest e governance dei modelli finanziariPerché una soglia fallisce quando i ricercatori testano molte ideeTest multipli e false discovery rate nella finanzaComprendi confronti multipli, family-wise error, false discovery rate, Bonferroni, Holm, Benjamini–Hochberg, dipendenza, q-value, factor mining, selezione dei backtest e governance della ricercaRendimenti sulla giusta scala temporaleAnnualizzare lo Sharpe ratio: perché √12 può ingannare con autocorrelazioneScopri quando annualizzare uno Sharpe mensile con √12, come la correlazione seriale cambia il calcolo e cosa dovrebbe riportare un’analisi accurataMeccanica delle opzioniCos'è l'assegnazione di un'opzione?Comprendi come l'assegnazione trasformi una call o put short in un'obbligazione sul titolo, quando può avvenire e come preparare contante e azioniUn numero di contratti consentito non equivale a un budget di rischioLimiti di posizione e limiti di esercizio delle opzioni a confrontoScopri in che modo i limiti di posizione delle opzioni quotate differiscono dai limiti di esercizio, perché contano l'aggregazione sullo stesso lato e la reportistica e perché margin o buying power non indicano se una quantità è consentita