Com $100bn de notional anual roteado, 0.1 ponto-base de custo de execução evitável representa $1m. A latência pode contribuir para esse custo quando uma ordem chega a um venue depois que os preços ou a liquidez disponível mudaram. Não é a única causa, e reduzir microssegundos não garante uma execução melhor. Mas uma rota lenta ou instável pode resultar em preenchimentos piores, oportunidades perdidas e custos de suporte mais altos.
A pergunta útil não é se o stack de trading é rápido. É onde o tempo se acumula entre a criação da ordem e a confirmação, com que frequência ocorrem atrasos e se a rota ainda entrega a execução pretendida. Um modelo de custos deve separar os efeitos diretos sobre a execução das despesas de engenharia e operacionais.
Comece pelo custo da rota
O custo de execução tem vários componentes. Slippage mede a diferença entre o preço da decisão e o preço obtido.
Preenchimentos perdidos importam quando uma ordem passiva perde prioridade na fila ou o mercado se afasta antes de a ordem chegar. A seleção adversa representa o risco de uma ordem ser executada pouco antes de o preço se mover contra ela. Taxas, rebates e a combinação de venues também afetam o resultado, mas não são, por si só, medidas de latência.
Para uma estimativa simples, multiplique o notional anual roteado pela variação no custo de execução em pontos-base. Com $100bn, 0.1 ponto-base equivale a $1m; com $10bn, equivale a $100,000.
Trate isso como um cálculo de sensibilidade, não como uma previsão. Para atribuir uma melhora ao roteamento, compare símbolos, tipos de ordem, períodos e condições de mercado semelhantes e, em seguida, controle o venue e a taxa de participação.
Também há custos além do preenchimento. Uma verificação de risco remota pode adicionar uma dependência de rede.
Um gateway congestionado pode gerar incidentes de suporte ou provocar picos de rejeições e cancelamentos. Operar um stack dedicado de baixa latência pode exigir mais profissionais especializados, hardware, colocation e controles de release. Essas despesas só se justificam se a rota melhorar o resultado medido da empresa o suficiente para cobri-las.
Na análise operacional, mantenha qualidade de execução, duração da rota e disponibilidade do sistema como medidas separadas. Uma confirmação rápida ainda pode ser seguida por um preenchimento ruim. Uma rota mais lenta pode ser adequada para uma ordem grande que busca discrição. A meta de engenharia é ter um comportamento previsível para a estratégia e o tipo de ordem, não obter o menor número isoladamente.
Divida o percurso em etapas mensuráveis
A tabela apresenta faixas típicas de mercado para uma rota colocada em colocation, na mesma região, usando um stack de trading eletrônico otimizado. Ela pressupõe condições estáveis e mede cada etapa da entrada à saída.
Os números são indicativos, não garantias de nível de serviço. Um broker que use uma rede pública, um serviço remoto de risco ou um protocolo de venue diferente pode observar números substancialmente mais altos.
| Etapa da rota | Faixa típica de p50 | Faixa típica de p99 | O que instrumentar |
|---|---|---|---|
| Transferência da estratégia e criação da ordem | 10-100 microssegundos | 50-500 microssegundos | Horário do sinal, espera na fila e criação do objeto da ordem |
| Validação no OMS e seleção da rota | 20-200 microssegundos | 100 microssegundos-1 milissegundo | Avaliação de regras, consulta de símbolo e fila do roteador |
| Verificações de risco pré-trade | 10-150 microssegundos | 100 microssegundos-1 milissegundo | Consulta de limites, acesso ao estado e qualquer chamada remota |
| Codificação no gateway e entrada na fila da sessão | 20-200 microssegundos | 100 microssegundos-1 milissegundo | Conversão de protocolo, locks e profundidade da fila de saída |
| Host e rede até o gateway do venue | 10-100 microssegundos | 20-500 microssegundos | Registros de horário da NIC, caminho pelos switches e retransmissões |
| Processamento no venue e retorno da confirmação | 50-500 microssegundos | 200 microssegundos-2 milissegundos | Horário da confirmação do venue e atraso no caminho de retorno |
Não some os números de p99 e chame o resultado de p99 da rota. Percentis de etapas separadas não necessariamente ocorrem na mesma ordem, e suas distribuições podem mudar sob carga. Meça também a latência de ponta a ponta, além dos tempos de cada etapa, usando um relógio consistente e eventos de início e fim claramente definidos.
Para uma rota em colocation, uma faixa típica de ordem até confirmação, de ponta a ponta, pode ficar em torno de 0.2-2 milissegundos, dependendo do venue, do protocolo e do stack. Uma rota por uma rede regional ou pública pode levar vários milissegundos ou mais. A faixa importa menos do que a capacidade da empresa de explicar sua própria distribuição e identificar a cauda.
Encontre as filas, não apenas as funções lentas
A latência mediana é útil para comparar um caminho estável. p99 e p99.9 mostram o que acontece com uma pequena parcela das ordens, que pode se concentrar durante picos, leilões ou mercados voláteis. Um componente pode ter um tempo médio de processamento baixo e ainda manter ordens atrás de uma fila cheia. Capture registros de horário em cada limite, junto com a profundidade da fila e a carga do sistema.
- Agendamento da aplicação: contenção entre threads, coleta de lixo, trocas de contexto e espera por locks podem adicionar atrasos intermitentes. Uma CPU ocupada não prova que há um gargalo, então correlacione as métricas do host com os registros de horário de cada ordem.
- Risco e dados de referência: uma consulta a um cache local pode levar microssegundos, enquanto uma chamada síncrona a outro serviço pode adicionar centenas de microssegundos ou mais. Verificações remotas também criam um modo de falha quando esse serviço fica lento ou indisponível.
- Gateway e processamento de protocolo: análise de mensagens FIX, validação de mensagens, sequenciamento de sessão e criptografia usam CPU. O processamento em lotes pode aumentar a capacidade, mas esperar para formar um lote adiciona latência à primeira ordem nele.
- Caminho de rede: conexões cruzadas, switches, filas da NIC, retransmissões e mudanças de rota contribuem para o atraso. Uma curta distância física não descarta filas ou perda de pacotes.
- Venue e caminho de retorno: o tempo da confirmação depende do processamento no venue e das condições de rede nas duas direções. Separe o horário de envio da ordem do recebimento da confirmação, em vez de tratar o total como tempo de processamento do gateway.
A qualidade do relógio determina se essas medições são confiáveis. Use registros de horário por hardware quando disponíveis e sincronize as máquinas com um método adequado à precisão necessária, como PTP em um ambiente controlado.
Registre o desvio e a incerteza do relógio. Se os relógios divergirem em 50 microssegundos, uma melhora de 20 microssegundos na etapa não será convincente.
Instrumente o ponto em que uma ordem entra e sai de cada processo, não apenas o momento em que é gravada no log. O registro em log pode, por si só, adicionar atraso, especialmente quando gravações síncronas em disco ou na rede ocorrem na thread da ordem. Use um fluxo de eventos de baixo overhead, preserve os registros de horário brutos e só faça amostragem depois de validar que ela não oculta o comportamento durante picos.
Escolha o equilíbrio certo entre velocidade e outros fatores
Otimizar uma rota significa escolher quais operações pertencem ao caminho crítico. Tirar verificações desse caminho pode reduzir a latência, mas enfraquecer os controles de risco ou levar a decisões baseadas em um estado desatualizado. Duplicar localmente um limite de risco pode melhorar a velocidade, por exemplo, mas o sistema precisa então de um mecanismo de atualização definido, um limite de exposição durante desconexões e uma política de falha fechada.
A política de roteamento envolve concessões semelhantes. Um smart order router pode analisar os preços e o tamanho disponível nos venues antes de escolher um destino. Essa decisão pode melhorar a execução, mas consome tempo de processamento e pode se basear em dados de mercado que já mudaram. Uma rota direta evita parte do trabalho de seleção, mas pode concentrar o fluxo em um venue com liquidez menos adequada. Teste as duas opções usando a mesma população de ordens e as mesmas condições de mercado.
As equipes costumam obter mais valor ao eliminar esperas imprevisíveis do que ao reduzir uma mediana que já é baixa. Vale testar essas opções separadamente:
- Mantenha local a validação obrigatória quando o desenho do controle permitir e meça o custo de cada chamada síncrona a um serviço.
- Defina limites para as filas e aplique controle de fluxo antes que um gateway fique sobrecarregado. Determine se o sistema rejeita, atrasa ou redireciona novas ordens.
- Compare FIX e protocolos nativos usando o mesmo fluxo de ordens. Mensagens nativas podem reduzir o processamento e o overhead das mensagens, mas exigem integração e suporte específicos de cada fornecedor.
- Use núcleos dedicados ou fixação de threads somente depois que a análise de desempenho indicar interferência no agendamento. Essas medidas podem reduzir o jitter, mas tornam mais complexos o planejamento de capacidade e a implantação.
- Separe as rotas de baixa latência das rotas de alta capacidade se os requisitos de processamento em lotes e filas forem conflitantes. Mantenha um caminho de failover testado, em vez de depender de um backup não medido.
Para as equipes de infraestrutura de brokers e prop firms, o registro da decisão deve especificar os tipos de ordem visados, a carga esperada, o modelo de risco, a cobertura de venues e o comportamento de falha aceitável. A comparação de engenharia deve incluir p50, p99, p99.9, taxa de rejeição e medidas de qualidade de execução. A cobertura da Trading Technology sobre infraestrutura de trading oferece um contexto mais amplo para decisões sobre plataformas e conectividade, mas as próprias medições da empresa devem definir a meta operacional.
Crie um benchmark que funcione em produção
Um benchmark útil reproduz o caminho usado em produção. Um microbenchmark de um parser pode isolar os custos do protocolo, mas não inclui filas, estado de risco, saltos de rede ou resposta do venue. Execute testes controlados de componentes para localizar custos e, em seguida, valide as mudanças com tráfego representativo em um ambiente semelhante ao de produção.
Reproduza padrões registrados de ordens, incluindo picos, cancelamentos e rejeições. Teste a carga normal e um cenário de estresse no pico esperado, em vez de enviar apenas um fluxo constante. Meça tanto a capacidade quanto a latência: uma configuração que melhora p50, mas piora muito p99 durante um pico, pode ser uma regressão para estratégias sensíveis a ordens desatualizadas.
Mantenha consistentes os registros de horário e as definições entre releases. Para cada ordem, registre a criação, o início e o fim da verificação de risco, a decisão de roteamento, a entrada na fila do gateway, o envio pelo socket, a confirmação do venue e a notificação ao cliente, quando aplicável.
Documente se um número informado representa um sentido, ida e volta, aplicação até confirmação ou venue a venue. Isso evita que as equipes comparem medidas diferentes nas revisões de projeto.
Estabeleça uma linha de base por símbolo, venue, tipo de ordem e período da sessão. Inclua a carga do sistema e as condições de mercado, já que picos na abertura, no fechamento e motivados por notícias podem alterar tanto as filas quanto a resposta do venue. Faça a comparação por tempo suficiente para captar esses períodos e informe o tamanho da amostra com cada percentil. Não descarte observações lentas sem registrar o motivo.
Por fim, atribua um responsável e um limite a cada etapa crítica. Gere alertas para o aumento sustentado da latência de cauda, da profundidade das filas e das falhas na captura de registros de horário, não apenas para a latência média. Um limite deve acionar uma investigação antes que o problema se transforme em um incidente de execução, permitindo variações normais entre venues e sessões de trading. Nesta semana, adicione registros de horário por ordem nos limites do OMS, do serviço de risco e do gateway e, em seguida, capture uma sessão representativa como linha de base.
Perguntas frequentes
Qual é uma boa latência para o roteamento de ordens?
Não existe uma única meta adequada para todas as rotas. Uma rota em colocation, na mesma região, pode normalmente receber uma confirmação em cerca de 0.2-2 milissegundos, enquanto caminhos remotos podem levar vários milissegundos ou mais. Compare a rota com seu objetivo de execução e monitore a latência de cauda, além da mediana.
Como uma empresa de trading deve medir a latência no roteamento de ordens?
Registre o horário de cada ordem na transferência da estratégia, no OMS, na verificação de risco, no envio pelo gateway e no recebimento da confirmação. Use relógios sincronizados, defina se o número representa um sentido ou ida e volta e meça a latência de ponta a ponta junto com os tempos de cada etapa. Informe p50, p99 e p99.9, além do tamanho da amostra e das condições de carga.
Que parte de uma rota de ordens costuma adicionar mais latência?
Isso varia conforme a arquitetura. Verificações remotas de risco, filas de aplicação sobrecarregadas, saltos de rede e caminhos de confirmação do venue são fontes comuns de atraso ou picos na cauda. Registros de horário por ordem e métricas de profundidade das filas mostram qual etapa é responsável em um sistema específico.
Plataformas · Software · Provedores · Mercados