Come si possono misurare gli Algoritmi di Esecuzione?
Algoritmi di esecuzione: cosa misurare
Gli algoritmi di esecuzione sono metodi che determinano come gli ordini vengono suddivisi in azioni più piccole e come queste vengono temporizzate e instradate. Per misurarli in modo verificabile da altri, concentrati sui campi misurabili relativi all’esecuzione (cosa è accaduto) e sui campi temporali misurabili (quando è accaduto). Confronta quindi i risultati solo in base ad assunzioni chiaramente dichiarate, poiché le condizioni di mercato e i costi di esecuzione possono dominare gli esiti.
Meccanismo e campi misurabili
Un modo pratico per definire la misurazione consiste nel partire da un “registro eventi ordine” per un singolo ordine padre.
1) Campi temporali
- Orario della richiesta: quando l’ordine padre è stato inviato.
- Inizio dell’esecuzione: quando avviene il primo tentativo di esecuzione di un ordine figlio.
- Orario di completamento: quando l’ordine padre è completamente riempito o terminato.
- Finestre di coda/latenza: tempo trascorso tra l’invio di un ordine figlio e la ricezione di un riconoscimento o di un riempimento (se i dati lo registrano).
2) Campi relativi alla qualità del riempimento
- Tasso di riempimento (fill ratio): quantità riempita divisa per la quantità prevista.
- Quantità residua: ciò che non è stato riempito al completamento.
- Distribuzione del riempimento: quanto è stato riempito in ogni intervallo temporale.
3) Campi relativi a costi e impatto sui prezzi
Per evitare ambiguità, calcola i costi utilizzando un prezzo di riferimento scelto e una formula chiaramente definita.
Scelte comuni di riferimento includono:
- Prezzo medio all’inizio (punto medio tra il miglior bid e ask, se osservabile)
- Prezzo di decisione al momento in cui l’algoritmo è partito
- Prezzo di arrivo (arrival price) al primo istante eseguibile
Quindi misura:
- Slippage: differenza tra il prezzo medio di esecuzione e il prezzo di riferimento (direzione specifica).
- Implementation shortfall (concettualmente): costo relativo a un riferimento che include sia il movimento del prezzo sia l’incompletezza dell’esecuzione.
4) Campi relativi a vincoli e controllo Se l’algoritmo ha parametri (ad esempio, obiettivi di partecipazione o limiti temporali), trattali come input misurabili e verifica con quale frequenza l’algoritmo ha rispettato tali vincoli in ogni scenario.
Evidenze ed esempio di calcolo (con assunzioni esplicite)
Supponi di avere un ordine padre per 100 unità.
- Ordine padre inviato alle 10:00:00.
- Primo tentativo di esecuzione figlio alle 10:00:05.
- Completamento totale alle 10:00:35.
- Il prezzo medio di esecuzione complessivo è 1.2000.
- Il tuo prezzo di riferimento (prezzo medio all’inizio dell’esecuzione) è 1.1980.
Un calcolo semplice e verificabile di slippage è:
- Slippage = Prezzo medio di esecuzione − Prezzo di riferimento
- = 1.2000 − 1.1980 = 0.0020 (per unità, in termini di prezzo)
Per rendere questo calcolo indipendente e riproducibile, dichiari anche:
- la definizione del riferimento (prezzo medio alle 10:00:05)
- la granularità dei dati (prezzi di riempimento e timestamp)
- se hai utilizzato medie ponderate per quantità
Se osservi anche che solo 90 su 100 unità sono state riempite, riporta tasso di riempimento = 0,90 e tratta l’incompletezza come componente separato e rilevante, piuttosto che incorporarla unicamente nel prezzo.
Limitazioni e modalità di errore (ciò che compromette i confronti)
Anche con metriche accurate, i confronti possono essere fuorvianti se ignorano la variabilità.
Limitazioni rilevanti
- Le condizioni di mercato dominano: liquidità, ampiezza dello spread e volatilità possono cambiare durante l’esecuzione e influenzare i costi.
- I costi variano tra scenari: commissioni, spese e qualsiasi costo legato all’esecuzione possono alterare le metriche di costo.
- Dipendenza dal benchmark: i valori di slippage cambiano se modifichi la definizione del prezzo di riferimento.
- Le relazioni storiche non garantiscono risultati futuri: le prestazioni passate in un regime potrebbero non applicarsi a un altro.
Modalità di errore da misurare o monitorare
- Riempimenti parziali: l’algoritmo si conclude con quantità residue.
- Ritardi in coda e sensibilità alla latenza: il timing dell’esecuzione può peggiorare in periodi di maggiore congestione.
- Over-trading o under-trading rispetto al ritmo previsto: la frequenza effettiva degli ordini figlio può discostarsi dagli obiettivi.
- Comportamento di stop/terminazione: cancellazioni ripetute o uscite anticipate possono distorcere i confronti sui costi e sui tempi di completamento.
Verifica e la prossima domanda
Per verificare affermazioni su un algoritmo di esecuzione, hai bisogno di tre elementi verificabili autonomamente: (1) i campi misurati e le formule, (2) i timestamp e le finestre temporali utilizzate, e (3) le assunzioni riguardo ai prezzi di riferimento e alla disponibilità dei dati. Se due parti calcolano la “stessa” metrica ma scelgono prezzi di riferimento o finestre temporali diverse, i risultati possono legittimamente differire.
Una domanda utile successiva è: quali dati hai effettivamente a disposizione per il prezzo di riferimento (prezzo medio, prezzo di arrivo o un altro indicatore) e per latenza/acknowledgements? Una volta risposto, puoi allineare le definizioni di misurazione prima di confrontare algoritmi o fornitori.