Questo è un articolo che è stato pubblicato il 12 Febbraio 2015, ma che ti ripropongo in quanto può farti riflettere sull’importanza dell’esecuzione degli ordini in apertura di contrattazione, e di come controllare lo slippage nel trading sul mercato azionario.
Riuscire a codificare una metodologia di trading che “sulla carta” è profittevole, non basta. La stessa attenzione posta nello scolpire le regole di ingresso ed uscita o nel validare questa operatività per capire se sia sufficientemente robusta, andrebbe messa anche nella fase di execution (letteralmente di “esecuzione” dell’ordine).
Chi ha passato anni della propria vita a passare ordini manualmente, magari su sottostanti (come le opzioni) che hanno bid-ask non proprio stretti come quelli di un future, o a “lottare” nei book, credo sappia già a cosa mi riferisco. Se non siete passati da esperienze del genere, è probabile che tenderete a sottovalutare l’importanza di una attenta esecuzione dell’ordine, magari registrando passivamente l’entità dello slippage rispetto al risultato teorico del sistema, ma senza cercare in maniera proattiva una soluzione per gestire e contenere questo problema.
Un esempio dovrebbe servire a comprendere di cosa sto parlando. Avete mai provato a impostare ordini a mercato in apertura di contrattazione? Questi ragionamento valgono sia che l’abbiate fatto manualmente, magari la sera prima, nel book per farli scattare all’indomani alle 15:30 all’apertura del mercato (considero il mercato azionario USA) sia che si tratta di ordini di un trading system che ragiona “next bar at open” (che probabilmente è la forma più semplice e immediata di passare ordini da parte di chi inizia a programmare le proprie idee di trading).
Nei primi secondi dopo l’apertura, a meno che il titolo in questione non abbia già scambiato volumi significativi nel pre market, la distanza fra bid e ask è il più delle volte indecente (non trovo una parola più “mite” per dirlo). Bastano da poche decine di secondi fino anche a qualche minuto, per vedere il titolo iniziare a scambiare su bid-ask più stretti e vicini, ma un ordine a mercato che scatta in apertura di contrattazioni non aspetta: vende sul bid o compra sull’ask, a prescindere che si tratti di valori ancora piuttosto distanti, e che di lì a breve si sarebbero avvicinati notevolmente.
I sistemi su azionario che impiego utilizzano quasi esclusivamente ordini stop o limit: quando questi ordini scattano durante la seduta di contrattazione, non ci sono problemi, ma talvolta in presenza di gap, questi ordini possono scattare subito in apertura, portando allo stesso risultato presentato poc’anzi: un eseguito allucinante (rispetto alla quotazione che andremo ad osservare di lì a pochi minuti) e un open loss che, francamente, non è la maniera migliore per iniziare un trade. Si tratta di situazioni non troppo frequenti… e, francamente, basta poco per evitarlo: controllare qualche decina di minuti prima dell’apertura, nel pre market, se il titolo aprirà in gap e posticipare semplicemente l’inserimento dell’ordine a qualche minuto dopo l’apertura delle contrattazioni.
…ma ci sono operatività differenti, sempre su azionario, che invece impiegano solo ordini market in apertura di contrattazioni: mi riferisco all’operatività in Spread. In questi casi non si tratta più dell’eccezione, ma della regola… e non controllare correttamente questa fase di execution può davvero fare la differenza nelle performance finale del sistema.
Per quantitifcare il problema (così capite di cosa stiamo parlando), oggi ho aperto due piattaforme e ho deciso di passare una decina di ordini a mercato (gli stessi su entrambe): nel primo caso ho impostato gli ordini in macchina e ho lasciato che venissero eseguiti in apertura di contrattazioni, alle 15:30. Ecco il risultato:

Nella prima colonna trovate il ticker del titolo (ho impiegato dei CFD ma non sarebbe cambiato granchè se avessi impiegato le azioni sottostanti), nella seconda il numro di azioni negoziate, nella terza il Profit/Loss che a distanza di pochi minuti sta già registrando la posizione… ed in alto il totale: stiamo perdendo 554 usd… il motivo? una pessima esecuzione di questi ordini a mercato, in condizioni in cui bid e ask erano ancora piuttosto larghi.
…prima che vi lanciate ad ipotizzare altre teorie che possono avere concorso a maturare una zavorra del genere su operazioni appena aperte, vi ricordo che si tratta di operatività in spread, quindi market neutral, dove il controvalo renegoziato long è simile al controvalore short… quindi escludiamo subito che si tratta di un movimento avverso del mercato nei primi mintui di contrattazione.
Nell’altra pattaforma, invece, ho preparato tutti gli ordini a mercato per entrare sulle stesse posizioni (in un basket), maho atteso 15 minuti prima di trasmetterlo. Già dopo pochi minuti i bid-ask di ogni azione si erano già ristretti su valori ragionevoli, ma ho comunque atteso 15 minuti (forte del fatto che si tratta di operatività in spread, long/short, quindi il fatto che il mercato potesse partire forte o franare bruscamemte, non avrebbe impattatio granchè in questi primi minuti).
…e così, mentre sull’altra piattaforma osservavo una perdita ormai di 590 usd, su questa, dopo avere passato gli ordini a mercato, ecco il risultato:

…-52 usd…
Quanto valgono questi 15 minuti di ritardo nell’inserimento di ordini a mercato in apertura di contrattazioni?
…poco più di 500 usd… che sul controvalore negoziato di 48.500 usd rappresenta un 1% circa, ma che sulla marginazione bloccata di 7500 usd, invece, rappresenta una inaccettabile zavorra del 6,6%.
Su entrambe le piataforme gli ordini sono stati trasmessi impiegando la funzionalità Basket Trader (che diverse piattaforme offrono): si impostano tutti gli ordini nel basket e si sceglie quando trasmetterli con un click (magari andando a monitorare in tempo reale la dimensione dello spread bid-ask che qua sotto potete vedere tracciato nella colonna “spread”).

…questo è solo uno dei tanti accorgimenti che possono rendersi necessari per cercare di ottenere una execution decente e non staccarsi troppo dai valori di aperura teorici riportati dalle piattaforme, su cui magari si è condotto il backtest del proprio trading system.
Questo ritardo (anche piuttosto pronunciato) nell’inserimento degli ordini, è indicato su operatività in Spread, dove apriamo posizioni market neutral e che stanno in posizione anche due/tre settimane, e dove i test che abbiamo condotto mostrano equity molto simili sia che entry in apertura, che in chusura di giornata… ma non su tutte le operatività si possono adottare accorgimenti del genere.
…per chi voglia approfondire meglio anche questo aspetto (execution) del lavoro del trader, ti invito a dare l’occhiata a questi corsi:
✅ Trading System e Money Management
Buon Trading!
Luca Giusti

Ecco altri articoli che potrebbero interessarti:
Se hai qualche domanda, postala qui di seguito, oppure scrivici una e-mail a [email protected]
Puoi anche prenotare una chiamata con qualcuno di noi, cliccando qui e scegliendo giorno e ora: https://calendly.com/qtlab/60-min?month=2023-05
Qui invece trovi tante Risorse Gratuite dove puoi approfondire meglio qualcuno degli argomenti di questo articolo: https://www.qtlab.it/p/corsi-gratis