Resposta direta
A qualidade de execução de uma API de Corretora é melhor avaliada observando como as ordens se movem do envio ao resultado: a rapidez com que o sistema responde, a consistência com que preserva a intenção da ordem e quais custos e erros aparecem nos preenchimentos reais. Como você não pode presumir condições de mercado idênticas, a avaliação deve se concentrar em comportamentos mensuráveis (tempo, reconhecimentos, qualidade de preenchimento e taxas de erro) e nos limites das evidências (o que os dados podem e não podem comprovar).
Mecanismo ou definição
A qualidade de execução de uma API de Corretora é o grau em que a API e o caminho de execução conectado traduzem uma solicitação de ordem no resultado de execução pretendido. Na prática, você pode dividir isso em mecânicas estáveis e condições variáveis:
- Mecânicas estáveis que você pode testar: tempo de solicitação/resposta, ordenação de mensagens, tratamento de novas tentativas, idempotência (se reenviar a mesma solicitação causa duplicatas) e a correção das transições de status relatadas.
- Condições variáveis que você deve separar: liquidez e volatilidade do mercado, spreads variáveis, disponibilidade de dados e políticas de execução do lado do provedor que não são totalmente visíveis para o cliente.
Uma maneira útil de estruturar a avaliação é definir uma “linha do tempo” para cada ordem: (1) o cliente envia, (2) a API reconhece o recebimento, (3) a execução ocorre ou é rejeitada e (4) o preenchimento/relatório final é retornado. O ponto principal é medir os intervalos e compará-los sob condições de teste controladas e repetíveis.
Evidência ou exemplo
Use uma combinação de medições de tempo, medições de resultado/custo e testes negativos.
- Latência e consistência de tempo
- Meça a latência de ponta a ponta: do envio ao reconhecimento e do envio ao resultado final.
- Meça também a variabilidade (por exemplo, o desvio padrão entre execuções) em vez de apenas as médias.
- Premissa para exemplos: trate o relógio do cliente como uma referência que você controla; se você não puder garantir relógios sincronizados, documente essa limitação e concentre-se nas tendências relativas de tempo.
- Qualidade de preenchimento e custo de execução
- Calcule métricas de custo de execução usando os preços e carimbos de data/hora que você realmente recebe (por exemplo, slippage em relação a um preço de referência que você definiu antes do teste).
- Premissa: escolha uma definição de preço de referência (como o primeiro bid/ask observado em uma etapa específica) e mantenha-a constante entre as execuções.
- Compare os resultados em janelas de tempo com condições de mercado semelhantes, porque o mesmo tipo de ordem pode se comportar de maneira diferente quando a liquidez muda.
- Integridade de ordens e modos de falha Pelo menos um modo de falha material deve ser testado. Exemplos comuns incluem:
- Execução duplicada causada por novas tentativas quando o cliente não usa chaves de idempotência ou quando a API trata solicitações repetidas como novas ordens.
- Atualizações de status fora de ordem que fazem um aplicativo acreditar que uma ordem foi preenchida quando ela estava apenas parcialmente preenchida ou pendente.
- Rejeições/timeouts em que o sistema retorna um erro, mas o resultado real no lado do mercado é incerto para o cliente.
Uma abordagem prática de teste é executar cenários controlados (ordem única, sequência rápida de múltiplas ordens e interrupções de rede forçadas) enquanto verifica se sua máquina de estados de ordem local corresponde aos estados relatados pela API.
Limitações e riscos
- Relações históricas não estabelecem resultados futuros: mesmo que um padrão de tempo ou custo tenha se mantido em amostras passadas, diferentes volatilidade e liquidez podem quebrá-lo.
- As evidências podem ser incompletas: você pode não ver todos os detalhes internos de roteamento ou do nível da plataforma de negociação, portanto, deve tratar os campos visíveis da API como observações parciais.
- A variação de resultados é esperada: as condições de mercado, os custos de transação e as políticas de roteamento podem mudar sem aviso prévio, portanto, a “boa” qualidade de execução é relativa ao contexto que você testou.
Verificação ou próxima pergunta
Para verificar sua avaliação, pergunte se um terceiro poderia reproduzir suas conclusões a partir de suas definições de medição e logs. Documente: os campos de linha do tempo usados, a definição de preço de referência para qualquer cálculo de slippage, os cenários de teste exatos e como você classificou os resultados (reconhecido, rejeitado, preenchido, parcialmente preenchido). Uma próxima pergunta útil é: quais métricas melhor detectam o modo de falha mais relevante para o seu sistema—duplicatas, status desatualizado ou tempo inconsistente?