Vai al contenuto
Percorso formativo Argento Metodo ripetibile

Costi di transazione nei backtest

Come simulare esecuzioni, commissioni e costi nei backtest, senza contare due volte spread e slippage: esempio dal lordo al netto.

Cita questa voce

Questo riferimento cita la voce di Cyclepedia. I documenti su cui si basa sono elencati nelle fonti della voce.

I costi di transazione nei backtest sono gli oneri e gli effetti dell’esecuzione che separano il risultato teorico da quello simulato. Il segnale e la scelta dell’ordine usano solo informazioni già disponibili. Dopo l’invio, il simulatore ricostruisce gli eventi successivi in ordine temporale: può usare le quote e i volumi che arrivano in seguito per simulare un fill, senza farli conoscere prima alla strategia. Anche i parametri del modello dei costi devono essere stimati senza usare il periodo che si intende valutare.

A chi serve — A chi passa da segnali teorici a ordini simulati e vuole sapere se il vantaggio teorico resta dopo l’esecuzione. Sottrarre una commissione fissa non basta quando spread, impatto, borrow, funding e probabilità di fill cambiano con strumento, tempo e quantità.

In parole semplici — Il segnale dice che cosa si vorrebbe comprare o vendere. Il modello dei costi chiede se, quando, quanto e a quale prezzo sarebbe stato davvero possibile farlo.

Dai prezzi di riferimento agli 88 euro netti100 azioni · ingresso e uscita completi · valori ipotetici. Scostamenti già nei fill: −4 −4. Commissioni separate: −4. Altri oneri esclusi.Dai prezzi di riferimento agli 88 euro netti100 azioni · ingresso e uscita completi · valori ipoteticiScostamenti già nei fill: −4 −4. Commissioni separate: −4. Altri oneri esclusi.1Teorico1002Ingresso−43Uscita−44Ai fill925Commissioni−46Netto88Cyclepedia · schema didattico condizionato, non previsione né promessa
Esempio ipotetico di 100 azioni: gli scostamenti già inclusi nei fill non vengono sottratti una seconda volta.

Dal segnale al risultato netto

Per una posizione chiusa, un conto verificabile parte dai prezzi e dalle quantità effettivamente simulati:

risultato netto = risultato ai prezzi di fill − commissioni e altri oneri non già inclusi

Se i prezzi di fill incorporano spread, slippage o impatto, quelle componenti non si sottraggono di nuovo. Il confronto con una posizione teorica ai prezzi di riferimento è invece una diagnosi della differenza di implementazione (implementation shortfall). Occorrono stessa finestra di valutazione, valuta, quantità desiderate ed eseguite e prezzi di riferimento datati. La componente relativa a un ordine non eseguito è un confronto controfattuale; non è una commissione da sottrarre ancora al risultato della posizione effettiva. Questa distinzione segue la discussione SEC del 2003, §§ II.A e III.B, dedicata alle transazioni dei fondi azionari e non a un modello universale per ogni mercato.

Componente Che cosa rappresenta Driver principali
Commissioni e tariffe broker, venue, clearing, exchange e imposte applicabili strumento, mercato, volume, piano tariffario
Spread costo di attraversare la differenza bid/ask liquidità, orario, volatilità, tipo d'ordine
Slippage scostamento fra fill e benchmark dichiarato latenza, gap, profondità, sequenza degli eventi
Market impact movimento associato alla propria domanda di liquidità size, partecipazione, urgenza, volatilità, resilienza
Ritardo e opportunity cost movimento mentre l'ordine attende o resta incompleto durata, limite, concorrenza, segnale che decade
Partial fill e non-fill quantità eseguita inferiore a quella desiderata priorità, profondità, cancellazioni, venue
Borrow prestito titoli, disponibilità, recall e fee dello short domanda di prestito, supply, specificità del titolo
Funding e margine finanziamento di posizioni, collateral e leva tasso, valuta, haircut, durata, intermediario
Roll e basis chiusura e riapertura di contratti o esposizioni curva, calendario, spread fra scadenze, liquidità

Altri elementi possono includere conversione valutaria, stamp duty o trattamento fiscale. Devono entrare soltanto nel perimetro pertinente e con una regola documentata.

Il margine è una garanzia o un requisito di capitale, non una spesa da sottrarre integralmente a ogni periodo. Si modellano separatamente interessi e costo di finanziamento del capitale impegnato. Nel roll si contabilizzano esecuzioni e oneri dei contratti: la differenza di prezzo fra scadenze non diventa automaticamente un’ulteriore commissione, soprattutto se è già riflessa nella curva di risultato.


Perché un costo fisso non è universale

Un'ipotesi di “un tick per operazione” può essere uno scenario didattico, non una proprietà del mercato. Lo stesso ordine cambia costo fra asta e mercato continuo, fra condizioni normali e stress, fra titolo liquido e micro-cap, fra ordine passivo e aggressivo. Anche il segno dello slippage può essere favorevole o sfavorevole rispetto al benchmark; ciò non rende gratuito l'impatto né garantisce la ripetibilità del miglioramento.

Il modello dovrebbe quindi dipendere, quando i dati lo consentono, da:

  • quantità e controvalore dell'ordine;
  • volume disponibile e tasso di partecipazione;
  • spread e profondità osservabili;
  • volatilità e regime temporale;
  • lato, tipo d'ordine, urgenza e durata;
  • venue, valuta e classe di attivo;
  • stato di borrow, funding e contratto.

Una semplice funzione crescente della partecipazione può essere più trasparente di una simulazione complessa non calibrata. La complessità deve seguire i dati, non precederli.


Ordini e fill causali

La catena corretta è: dati disponibili → segnale → ordine → interazione col mercato → fill → posizione. Un OHLC giornaliero non rivela la sequenza intraday né la quantità disponibile. Se massimo e minimo attraversano sia stop sia target, il backtest non può scegliere retrospettivamente l'esito favorevole. Servono dati più granulari oppure una regola conservativa dichiarata.

Per un limit order, “prezzo toccato” non significa automaticamente eseguito: possono esistere ordini davanti in coda o volume insufficiente. Per un market order, il prezzo non è garantito e può attraversare più livelli. Latenza e fill parziali modificano quantità, rischio e successivi segnali. Questi vincoli devono rispettare la pipeline descritta in data leakage e look-ahead bias.


Capacità della strategia

La capacità è la scala oltre la quale il rendimento netto, il rischio o la fedeltà al segnale si deteriorano in modo rilevante. Non è un importo fisso valido per sempre. Dipende da asset, turnover, concentrazione, orizzonte, crowding e modalità esecutiva.

Un controllo pratico ricalcola il test su più livelli di capitale o partecipazione. Per ogni livello registra:

Output Perché conta
quantità richiesta ed eseguita separa desiderio e posizione ottenuta
percentuale del volume misura la pressione relativa sul mercato
costo medio e marginale mostra la non linearità della scala
ordini incompleti evidenzia segnali non implementabili
rendimento e drawdown netti misura il deterioramento economico
tempo di liquidazione collega capacità e rischio di uscita

La capacità non si dimostra confrontando soltanto la size media col volume medio: giorni di stress, strumenti concentrati e uscite simultanee possono dominare il rischio.


Protocollo di modellazione

  1. Definisci il benchmark. Specifica prezzo e timestamp rispetto ai quali misurare il fill.
  2. Genera ordini espliciti. Quantità, lato, tipo, limite, durata e priorità logica devono derivare dal segnale.
  3. Allinea calendari, contratti e dati. Point-in-time: Riproduci gli eventi in ordine temporale: il fill deve essere compatibile con l’accettazione dell’ordine e con la liquidità allora disponibile; i dati successivi non entrano prima nelle decisioni.
  4. Applica costi espliciti verificabili. Versiona tariffe, cambi di regime e valuta.
  5. Modella spread e impatto senza duplicarli. Dichiara il benchmark e la funzione scelta.
  6. Consenti partial fill e non-fill. La posizione deve usare quantità realmente simulate.
  7. Aggiungi i costi di mantenimento pertinenti. Borrow e funding seguono tassi e durata; tratta il margine come vincolo di capitale. Il roll segue i contratti e il calendario.
  8. Calibra sul reale quando possibile. Confronta fill reali con le previsioni per classe di ordine; il paper trading resta una simulazione e non prova coda, impatto o eseguibilità reali.
  9. Esegui scenari. Base, favorevole e severo devono variare driver osservabili, non moltiplicatori presentati come legge.
  10. Testa più scale. Pubblica curva di costo e rendimento netto rispetto al capitale o alla partecipazione.
  11. Congela il modello prima dell'OOS. Parametri e regole usati nell'out-of-sample non vanno adattati al suo risultato.

Esempio ricalcolabile — Operazione long ipotetica di 100 azioni in euro, completamente chiusa, senza finanziamento, imposte o dividendi. I prezzi di riferimento sono 100 all’ingresso e 101 all’uscita: risultato teorico 100 × (101 − 100) = 100 euro. I fill simulati sono 100,04 e 100,96: risultato ai fill 92 euro. Commissioni di 2 euro per lato danno 92 − 4 = 88 euro netti. La differenza rispetto al riferimento è 4 euro in ingresso + 4 in uscita + 4 di commissioni = 12 euro. Gli 8 euro già riflessi nei fill non vengono sottratti ancora come spread o slippage.

In un caso separato, un ordine di 20.000 unità eseguito per 12.000 e poi 5.000 lascia 3.000 unità non eseguite: fill rate 85%. Si contabilizza la posizione di 17.000 unità; il risultato teorico delle 3.000 mancanti va nel confronto di implementazione, con un orizzonte dichiarato. Aumentare il capitale richiede di ricalcolare prezzi e quantità.


Limiti e comunicazione

L'impatto controfattuale non è osservabile con precisione: il mercato senza il proprio ordine non può essere visto. Modelli calibrati su periodi tranquilli possono fallire nello stress; dati di quote non ricostruiscono sempre la coda; borrow e funding storici possono essere incompleti. Perciò un backtest non deve presentare il costo come verità puntuale, ma come stima condizionata con assunzioni, intervalli e scenari.

Il rendimento lordo resta utile per studiare il segnale; quello netto serve per valutarne l'implementabilità. Pubblicarli entrambi, insieme a turnover, quantità, fill rate e capacità, rende visibile dove si crea o si perde il risultato.


Fonti

Collegamenti