WeCore
Trading algoritmico

Backtest vs trading dal vivo: perché i risultati reali cambiano

Perché i risultati dal vivo differiscono dal backtest: esecuzioni, slippage, commissioni, latenza, qualità dei dati, look-ahead bias e cambi di regime, e come testare prima.

WeCore·Pubblicato il ·5 min di lettura

Quasi tutti i trader che hanno costruito una strategia hanno vissuto questo momento: il backtest è splendido, e dopo qualche settimana di trading dal vivo il quadro è completamente diverso. Non significa per forza che la strategia sia cattiva. Significa che un backtest è un modello della realtà, e ogni modello ha le sue ipotesi. In questo articolo vediamo le principali cause del divario e come ridurlo.

Cosa misura davvero un backtest

Un backtest applica le regole di una strategia ai dati storici di prezzo e calcola cosa sarebbe successo se le avessi tradate. In TradingView, per esempio, lo Strategy Tester lo fa per le strategie scritte in Pine Script. Il risultato è una stima, non una registrazione del passato.

Il problema è che un backtest "conosce" solo ciò che c'è nei suoi dati. Se i dati sono barre a cinque minuti, non sa cosa è successo all'interno della barra. Se non hai impostato le commissioni, presume che fare trading sia gratis. Se non hai impostato lo slippage, presume che ogni ordine venga eseguito esattamente al prezzo desiderato. Ognuna di queste ipotesi gonfia il risultato.

Esecuzioni e slippage

Per la maggior parte dei trader questa è di gran lunga la principale fonte del divario.

  • Ordini a mercato: vengono eseguiti al primo prezzo disponibile, non al prezzo visibile sul grafico al momento della decisione. Nei momenti di volatilità, come l'uscita del dato sull'occupazione, la differenza può essere di diversi tick.
  • Ordini limite: garantiscono il prezzo ma non l'esecuzione. Molti backtest presumono che se il prezzo ha toccato il livello, l'ordine sia stato eseguito. Nella realtà potresti essere stato in fondo alla coda e non essere mai stato eseguito, spesso proprio sui trade migliori.
  • Ordini stop: una volta attivati diventano ordini a mercato, quindi possono essere eseguiti lontano dal livello.

Un esempio ipotetico: una strategia fa 400 trade all'anno su MNQ. Se ogni trade subisce in media un tick di slippage in entrata e uno in uscita, si arriva a 800 tick all'anno che nel backtest non sono mai comparsi. Per una strategia con un edge ridotto, può essere tutta la differenza. Approfondimento in slippage e costi di esecuzione.

Commissioni, fee di borsa e costi dei dati

Ogni trade sui futures ha dei costi: commissione del broker, fee di borsa e regolamentari, e a volte costi della piattaforma. Le strategie con frequenza relativamente alta sono particolarmente sensibili. Una regola pratica semplice: imposta nel backtest costi prudenti, leggermente più alti di quelli che prevedi di pagare.

Latenza

Tra il momento in cui una condizione si verifica e quello in cui l'ordine arriva in borsa passa del tempo: la barra deve chiudersi, l'alert viene inviato, il webhook viene ricevuto ed elaborato e l'ordine va al broker. Di solito si parla di pochi secondi o meno, ma in un mercato veloce conta anche questo. Una strategia costruita per entrare esattamente alla chiusura della barra otterrà sempre, nella pratica, un prezzo leggermente diverso.

Qualità dei dati e bias

  • Look-ahead bias: il codice usa informazioni che al momento della decisione non erano disponibili. Esempio classico: decidere in base alla chiusura di una barra ma entrare all'apertura della stessa barra. Può causarlo anche un uso disattento dei dati di timeframe superiori.
  • Repainting: indicatori che modificano i propri valori storici a posteriori. Sul grafico il segnale sembra perfetto; in tempo reale è comparso e poi scomparso.
  • Survivorship bias: riguarda soprattutto le azioni, cioè testare solo su titoli sopravvissuti fino a oggi. Nei futures il problema parallelo sono i grafici continui (come NQ1!) che uniscono contratti diversi e possono creare salti artificiali nei giorni di rollover.
  • Dati mancanti o errati: barre mancanti, orari di sessione sbagliati o un fuso orario errato.

Cambi di regime di mercato

Anche un backtest tecnicamente perfetto descrive il passato. I mercati attraversano fasi di alta e bassa volatilità, di trend e di laterale. Una strategia testata soprattutto su un anno con un carattere particolare può comportarsi in modo molto diverso nel periodo successivo. Più il periodo di test è lungo e vario, più il quadro è affidabile, ma non è mai garantito. Un problema strettamente collegato è l'overfitting, di cui parliamo in overfitting nelle strategie di trading.

Forward test e simulazione

Il modo migliore per colmare il divario è una fase intermedia: far girare la strategia in tempo reale su un conto simulato, usando lo stesso percorso di esecuzione che userai dal vivo. Si chiama forward test o paper trading.

Cosa verificare in questa fase:

  1. Gli alert arrivano puntuali e nel formato corretto?
  2. Qual è la distanza media tra il prezzo del segnale e il prezzo di esecuzione?
  3. Il numero di trade è simile a quello previsto dal backtest?
  4. Ci sono trade duplicati o mancanti, o posizioni "orfane"?
  5. Il comportamento in apertura, in chiusura e durante l'uscita dei dati è ragionevole?

Registra ogni trade in un diario e confrontalo con il backtest sullo stesso periodo. Il divario che misuri è prezioso: puoi reinserirlo nel backtest come ipotesi realistica di slippage.

Aspettative ragionevoli

  • Dai per scontato che i risultati dal vivo saranno più deboli del backtest e pianifica di conseguenza.
  • Se una strategia è profittevole solo senza commissioni e slippage, non ha un vero edge.
  • Un breve periodo di simulazione non dimostra nulla, né in un senso né nell'altro; serve soprattutto a testare l'infrastruttura.
  • All'inizio del trading dal vivo la size deve essere piccola e crescere solo quando l'esecuzione si comporta come previsto.

Punti chiave

  • Un backtest è un modello con delle ipotesi, e quasi tutte gonfiano i risultati.
  • Slippage, esecuzione degli ordini limite e commissioni sono le principali fonti del divario.
  • Look-ahead bias e repainting possono produrre risultati mai ottenibili in tempo reale.
  • Il forward test in simulazione, con lo stesso percorso di esecuzione, è un passaggio obbligato.
  • Misura il divario reale e reinseriscilo nei tuoi test.

Se usi gli alert di TradingView, WeCore ti permette di collegarli al tuo conto e farli girare prima in modalità simulazione, così puoi verificare esecuzioni, tempistiche e regole di rischio prima di passare a un conto reale. Per i concetti di base, vedi cos'è il trading algoritmico.

Fonti e letture di approfondimento