Spesso il modello di slippage più onesto è deliberatamente impreciso. Un backtest che riporta un costo di esecuzione preciso basandosi su dati storici poco granulari avanza una tesi che i dati non possono sostenere.
Sembra un argomento a favore di ipotesi approssimative. È il contrario: usa un modello semplice che sai spiegare, poi fagli dare risultati diversi da sé stesso. Se una strategia funziona solo con una stima dell’eseguito opportunamente favorevole, l’incertezza fa parte del risultato.
Perché una stima precisa dello slippage può essere fuorviante?
Supponiamo che tu abbia barre OHLCV a 1 minuto e invii un ordine a mercato per 2,000 azioni. La barra mostra l’intervallo di prezzo e il volume totale nell’arco di un minuto. Non indica il bid e l’ask al momento dell’arrivo dell’ordine, la coda davanti a te, come si è distribuito il volume nel minuto o quale parte sarebbe stata assorbita dal tuo ordine.
Puoi comunque assegnare un valore numerico allo slippage. Potresti eseguire al prezzo di apertura della barra successiva più un costo fisso in punti base, oppure proporzionale al rapporto tra la dimensione dell’ordine e il volume della barra. Sono approssimazioni utili, ma non osservazioni. Presentare il risultato come «slippage: 3.2 punti base» fa sembrare una scelta di modello una misurazione.
Consideriamo un esempio concreto: una strategia negozia $20,000 per ordine su un titolo il cui volume nella barra successiva è $400,000. Il tasso di partecipazione è 5%. Un modello che addebita 2 punti base costa $4 per ordine; uno che ne addebita 10 costa $20. Su 500 operazioni di andata e ritorno, la differenza è di $16,000, prima delle commissioni. Se il profitto lordo del backtest è $18,000, l’ipotesi sull’esecuzione incide quasi quanto il segnale.
Definisci un intervallo coerente con ciò che i dati possono mostrare
Parti da uno scenario di riferimento che rispecchi il tipo di ordine della strategia e la granularità dei dati. Un ordine a mercato richiede di considerare spread e impatto. Per un ordine limite serve una regola che stabilisca se viene eseguito; presumere che ogni prezzo toccato comporti un’esecuzione è un errore diverso nel modello di esecuzione.
Poi esegui lo stesso backtest con un insieme ristretto di scenari espliciti. Mantieni invariati segnale, dimensionamento e timestamp, così potrai attribuire le variazioni all’esecuzione:
| Scenario | Ipotesi sull’esecuzione | Che cosa verifica |
|---|---|---|
| Favorevole | Spread di riferimento e impatto ridotto | Quanto dipende la strategia da condizioni di mercato favorevoli? |
| Base | Spread tipico e impatto proporzionale al tasso di partecipazione | Che cosa implica l’ipotesi operativa scelta? |
| Sfavorevole | Spread più ampio, impatto maggiore ed esecuzione ritardata | Il vantaggio regge in condizioni di mercato difficili ma plausibili? |
Non sono intervalli di confidenza, a meno che tu non li abbia calibrati statisticamente. Sono scenari di prova. Spiega nel report che cosa rappresentano e non farne una media per ottenere uno «slippage atteso» inventato, se non hai dati a sostegno delle probabilità.
Fai dipendere il modello dall’ordine
Un costo fisso in punti base può essere un’approssimazione iniziale ragionevole per gli ordini piccoli. Con l’aumentare del tasso di partecipazione diventa una rappresentazione poco credibile. Come minimo, registra il controvalore dell’ordine, il volume disponibile nella barra e il tasso di partecipazione. Se la strategia negozia futures, registra il valore del contratto e le unità di volume pertinenti; se negozia crypto spot, indica chiaramente la valuta di quotazione e la piattaforma.
Una semplice curva d’impatto può rendere visibile la pressione sulla capacità senza fingere di riprodurre il book degli ordini. Per esempio, definisci il costo come uno spread di riferimento più una componente d’impatto che cresce con la radice quadrata del tasso di partecipazione. Stima i parametri solo se disponi di dati di esecuzione adeguati. Altrimenti, varia i parametri e mostra quanto rapidamente peggiora il risultato.
Evita inoltre che il modello di esecuzione salvi la strategia senza che te ne accorga. Un segnale long che arriva dopo un forte rialzo non dovrebbe ottenere il minimo della barra solo perché si trova all’interno della candela. Usa una convenzione di esecuzione causale, poi applica uno stress al prezzo e ritarda l’esecuzione. Se l’ordine ritardato perde il movimento, è un esito dell’esecuzione, non un fastidio da attenuare.
Una domanda utile: a quale spread, impatto, ritardo o tasso di partecipazione la performance netta scende a zero? Spesso quel punto di pareggio è più utile di un singolo Sharpe del backtest.
Usa il paper trading per restringere l’intervallo
Il paper trading non rivela quale esecuzione avresti ottenuto in un motore di matching reale. Può comunque dirti se il flusso di ordini del backtest assomiglia alle decisioni effettive del sistema: quando vengono generati gli ordini, quanto sono grandi e per quanto tempo restano eseguibili.
Confronta il prezzo simulato dell’ordine con le quotazioni contemporanee o con i dati di mercato registrati dal sistema di paper trading. Monitora lo scarto per strumento, ora del giorno, dimensione dell’ordine e tipo di ordine. Queste osservazioni possono restringere le ipotesi per quella configurazione, ma non si trasferiscono automaticamente a un’altra piattaforma, a un diverso regime di mercato o a un ordine più grande.
Le critiche sono fondate: gli scenari pessimisti possono essere arbitrari. Un modello deliberatamente severo può scartare una strategia valida, proprio come uno favorevole può far apparire migliore una strategia debole. Perciò non considerare vero lo scenario più severo. Pubblica le ipotesi, mostra la sensibilità e raccogli i dati necessari per sostituire le stime con valori calibrati.
Un backtest non può ricostruire la posizione storica in coda a partire da una candela. Può mostrare se l’idea resta coerente quando l’esecuzione peggiora in modi che i tuoi dati non consentono di escludere. È una risposta più utile di una cifra decimale.
← Tutti gli articoli


