Definizione di Backtesting rispetto ai concetti Forex correlati: un confronto limitato
Risposta diretta: come il backtesting differisce dai concetti Forex correlati
La definizione di backtesting consiste nell’applicare una regola decisionale definita a dati di mercato storici e registrare cosa sarebbe accaduto sotto specifiche ipotesi. Differisce dai concetti strettamente correlati principalmente per intervallo temporale (solo passato vs passato poi nuovo), metodo di valutazione (riproduzione vs emulazione di esecuzione) e scopo (misurazione vs test di resistenza in condizioni simili al futuro).
Di seguito è riportato un confronto limitato che collega ogni concetto adiacente al suo proprietario canonico: il concetto stesso (ciò che è) e il luogo canonico in cui appartiene (il suo obiettivo principale nel flusso di ricerca/convalida).
Meccanica: il cuore della definizione di backtesting
Un backtest richiede più di un grafico e una descrizione della strategia. Al minimo, servono:
-
Un insieme di regole: quali segnali o condizioni attivano un’entrata, e quali regole governano le uscite. Per “insieme di regole” si intende logica deterministica, non un’idea generale.
-
Una portata dei dati: quale periodo storico e quale serie di prezzi (ad esempio, dati a barre vs dati a tick). La “portata” stabilisce quali informazioni la regola avrebbe potuto utilizzare.
-
Ipotesi sull’esecuzione: anche riproducendo la cronologia, bisogna comunque definire come sarebbero stati eseguiti gli ordini. Le ipotesi comuni includono se gli eseguiti avvengono all’apertura/chiusura della barra, come viene trattato lo slippage e come vengono modellizzati i costi di trading.
-
Una definizione di metrica: cosa si misura (ad esempio, rendimenti, drawdown, frequenza di trade o misure corrette per il rischio). Le metriche possono essere calcolate in molti modi, quindi le definizioni devono essere esplicite.
Quando questi elementi sono fissi, il backtesting è “limitato” perché risponde a una sola domanda: dato il periodo storico dichiarato e le ipotesi indicate, come sarebbe apparita la performance della regola? Non risponde però se la regola funzionerà nel prossimo intervallo temporale.
Concetti correlati e i loro proprietari canonici (confronti limitati)
Backtesting vs walk-forward testing (proprietario canonico: convalida sequenziale)
- Backtesting di solito testa su un unico intervallo storico (passato-a-risultati).
- Walk-forward testing estende questo concetto addestrando/definendo ripetutamente i parametri su un segmento precedente e testando poi sul segmento immediatamente successivo, spostandosi in avanti nel tempo.
Differenza principale: il walk-forward testing cerca di imitare il fatto che i parametri e il comportamento potrebbero dover adattarsi, riducendo anche la tentazione di overfittare un singolo frammento di storia.
Ipotesi da dichiarare: con quale frequenza si riaddestra, se è permesso modificare la regola e quali informazioni sono consentite durante la fase di “addestramento”.
Backtesting vs forward testing (proprietario canonico: valutazione in condizioni simili al futuro)
- Backtesting valuta su dati storici.
- Forward testing valuta su dati che si verificano dopo che la logica decisionale è stata fissata (futuro rispetto al momento in cui si è impostata la regola).
Differenza principale: il forward testing utilizza un ordine temporale che il backtesting non può garantire. Il suo obiettivo è individuare i fallimenti che emergono quando i regimi cambiano o quando il mercato evolve in modi non catturati dal campione precedente.
Ipotesi da dichiarare: cosa si considera “fisso” all’inizio del forward testing e come vengono gestiti costi ed esecuzione.
Backtesting vs simulazione (proprietario canonico: come viene modellizzata l’esecuzione)
- Backtesting è principalmente un metodo di applicazione di regole a dati passati.
- Simulazione è un concetto più ampio e spesso si riferisce ai dettagli implementativi di come si riproducono i prezzi e si modellizzano gli eseguiti, la latenza e gli attriti di trading.
Differenza principale: due backtest possono usare le stesse regole e dati ma differire perché uno è in realtà una simulazione di esecuzione con una modellizzazione degli eseguiti più realistica.
Criteri di confronto materiali:
- granularità del prezzo (barre vs tick)
- tempistica degli eseguiti (entrata/uscita a specifici timestamp)
- modello dei costi (ipotesi su spread, commissioni, slippage)
Backtesting vs paper trading (proprietario canonico: osservazione in condizioni reali senza esposizione al capitale)
- Backtesting è offline; riproduce la cronologia.
- Paper trading è un’esecuzione simile al reale in cui la regola viene applicata ai dati di mercato correnti o in streaming, ma senza ordini effettivi.
Differenza principale: il paper trading testa l’aspetto operativo (tempistica della generazione del segnale, comportamento del feed dati, coerenza della logica degli ordini) ma potrebbe comunque non riprodurre esattamente i vincoli reali di esecuzione.
Ipotesi da dichiarare: se il paper trading corrisponde alla logica di esecuzione usata nel backtest e come vengono tracciate le discrepanze.
Evidenza ed esempio: perché le definizioni sono importanti per i calcoli
Considera una regola semplificata: “Entra alla prossima barra temporale dopo che la condizione è vera; esci dopo N barre.”
Uno ricercatore può produrre diversi “risultati di backtest” a seconda delle ipotesi:
- Se si assume l’entrata alla chiusura della barra vs all’apertura della barra, il prezzo di esecuzione differisce.
- Se si assume nessuno slippage vs un modello di slippage fisso, il trascinamento dei costi cambia.
- Se i costi sono modellizzati per trade vs per unità di tempo, le metriche di performance netta differiscono.
Per mantenere l’esempio significativo, bisogna dichiarare esplicitamente le ipotesi: dimensione della barra, tempistica degli eseguiti, modello dei costi e precisione della regola di uscita.
Questo illustra un principio di confronto limitato: il backtesting e i suoi concetti adiacenti possono apparire diversi non perché l’idea è diversa, ma perché la meccanica di valutazione è diversa.
Limitazioni e modi di fallimento: cosa può andare storto
Anche con definizioni accurate, si applicano diverse limitazioni materiali:
-
Overfitting alla storia: se i parametri vengono regolati ripetutamente sullo stesso dataset, la performance misurata potrebbe riflettere modelli casuali.
-
Cambio di regime: le relazioni di mercato possono cambiare; i modelli storici non garantiscono risultati futuri.
-
Divergenza nell’esecuzione: gli eseguiti reali dipendono dalla liquidità, dalla priorità degli ordini e dal timing. Un backtest che assume eseguiti ideali può sopravvalutare la realtà.
-
Qualità dei dati e problemi di sopravvivenza: feed dati incoerenti, barre mancanti o mappatura errata degli strumenti possono distorcere le metriche del backtest.
-
Gradi nascosti di libertà: l’“insieme di regole” potrebbe essere modificato indirettamente attraverso interpretazione, filtri o selezione dei trade da includere.
Poiché questi fallimenti dipendono dalle definizioni, la verifica deve essere legata alle stesse meccaniche usate nel backtest e alle stesse ipotesi.
Verifica e prossima domanda: come verificare autonomamente le affermazioni
Per verificare un flusso di lavoro di backtesting senza fare affidamento su previsioni:
- Ridichiarare le ipotesi: quali dati di prezzo, quale tempistica degli eseguiti, quali costi e quali definizioni di metriche sono stati usati.
- Separare ricerca e valutazione: valutare su dati non usati per progettare o regolare la regola.
- Usare controlli sequenziali: preferire il walk-forward testing o il forward testing quando possibile, perché testano l’ordine temporale.
- Sottoporre a stress le ipotesi di esecuzione: se piccoli cambiamenti nello slippage, nello spread o nella tempistica degli eseguiti causano forti oscillazioni nei risultati, l’approccio potrebbe essere fragile.
Prossima domanda da porsi: Quali parti del flusso di lavoro vengono convalidate—la logica delle regole, la modellizzazione dell’esecuzione o la gestione dei dati? Il concetto adatto (walk-forward, forward testing, simulazione o paper trading) dipende da quale parte si vuole verificare.