Matching engine: prioridad y asignación de órdenes

El matching engine aplica las reglas del centro para emparejar órdenes compatibles y asignar los fills. La prioridad precio-tiempo es frecuente, pero no universal: existen algoritmos FIFO, pro rata e híbridos.

A quién sirve — A quien quiere entender por qué dos órdenes al mismo precio pueden recibir fills distintos y por qué el comportamiento cambia entre productos o centros.

El matching engine es el sistema que, dentro de un centro electrónico, empareja intereses de compra y venta compatibles según el reglamento del mercado. Determina qué órdenes pueden cruzarse, en qué secuencia se asigna la cantidad y qué ejecuciones se comunican a los participantes. No predice el precio ni elige discrecionalmente la «mejor operación»: aplica las reglas y los parámetros definidos por el centro.

En palabras sencillas — El precio determina qué órdenes son compatibles; el algoritmo determina quién recibe la cantidad disponible. «Primero en llegar, primero en ser atendido» es solo uno de los métodos posibles.

El motor debe distinguirse del broker. El intermediario recibe la orden del cliente, realiza controles y decide cómo enrutarla de acuerdo con las instrucciones y obligaciones aplicables. Puede enviarla a una bolsa, a un market maker, a una ECN, a un ATS o internalizarla. El matching engine actúa, en cambio, dentro de un único centro o sistema de ejecución. Investor.gov subraya que la ruta, los tiempos y el lugar de ejecución influyen en el resultado final.

Matching engine Price-time priority � trade print BUY limit SELL limit MATCHbest price first Market order crosses the book immediately
Esquema ilustrativo de un cruce con prioridad precio-tiempo. Otros productos pueden aplicar pro rata o algoritmos híbridos.

Secuencia esencial

Un flujo típico comprende:

  1. recepción y validación del mensaje: instrumento, lado, cantidad, precio, autorizaciones y controles de riesgo;
  2. secuenciación de los eventos admitidos, incluidas nuevas órdenes, modificaciones y cancelaciones;
  3. verificación del cruce entre una orden agresiva y el interés contrario;
  4. prioridad de precio, si está prevista: la compra se enfrenta a los ask más bajos y la venta a los bid más altos;
  5. asignación de la cantidad entre las órdenes elegibles al mismo precio;
  6. comunicación de la operación y actualización del order book, de las cantidades restantes y del estado de las órdenes.

Algunas funciones pueden distribuirse entre gateways, motores de riesgo y el motor central. La arquitectura técnica varía; para el trader importa el reglamento publicado, no el nombre del componente de software.


Price-time, pro rata y algoritmos híbridos

La prioridad precio-tiempo, a menudo llamada FIFO dentro del mismo nivel de precio, asigna primero la cantidad a la orden que llegó antes. Es frecuente, pero no universal. CME Group documenta en sus mercados algoritmos FIFO, FIFO con prioridades específicas, pro rata, threshold pro rata, configurables y combinaciones híbridas. Distintos productos sobre una misma infraestructura pueden emplear algoritmos diferentes.

Con tres órdenes resting al mismo precio —A por 50 contratos, B por 30 y C por 20—, una orden agresiva de 40 produce resultados distintos:

Algoritmo simplificado Posible asignación
FIFO, A es la más antigua A recibe 40; B y C, cero
Pro rata puro A 20, B 12, C 8
Híbrido una parte sigue FIFO y el resto se distribuye pro rata

Los algoritmos reales pueden añadir redondeos, cantidades mínimas, prioridad top, lead market maker o reglas sobre el resto. El ejemplo muestra el principio; no reproduce las especificaciones de un producto. Para saber por qué una orden recibió un fill hay que identificar el contrato, la sesión y el algoritmo vigente.

El artículo 28 de MiFID II exige que las empresas de inversión europeas gestionen las órdenes comparables de clientes según su momento de recepción y con procedimientos rápidos, justos y expeditivos. Esta exigencia se refiere a la gestión de órdenes por parte de la empresa; no demuestra que todos los centros deban asignar fills mediante un algoritmo price-time. Confundir ambos niveles conduce a generalizaciones erróneas.


Cómo intervienen los tipos de orden

Tipo Relación con el matching engine
si se acepta, busca el interés contrario disponible; puede recibir varios fills, un fill parcial o ninguno
puede consumir el book dentro del límite o reposar; su posición en cola depende del algoritmo
puede conservarla el broker o el centro; antes del trigger no está necesariamente presente en el book ejecutable

Una orden market grande no autoriza al motor a inventar contrapartes. Consume la liquidez disponible mientras las reglas, las protecciones y la cantidad lo permitan. Una limit no es necesariamente pasiva: si cruza el precio contrario, puede ejecutarse de inmediato. La stop añade una fase anterior, porque primero hay que determinar si se cumple la condición de activación.


Elementos que modifican el resultado

Además del algoritmo básico, un centro puede incluir subastas de apertura o cierre, órdenes iceberg o reserve, cantidades implícitas, prevención de autocruces, bandas de precio, límites de mensajes y controles pre-trade. Algunas reglas determinan cómo se pierde o conserva la prioridad después de una modificación. Un aumento de cantidad o un cambio de precio, por ejemplo, puede recibir un nuevo timestamp; no existe una única regla válida para todos los mercados.

El market maker es un participante o intermediario que cotiza precios y aporta liquidez según sus obligaciones e incentivos. El matching engine es la infraestructura que aplica las reglas a los intereses admitidos, incluidos los de los market makers. Los dos papeles no son intercambiables.

Para analizar una ejecución se necesitan al menos: estado de la orden, timestamp, precio y cantidad de cada fill, centro, algoritmo del producto, time in force y reglas sobre modificaciones. El gráfico de velas por sí solo no permite reconstruir la cola ni la cantidad disponible por delante de la orden.

Error típico — Atribuir cada fill ausente a un problema del broker sin comprobar la prioridad, el algoritmo, la cantidad anterior en la cola y las reglas del centro.


Fuentes

Enlaces