18 Ottobre 2026 · ricerca

Come posso fare il backtest di una strategia che opera su un segnale giornaliero?

Come posso fare il backtest di una strategia che opera su un segnale giornaliero?

Una strategia giornaliera che calcola il segnale usando il prezzo di chiusura di lunedì non può inviare un ordine alla chiusura di lunedì. Può inviarlo dopo aver conosciuto quel prezzo e operare in seguito a un prezzo eseguibile. Questa piccola scelta sui tempi può influire sul risultato più di un indicatore ingegnoso.

Per un backtest giornaliero, metti per iscritto la sequenza prima di definire il segnale: quando la barra è completa, quando la strategia effettua il calcolo, quando l’ordine arriva sul mercato e a quale prezzo potrebbe plausibilmente essere eseguito. Se tutti questi eventi avvengono nello stesso istante, il backtest ha saltato la parte difficile.

Posso usare il prezzo di chiusura di oggi per operare alla chiusura di oggi?

Di solito, no. Un segnale che dipende dal prezzo di chiusura finale è disponibile solo dopo l’asta di chiusura o l’ultima transazione. Un’esecuzione allo stesso prezzo presuppone che la strategia conoscesse il risultato abbastanza presto da partecipare a un prezzo che ha contribuito a determinarlo.

Consideriamo una regola semplice: comprare quando la chiusura è sopra la media mobile a 20 giorni. Alla chiusura di lunedì, la regola diventa vera. Un backtest che compra alla chiusura di lunedì usa il prezzo finale di lunedì sia per decidere sia per eseguire l’ordine. In un modello di base basato su barre giornaliere, l’approssimazione corretta è generare l’ordine dopo il completamento della barra di lunedì ed eseguirlo non prima dell’apertura di martedì, tenendo conto dei costi appropriati.

Esistono strategie che inviano ordini all’asta di chiusura usando le informazioni disponibili prima dell’orario limite dell’asta. Si possono sottoporre a backtest, ma il segnale deve basarsi solo sui dati disponibili prima di tale limite e l’esecuzione deve riflettere le modalità dell’asta. La sola espressione «segnale giornaliero» non garantisce nessuna delle due condizioni.

Qual è il prezzo di esecuzione corretto per un backtest giornaliero?

Non esiste un unico prezzo sempre corretto. L’apertura della sessione successiva è un’ipotesi iniziale chiara quando il segnale viene generato da una barra giornaliera completa e l’ordine viene inviato in seguito. Non è una garanzia: un gap notturno può spostare il mercato e un ordine a mercato comporta spread, commissioni e, potenzialmente, impatto.

Per il segnale di lunedì visto sopra, supponiamo che la chiusura di lunedì sia $100 e che martedì apra a $103. Un backtest da chiusura a chiusura può mostrare un piccolo guadagno se finge di comprare a $100. Un ingresso all’apertura successiva parte da $103. La differenza di $3 non è «slippage» da eliminare con una regolazione: è la conseguenza sul prezzo del fatto che il segnale si conosce solo dopo la chiusura di lunedì.

Il segnale diventa disponibilePossibile esecuzioneIpotesi del modello
Dopo la chiusura giornalieraAll’apertura della sessione successivaL’ordine può raggiungere il mercato prima o all’apertura
Prima dell’orario limite dell’asta di chiusuraAsta di chiusuraIl segnale usa solo informazioni disponibili prima dell’orario limite; l’esecuzione in asta è modellata
Dopo la chiusura giornalieraPrezzo intraday successivoLa strategia attende; l’esecuzione richiede dati intraday e una pianificazione dichiarata

Nei mercati crypto, la «chiusura giornaliera» è una convenzione, perché le contrattazioni proseguono oltre il confine temporale. Una strategia può comunque usare una candela giornaliera UTC completa, ma deve attendere che la candela sia completa e che i dati siano arrivati. Se la pipeline dei dati finalizza una barra con qualche secondo di ritardo, è particolarmente difficile giustificare un ordine al prezzo di confine.

Come dovrei modellare gli ordini se ho solo barre giornaliere?

Dichiara con precisione cosa può e cosa non può dirti la barra. I dati OHLCV giornalieri possono supportare un’approssimazione all’apertura successiva, ma non rivelano lo spread al momento in cui arriva l’ordine, l’andamento dei prezzi durante la giornata o se un ordine limite si è messo in coda prima che il prezzo lo raggiungesse.

Per un ordine a mercato giornaliero, parti dall’apertura successiva e addebita poi alla strategia i costi che dovrebbe effettivamente sostenere: commissioni della piattaforma, una stima dello spread e una stima dell’impatto adeguata alla dimensione dell’ordine. Metti alla prova queste stime con scenari più gravosi. Se il risultato dipende dall’ipotesi di spread nullo o impatto trascurabile, le barre giornaliere non giustificano tale fiducia.

Per un ordine limite, il fatto che il minimo della giornata abbia raggiunto il tuo limite non dimostra che l’ordine sia stato eseguito. Il mercato potrebbe aver scambiato a quel prezzo prima dell’arrivo dell’ordine, oppure potrebbe esserci stata una quantità maggiore davanti al tuo ordine rispetto a quella scambiata. Le barre giornaliere sono spesso troppo grossolane per sostenere un modello di coda credibile. Usa dati più granulari se la tesi dipende dall’esecuzione intraday, oppure scegli un’ipotesi di esecuzione deliberatamente prudente e dichiarala.

Quali controlli sui tempi aiutano a individuare il lookahead nelle barre giornaliere?

Mi piacciono alcuni controlli diretti, perché fanno emergere rapidamente le ipotesi:

Lo spostamento di una sessione è uno strumento diagnostico, non un modello di esecuzione valido in ogni caso. Un ribilanciamento lento di portafoglio, una strategia sull’asta di chiusura e un sistema crypto che opera in continuazione richiedono orologi diversi. L’obiettivo è rendere espliciti i tempi.

I dati giornalieri rendono un backtest meno utile?

No. I dati giornalieri possono essere del tutto adeguati per una strategia le cui decisioni e i cui periodi di mantenimento si misurano in giorni o settimane. Sono utili per valutare se valga la pena approfondire una regola generale. Diventano fuorvianti quando il backtest pretende precisione sulle esecuzioni che le barre non possono mostrare.

Ho visto più di una strategia migliorare drasticamente quando qualcuno ha sostituito «segnale alla chiusura, esecuzione alla chiusura» con «segnale alla chiusura, esecuzione all’apertura successiva». Il risultato può essere deludente, ma è utile: ti dice se l’idea regge nel momento in cui diventa possibile operare. Tieni le regole sui tempi accanto al codice della strategia. Altrimenti, la prossima ottimizzazione reintrodurrà di nascosto l’esecuzione impossibile.

segnali giornalieritempistica dell’esecuzionebacktestingdati di mercato
← Tutti gli articoli