Em palavras simples — O preço determina quais ordens são compatíveis; o algoritmo define quem recebe a quantidade. “Primeiro a chegar, primeiro a ser atendido” é apenas um dos métodos.
O mecanismo de casamento de ordens (matching engine) é o sistema que, em um local eletrônico, combina compras e vendas segundo o regulamento. Ele determina sequência e alocação dos fills. Não prevê o preço nem escolhe discricionariamente o melhor trade: aplica regras do mercado.
Sequência essencial
Um pipeline típico valida instrumento, lado, quantidade e preço; sequencia novas ordens, alterações e cancelamentos; verifica o cruzamento; aplica prioridade de preço; distribui a quantidade entre ordens elegíveis; e publica fills, saldos e atualização do book. Gateway, motor de risco e matching podem ser componentes separados, mas o trader precisa conhecer o regulamento publicado.
O mecanismo também difere do broker. O intermediário recebe, controla e roteia a ordem; o matching atua dentro de um único local de negociação ou sistema.
FIFO, pro-rata e modelos híbridos
Na prioridade preço-tempo, ou FIFO no mesmo preço, a ordem mais antiga recebe primeiro. É comum, não universal. O CME documenta FIFO, pro-rata, threshold pro-rata, prioridades dedicadas e combinações híbridas; produtos na mesma infraestrutura podem usar algoritmos diferentes.
Com ordens A de 50, B de 30 e C de 20 no mesmo preço, uma agressora de 40 pode dar 40 a A em FIFO. Em pro-rata simples, poderia alocar 20, 12 e 8. Um híbrido pode reservar parte à prioridade e repartir o restante. Arredondamento, mínimo, market maker líder e saldo tornam os casos reais mais complexos.
O artigo 28 da MiFID II trata a sequência de ordens comparáveis na gestão do intermediário. Não prova que todo mercado europeu aloque fills por preço-tempo.
Como entram os tipos de ordem
Uma market, se aceita, busca interesse disponível e pode ter vários fills, parcial ou nenhum. Uma limit pode cruzar até seu limite ou entrar na fila. Uma stop pode permanecer no broker ou mercado e só entrar no universo executável após o gatilho.
O motor não inventa contraparte para uma ordem grande. A quantidade é limitada pela liquidez e pelas proteções aplicáveis.
Elementos que alteram o resultado
Leilões de abertura e fechamento podem substituir a fila contínua por um procedimento que determina coletivamente preço e quantidade. Ordens iceberg, quantidades implícitas e prioridades dedicadas também modificam a alocação. O mesmo código de ordem pode, portanto, ter comportamento diferente entre a fase contínua e o leilão ou entre dois contratos negociados na mesma plataforma.
Alterar preço ou aumentar quantidade pode gerar novo timestamp; a regra exata depende do local de negociação. Controles de preço, prevenção de autonegociação e limites de mensagens podem interromper a sequência antes do match. Um reject nesses pontos não significa ausência de contraparte. Para localizar a causa, os códigos de retorno e a versão vigente do regulamento devem acompanhar os dados de execução.
O market maker é participante que quota; o matching engine é a infraestrutura que trata seus interesses e os dos demais. Para auditar um fill, registre venue, produto, sessão, algoritmo, timestamps, quantidade, TIF e regras de alteração.
Erro comum — Culpar automaticamente o broker por um fill ausente sem verificar fila, algoritmo, quantidade à frente e regras do mercado.
Fontes
- CME Group — Matching Algorithm Overview.
- CME Group — How CME Group Ag Markets Operate.
- ESMA — MiFID II, Article 28: Client order handling rules.
- U.S. SEC, Investor.gov — Executing an Order.