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.
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
- Definisci il benchmark. Specifica prezzo e timestamp rispetto ai quali misurare il fill.
- Genera ordini espliciti. Quantità, lato, tipo, limite, durata e priorità logica devono derivare dal segnale.
- 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.
- Applica costi espliciti verificabili. Versiona tariffe, cambi di regime e valuta.
- Modella spread e impatto senza duplicarli. Dichiara il benchmark e la funzione scelta.
- Consenti partial fill e non-fill. La posizione deve usare quantità realmente simulate.
- 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.
- 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.
- Esegui scenari. Base, favorevole e severo devono variare driver osservabili, non moltiplicatori presentati come legge.
- Testa più scale. Pubblica curva di costo e rendimento netto rispetto al capitale o alla partecipazione.
- 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
André F. Perold, The Implementation Shortfall: Paper Versus Reality, The Journal of Portfolio Management, 1988 — differenza fra portafoglio teorico e risultato implementato.
U.S. Securities and Exchange Commission, Request for Comments on Measures To Improve Disclosure of Mutual Fund Transaction Costs — §§ II.A e III.B: componenti e benchmark; consultazione storica del 2003, non tariffario vigente.
Robert Almgren e Neil Chriss, Optimal Execution of Portfolio Transactions, Journal of Risk, 2001 — relazione fra dimensione, impatto, rischio di esecuzione e traiettoria degli ordini.
Gene D'Avolio, The Market for Borrowing Stock, Journal of Financial Economics, 2002 — disponibilità, fee e recall nel prestito titoli.
Andrea Frazzini, Ronen Israel e Tobias J. Moskowitz, Trading Costs of Asset Pricing Anomalies — costi live, impatto, scala e capacità di strategie azionarie.
SEC / Investor.gov, Types of Orders — ordini azionari USA: vincolo di prezzo e differenza tra riferimento e fill.
CME Group, Margin: Know What’s Needed — distinzione fra margine titoli e deposito richiesto sui futures.
CME Group, Understanding Futures Expiration & Contract Roll — chiusura del contratto e apertura della scadenza successiva.