Todos os artigos

Educação

Fill ratio e rejection rate: os dois números que revelam a sua contraparte

O que cada um mede exatamente, por que uma taxa de rejeição baixa pode ser mau sinal, como ambas as métricas são manipuladas e o que pedir para que signifiquem algo.

4 de julho de 202610 min de leitura·Exura Prime

Se você tivesse que avaliar uma contraparte com dois números e nada mais, seriam estes. E, mesmo assim, quase ninguém os pede, em parte porque são facilmente mal interpretados: há configurações em que uma taxa de rejeição baixa é notícia pior do que uma alta.

O que cada um mede

Fill ratio é a porcentagem de ordens que são executadas em relação ao total enviado. Se você envia 1.000 ordens e 970 são executadas, o seu fill ratio é 97%.

Rejection rate é o complemento dele, do lado da contraparte: a porcentagem de ordens que ela rejeita. No exemplo, 3%.

Até aqui é aritmética. A utilidade está no detalhe que quase nunca acompanha o número.

O erro de ler o número isolado

Uma taxa de rejeição de 3% soa aceitável. Mas nem toda rejeição custa o mesmo.

Se as suas rejeições se distribuem aleatoriamente, o custo é principalmente operacional: você tenta de novo e segue. Se elas se concentram justamente quando o preço se move a seu favor, o custo é econômico e sistemático: você está sendo rejeitado precisamente nas operações que teriam dado certo.

Esse é o padrão a procurar, e não se vê na média. Um 3% aleatório e um 3% assimétrico são negócios completamente distintos com o mesmo número na apresentação.

Peça isto: a distribuição de rejeições segmentada por movimento de preço na janela de decisão, não apenas a porcentagem agregada.

Por que uma rejeição baixa pode ser mau sinal

Aqui está a parte contraintuitiva.

Se a sua contraparte executa contra o mercado real, alguma rejeição é inevitável: o preço se move, a liquidez é consumida, o upstream declina. Um venue conectado a bancos Tier-1 em condições normais rejeita alguma coisa.

Uma taxa de rejeição persistentemente perto de zero, com spreads melhores do que o mercado subjacente, costuma significar uma de duas coisas: ou estão internalizando todo o seu fluxo — o que é legítimo, mas você deveria saber — ou o preço que você vê já incorpora uma margem que absorve a variação.

Nenhuma das duas é necessariamente ruim. O ruim é não saber qual é.

Peça isto: que proporção do meu fluxo é executada contra o mercado e que proporção é internalizada?

Como essas métricas são maquiadas

Vale conhecer os mecanismos, porque são legais e comuns:

Contar apenas as ordens aceitas no cálculo. Se as que são rejeitadas por "preço inválido" não entram no denominador, o fill ratio sobe sozinho.

Excluir as janelas de alta volatilidade. A média de um mês tranquilo diz pouco sobre como vai ser num dado de emprego.

Agregar todos os clientes. Um fill ratio global de 98% pode conviver com 91% no seu segmento específico.

Medir no ponto errado. A razão entre o agregador e o upstream não é a mesma que entre a sua plataforma e o agregador. As rejeições da última milha podem não aparecer.

Nenhuma dessas práticas é fraude. Todas fazem com que o número que mostram a você descreva uma realidade que não é a sua.

O que torna a métrica útil

Para que esses números signifiquem algo, precisam vir com quatro coisas:

  1. Segmentação por instrumento. O seu fill em EUR/USD e num cruzamento exótico não têm nada a ver.
  2. Segmentação por sessão. Incluídas explicitamente as janelas de notícias.
  3. Detalhamento por contraparte upstream. Se o agregador tem seis fontes, você quer saber qual rejeita.
  4. O seu próprio fluxo. Não o agregado de todos os clientes do venue.

Com essas quatro dimensões, o número deixa de ser marketing e vira um dado operacional com o qual você pode tomar decisões de roteamento.

O custo real de uma rejeição

Uma rejeição não é apenas uma ordem que não foi executada. É uma ordem que se executa depois, a outro preço.

Em mercado plano, a diferença é desprezível. Em movimento, não. Por isso a métrica que de verdade importa não é a rejeição em si, mas o slippage acumulado atribuível a rejeições: quanto custou a você, em pips, o conjunto de novas tentativas.

Esse número quase ninguém publica e quase ninguém pede. É, de longe, o mais informativo dos três.

Peça isto: o slippage médio nas ordens que exigiram nova tentativa, comparado com as que foram executadas na primeira tentativa.

Como verificá-lo você mesmo

Não é preciso acreditar em ninguém. Com os logs da sua própria plataforma você pode construir essas métricas se registrar, por operação:

  • Timestamp de envio e de resposta
  • Preço solicitado e preço executado
  • Se houve rejeição e quantas novas tentativas
  • O preço de referência do mercado naquele instante

Se a sua contraparte der acesso a logs com esse detalhe, você pode auditar os números dela. Se não der, qualquer número que mostrarem é um ato de fé.

Um venue com paridade de produção no sandbox permite, ainda, medir isso antes de assinar: envie fluxo de teste durante uma janela de notícias real e meça. É a única forma de saber como se comporta quando importa.

Perguntas frequentes

Qual fill ratio é bom? Depende do instrumento, da sessão e do modelo de execução, então qualquer número único é suspeito. Mais útil do que um limiar é a consistência: um fill ratio estável entre sessões tranquilas e voláteis diz mais do que um alto na média.

Rejeição e slippage são a mesma coisa? Não. A rejeição é a sua ordem não ser executada; o slippage é ela ser executada a um preço diferente do solicitado. Estão relacionados porque uma rejeição costuma produzir slippage na nova tentativa, mas você pode ter slippage sem rejeições e vice-versa.

Posso comparar o fill ratio de dois provedores? Só se ambos o medem igual: mesmo ponto de medição, mesmo tratamento das ordens rejeitadas no denominador, mesmo período e mesmos instrumentos. Na prática, quase nunca coincidem, então a comparação honesta exige que você mesmo o meça com o seu próprio fluxo em sandbox.

Um provedor que publica a sua taxa de rejeição é mais confiável? É um bom sinal, mas verifique o que ele está publicando exatamente. Publicar o agregado global é fácil; publicá-lo por upstream, por instrumento e por sessão é o que demonstra que o dado existe de verdade.


Para o marco completo de avaliação: como uma corretora escolhe liquidez. Para entender de onde saem as rejeições: como funciona uma agregação de liquidez.

Na Exura Prime as taxas de rejeição estão disponíveis por contraparte upstream quando se aplica Last-Look, e os clientes — que ingressam e executam através de nós — têm logs com timestamps exportáveis. Fale com a equipe institucional se você quiser medi-lo em sandbox antes de decidir.

Quer conversar sobre algum destes temas?

Fale diretamente com o time institucional — resposta típica em uma hora útil.

Fale com a gente