In che modo l’R quadrato può essere backtestato in modo responsabile?
R Quadrato: definisci il concetto prima del backtest
L’R quadrato (spesso indicato come R²) è una statistica che descrive quanto della variazione in un risultato misurato può essere spiegata da un modello o da una relazione. Nel backtesting, la responsabilità principale non è considerare l’R² come un segnale di trading di per sé, ma definire esattamente cosa si sta regredendo su cosa e cosa significa “risultato spiegato” nel proprio caso d’uso.
Un flusso di lavoro responsabile inizia scrivendo:
- la variabile dipendente (il risultato che si misura)
- la/e variabile/i indipendente/i (la/e caratteristica/e o i valori dell’indicatore utilizzati)
- il metodo usato per calcolare la relazione (ad esempio, una regressione o un approccio simile alla correlazione)
- la regola di allineamento temporale (quale timestamp/prezzo alimenta il risultato di un determinato periodo)
Se non si riesce a dichiarare questi elementi con precisione, i risultati del backtest non sono verificabili in modo indipendente.
Meccanica: scegliere dati, assunzioni e costi
I backtest sono significativi solo quando le regole di preparazione dei dati sono esplicite. Tra le responsabilità comuni vi sono:
Definizione dei dati e campionamento
Scegliere una griglia temporale coerente (ad esempio, ogni chiusura del bar) e specificare come si gestiscono le osservazioni mancanti. Definire la finestra di lookback utilizzata per calcolare l’R². Se si utilizza una finestra mobile, specificarne la lunghezza e se viene aggiornata su ogni bar o solo in determinati momenti.
Allineamento temporale e controlli contro il leakage
Un errore comune è il bias da anticipazione (look-ahead bias): utilizzare informazioni che non sarebbero state note al momento della decisione. Stabilire una regola di allineamento come ad esempio: “il valore dell’indicatore calcolato con dati fino al tempo t viene valutato rispetto al risultato da t a t+1”. Applicare quindi tale regola nel codice e verificandola manualmente sui timestamp.
Costi e modello di esecuzione
Anche se si testa solo una statistica relazionale, molti flussi di lavoro alla fine la traducono in decisioni. In tal caso, è necessario modellare le frizioni materiali:
- assunzioni sullo spread denaro-lettera
- commissioni o costi
- slippage dovuto all’impatto di mercato o al riempimento degli ordini
Un backtest responsabile tratta i costi come parte integrante del processo dati-risultato, non come un fattore secondario. Altrimenti, l’R² potrebbe apparire forte mentre qualsiasi risultato pratico, tenendo conto dei costi, sarebbe più debole o inconsistente.
Evidenza: utilizzare controlli sul bias e verifiche fuori campione
Per verificare che il proprio “effetto R²” non sia un artefatto, utilizzare la separazione dei dati e una valutazione rigorosa.
Controlli sul bias
Come minimo, controllare le principali fonti di bias:
- bias da anticipazione (allineamento temporale)
- bias di selezione (scegliere periodi dopo aver visto i risultati)
- bias da overfitting (ottimizzare i parametri per massimizzare la performance in campione)
Un approccio pratico consiste nel considerare fisse tutte le scelte di parametri (lunghezza della finestra, regole di pre-elaborazione, soglie) prima dell’ultima fase di valutazione.
Test fuori campione
L’R² calcolato sui dati utilizzati per definire la relazione può sovrastimare l’affidabilità. Utilizzare:
- un periodo di addestramento (in-sample) per impostare le scelte
- un periodo di validazione per confermare di non adattarsi semplicemente al rumore
- un periodo finale fuori campione (out-of-sample) per la valutazione più conservativa
Se la relazione cambia sostanzialmente tra i periodi, questo è un risultato importante.
Una limitazione materiale e perché è rilevante
Un errore comune è che le relazioni esplicative storiche non garantiscono stabilità futura. I regimi di mercato possono cambiare e l’adattamento statistico può deteriorarsi con il mutare delle condizioni, specialmente quando i costi, la liquidità o la qualità dell’esecuzione differiscono dalle assunzioni.
Limitazioni e rischi da saper spiegare
Un backtest responsabile dovrebbe includere una sezione chiara sulle limitazioni che affronti:
- Non stazionarietà: le relazioni possono variare nel tempo.
- Sensibilità alla specifica del modello: piccole variazioni negli input o nell’allineamento possono cambiare l’R².
- Rischio di overfitting: un ottimo adattamento in campione può comunque produrre risultati deboli nel mondo reale.
- Sensibilità ai costi: ignorare lo spread e lo slippage può trasformare una relazione apparente in un’illusione.
Ricordare anche: l’R² è una misura dell’adattamento a una definizione di risultato. Se la variabile risultato è scelta male o non è coerente con le reali opportunità decisionali, la statistica può fuorviare.
Verifica: cosa si può controllare in modo indipendente
Per verificare in modo indipendente un backtest responsabile dell’R², si dovrebbe essere in grado di mostrare ad altri:
- la definizione esatta delle variabili dipendente e indipendente
- la regola di allineamento temporale e il metodo di finestra
- le assunzioni sui costi e sul modello di esecuzione utilizzate nel processo
- la strategia di suddivisione dei dati (addestramento/validazione/fuori campione) e quali parametri sono stati ottimizzati
- almeno un tipo di errore che si è testato (ad esempio, il bias da anticipazione tramite un controllo noto dello spostamento temporale)