Cosa Controllare Quando Si Valutano Problemi di Esecuzione
Cosa costituisce un “Problema di Esecuzione”?
Un problema di esecuzione è qualsiasi discrepanza tra il modo in cui ti aspetti che un ordine venga gestito e ciò che accade effettivamente dopo averlo inviato. In termini pratici, può manifestarsi come riempimenti a prezzi diversi da quelli previsti, riempimenti ritardati, riempimenti parziali o ordini rifiutati o non eseguiti.
Per valutare i problemi di esecuzione in modo oggettivo, distingui tra tre livelli:
- L’intento del tuo ordine (i parametri esatti che hai inviato).
- Il percorso di esecuzione (come il mercato e i processi di gestione degli ordini traducono quell’intento in riempimenti).
- Il tuo registro dei risultati (ciò che ricevi: riempimenti, timestamp e costi).
Questa distinzione ti aiuta a evitare di confondere i normali movimenti di mercato con problemi del fornitore o dell’infrastruttura.
Come ispezionare la meccanica (cosa verificare nei tuoi registri)
Utilizza una checklist che confronti il comportamento previsto con quello osservato:
- Dettagli dell’ordine e assunzioni
- Conferma il tipo di ordine (ad esempio, market vs limit) e tutti i parametri che hai scelto.
- Specifica le assunzioni per ogni esempio che calcoli (ad esempio, “prezzo atteso” significa l’ultimo prezzo quotato al momento dell’invio dell’ordine).
- Timestamp e sequenza temporale
- Verifica l’orario di invio dell’ordine e gli orari in cui hai ricevuto conferme e riempimenti.
- Cerca ritardi insoliti tra l’invio e gli eventi di riempimento.
- Informazioni esatte sui riempimenti e sui prezzi
- Confronta le condizioni di esecuzione richieste (se presenti) con i prezzi effettivi di riempimento.
- Nota se le differenze di prezzo si verificano costantemente durante la stessa finestra temporale.
- Corrispondenza delle quantità e riempimenti parziali
- Verifica se la quantità richiesta è stata completamente riempita.
- Se si sono verificati riempimenti parziali, controlla se sono avvenuti a prezzi diversi e se la quantità residua è stata riempita successivamente o non del tutto.
- Costi ed effetto netto
- Identifica tutti i costi rilevanti inclusi nel tuo registro dei risultati (commissioni, spread/costi di transazione e qualsiasi altra commissione indicata).
- Valuta i risultati netti: una piccola differenza di prezzo può amplificarsi una volta inclusi i costi.
- Indicatori di errore e rifiuto
- Registra eventuali messaggi espliciti di rifiuto, stop o “non eseguito”.
- Determina se il problema è un errore a livello di ordine (nessun riempimento) o una discrepanza a livello di esecuzione (riempimento ma non come previsto).
Evidenze ed esempi: dimostrare cosa è accaduto (senza fare supposizioni)
Un modo utile per valutare un evento è effettuare un confronto “previsto vs effettivo” utilizzando solo dati che puoi verificare dai tuoi log.
Esempio di schema (le assunzioni devono essere esplicite):
- Assumi che il prezzo atteso = l’ultima quotazione visualizzata al momento dell’invio dell’ordine.
- Calcola la differenza di prezzo = prezzo effettivo di riempimento meno prezzo atteso (usa la convenzione corretta del segno).
- Se ci sono più riempimenti (riempimenti parziali), calcola le differenze per ogni singolo riempimento e anche su base ponderata utilizzando le quantità riempite.
Quindi classifica lo schema:
- Differenza di prezzo senza ritardo spesso corrisponde al movimento del mercato tra il tuo prezzo di riferimento e il riempimento.
- Ritardo più riempimento successivo può indicare che il mercato si stava muovendo più velocemente del riferimento utilizzato.
- Rifiuti o mancanza di riempimenti indicano un errore nella fase di gestione dell’ordine.
Questo approccio si concentra sull’osservazione e sui confronti basati sui registri, non sull’attribuzione di colpe.
Limitazioni, rischi e principali modalità di errore da monitorare
I risultati di esecuzione sono influenzati dalle condizioni di mercato in evoluzione, dalla liquidità e dalla struttura della gestione degli ordini. Per questo motivo, anche i “problemi” ben documentati potrebbero non avere una causa univoca.
Le principali modalità di errore da cercare includono:
- Slippage: i riempimenti avvengono a prezzi diversi dal tuo riferimento.
- Riempimenti parziali: ricevi meno della quantità richiesta immediatamente, a volte in più eventi di riempimento.
- Rifiuto dell’ordine o mancata esecuzione: l’ordine non entra nell’esecuzione come previsto.
- Eventi asincroni: conferme, modifiche, cancellazioni o riempimenti arrivano in un ordine inatteso.
Limitazione della verifica: le relazioni storiche (ad esempio, “quando prima è accaduto X, il prezzo si è mosso in modo simile”) non dimostrano risultati futuri. I costi e il comportamento del mercato possono cambiare.
Verifica e prossime domande da porsi
Per verificare in modo indipendente la tua conclusione, assicurati che ogni affermazione sia collegata a qualcosa che puoi mostrare nel registro:
- Hai i parametri esatti dell’ordine che hai inviato?
- Hai timestamp che ti permettono di confrontare i tempi di invio e di riempimento?
- Hai dettagli completi sui riempimenti e sui costi per l’intera quantità eseguita?
- Hai messaggi espliciti di rifiuto/errore se l’esecuzione è fallita?
Se una discrepanza è reale, la domanda successiva non è di solito “Chi l’ha causata?”, ma “Quale livello è incoerente con il mio intento?” — i tuoi input, i tempi, i dettagli di riempimento/prezzo o la presenza di messaggi espliciti di errore.