A chi serve — A chi vuole capire perché due ordini allo stesso prezzo possono ricevere fill diversi e perché il comportamento cambia tra prodotti o sedi.
Il matching engine è il sistema che, all'interno di una sede elettronica, abbina interessi di acquisto e vendita compatibili secondo il regolamento del mercato. Determina quali ordini possono incrociarsi, in quale sequenza viene assegnata la quantità e quali esecuzioni vengono comunicate ai partecipanti. Non prevede il prezzo e non sceglie discrezionalmente il “trade migliore”: applica regole e parametri definiti dalla venue.
In parole semplici — Il prezzo stabilisce quali ordini sono compatibili; l'algoritmo stabilisce chi riceve la quantità disponibile. “Prima arrivato, prima servito” è soltanto uno dei metodi possibili.
Il motore va distinto dal broker. L'intermediario riceve l'ordine del cliente, esegue controlli e decide come instradarlo secondo istruzioni e obblighi applicabili. Può inviarlo a una borsa, a un market maker, a un ECN, a un ATS o internalizzarlo. Il matching engine opera invece nel perimetro della singola sede o del singolo sistema di esecuzione. Investor.gov sottolinea che percorso, tempi e luogo di esecuzione incidono sul risultato finale.
Sequenza essenziale
Una pipeline tipica comprende:
- ricezione e validazione del messaggio: strumento, lato, quantità, prezzo, autorizzazioni e controlli di rischio;
- sequenziamento degli eventi ammessi, inclusi nuovi ordini, modifiche e cancellazioni;
- verifica dell'incrocio fra ordine aggressivo e interesse opposto;
- priorità di prezzo, se prevista: l'acquisto affronta gli ask più bassi, la vendita i bid più alti;
- allocazione della quantità tra gli ordini eleggibili allo stesso prezzo;
- trade report e aggiornamento di order book, quantità residue e stato degli ordini.
Alcune funzioni possono essere distribuite tra gateway, risk engine e motore centrale. L'architettura tecnica varia; ciò che conta per il trader è il regolamento pubblicato, non il nome del componente software.
Price-time, pro-rata e algoritmi ibridi
La priorità prezzo-tempo, spesso chiamata FIFO al medesimo livello di prezzo, assegna prima la quantità all'ordine arrivato prima. È comune, ma non è universale. CME Group documenta per i propri mercati algoritmi FIFO, FIFO con priorità dedicate, pro-rata, threshold pro-rata, configurable e combinazioni ibride. Prodotti diversi sulla stessa infrastruttura possono usare algoritmi diversi.
Con tre ordini resting allo stesso prezzo — A per 50 contratti, B per 30 e C per 20 — un ordine aggressivo da 40 produce risultati differenti:
| Algoritmo semplificato | Possibile allocazione |
|---|---|
| FIFO, A è il più vecchio | A riceve 40; B e C zero |
| Pro-rata puro | A 20, B 12, C 8 |
| Ibrido | una parte segue FIFO, la restante viene ripartita pro-rata |
Gli algoritmi reali possono aggiungere arrotondamenti, quote minime, priorità top, lead market maker o regole sul residuo. L'esempio mostra il principio, non replica la specifica di un prodotto. Per sapere perché un ordine ha ricevuto un fill occorre identificare contratto, sessione e algoritmo vigente.
L'articolo 28 MiFID II richiede alle imprese d'investimento europee di gestire ordini comparabili dei clienti secondo il tempo di ricezione e con procedure rapide, eque e spedite. Questa prescrizione riguarda la gestione degli ordini da parte dell'impresa; non dimostra che ogni venue debba allocare i fill con un algoritmo price-time. Confondere i due livelli porta a generalizzazioni errate.
Come entrano i tipi d'ordine
| Tipo | Relazione con il matching engine |
|---|---|
| se accettato, cerca interesse opposto disponibile; può ricevere più fill, un fill parziale o nessun fill | |
| può aggredire il book entro il limite oppure riposare; la coda dipende dall'algoritmo | |
| può essere conservato dal broker o dalla venue; prima del trigger non è necessariamente presente nel book eseguibile |
Un market grande non autorizza il motore a inventare controparti. Consuma la liquidità disponibile finché regole, protezioni e quantità lo permettono. Un limit non è necessariamente passivo: se attraversa il prezzo opposto, può eseguire subito. Lo stop aggiunge un livello precedente, perché occorre prima determinare se la condizione di attivazione è soddisfatta.
Elementi che modificano il risultato
Oltre all'algoritmo base, una sede può prevedere aste di apertura o chiusura, ordini iceberg o reserve, quantità implicite, self-trade prevention, price band, massimali di messaggi e controlli pre-trade. Alcune regole stabiliscono come perdere o conservare la priorità dopo una modifica. Un aumento di quantità o un cambio di prezzo, per esempio, può ricevere un nuovo timestamp; non esiste una regola unica valida per ogni mercato.
Il market maker è un partecipante o intermediario che quota prezzi e fornisce liquidità secondo i propri obblighi e incentivi. Il matching engine è l'infrastruttura che applica le regole agli interessi ammessi, compresi quelli dei market maker. I due ruoli non sono intercambiabili.
Per analizzare un'esecuzione servono almeno: stato dell'ordine, timestamp, prezzo e quantità di ogni fill, venue, algoritmo del prodotto, time in force e regole sulle modifiche. Il solo grafico delle candele non ricostruisce la coda né la quantità disponibile davanti all'ordine.
Errore tipico — Attribuire ogni mancato fill a un problema del broker senza verificare priorità, algoritmo, quantità davanti in coda e regole della sede.
Fonti
- CME Group — Matching Algorithm Overview — panoramica ufficiale degli algoritmi FIFO, pro-rata, configurable e con priorità dedicate (consultato il 3 agosto 2026).
- CME Group — How CME Group Ag Markets Operate — confronto tra FIFO e Split FIFO/Pro-Rata nei prodotti agricoli (consultato il 3 agosto 2026).
- ESMA — MiFID II, articolo 28: Client order handling rules — gestione degli ordini comparabili e tempo di ricezione presso l'impresa (consultato il 3 agosto 2026).
- U.S. SEC, Investor.gov — Executing an Order — routing verso exchange, market maker, ECN e internalizzazione (consultato il 3 agosto 2026).