O que conta como um “Problema de Execução”?
Um problema de execução é qualquer incompatibilidade entre como você espera que uma ordem seja tratada e o que realmente acontece após enviá-la. Na prática, pode se manifestar como preenchimentos a preços diferentes do esperado, preenchimentos atrasados, preenchimentos parciais ou ordens rejeitadas ou não preenchidas.
Para avaliar problemas de execução objetivamente, separe três camadas:
- Sua intenção de ordem (os parâmetros exatos que você enviou).
- O caminho de execução (como o mercado e os processos de manuseio de ordens traduzem essa intenção em preenchimentos).
- Seu registro de resultado (o que você recebe: preenchimentos, carimbos de data/hora e custos).
Essa separação ajuda a evitar confundir movimento normal do mercado com problemas do provedor ou da infraestrutura.
Como inspecionar a mecânica (o que verificar em seus registros)
Use um checklist que compare o comportamento pretendido vs observado:
- Detalhes e premissas da ordem
- Confirme o tipo de ordem (ex.: mercado vs limite) e todos os parâmetros que você escolheu.
- Declare as premissas para qualquer exemplo que você calcular (por exemplo, “preço esperado” significa seu último preço cotado no momento do envio).
- Carimbos de data/hora e sequenciamento
- Verifique o horário de envio da ordem e os horários em que você recebeu confirmações e preenchimentos.
- Procure atrasos incomuns entre o envio e os eventos de preenchimento.
- Informações exatas de preenchimento e preço
- Compare as condições de execução solicitadas (se houver) com os preços reais de preenchimento.
- Observe se as diferenças de preço aparecem consistentemente durante a mesma janela de evento.
- Correspondência de quantidade e preenchimentos parciais
- Verifique se o tamanho total solicitado foi preenchido.
- Se ocorreram preenchimentos parciais, verifique se foram a preços diferentes e se a quantidade restante foi preenchida posteriormente ou não.
- Custos e efeito líquido
- Identifique todos os custos relevantes incluídos em seu registro de resultado (comissões, spread/custos de transação e quaisquer outras taxas exibidas).
- Avalie os resultados líquidos: uma pequena diferença de preço pode ser amplificada quando os custos são incluídos.
- Marcadores de falha e rejeição
- Registre quaisquer mensagens explícitas de rejeição/parada/“não executado”.
- Determine se o problema foi uma falha no nível da ordem (sem preenchimento) ou uma incompatibilidade no nível de execução (preenchimento, mas não como esperado).
Evidências e exemplos: provando o que aconteceu (sem adivinhar)
Uma maneira útil de avaliar um evento é calcular uma comparação “esperado vs real” usando apenas dados que você pode verificar em seus próprios logs.
Exemplo de estrutura (as premissas devem ser explícitas):
- Suponha que o preço esperado = a última cotação exibida no momento em que você enviou a ordem.
- Calcule a diferença de preço = preço real de preenchimento menos preço esperado (use a convenção de sinal correta).
- Se houver múltiplos preenchimentos (preenchimentos parciais), calcule as diferenças por preenchimento e também em uma base ponderada usando as quantidades preenchidas.
Em seguida, classifique o padrão:
- Diferença de preço sem atraso geralmente se alinha com o movimento do mercado entre seu preço de referência e o preenchimento.
- Atraso mais preenchimento eventual pode indicar que o mercado estava se movendo mais rápido do que a referência que você usou.
- Rejeições ou preenchimentos ausentes apontam para um modo de falha no estágio de manuseio da ordem.
Essa abordagem foca na observação e em comparações baseadas em registros, não em atribuir culpa.
Limitações, riscos e os principais modos de falha a observar
Os resultados de execução são afetados por condições de mercado em mudança, liquidez e a estrutura do manuseio de ordens. Por causa disso, mesmo “problemas” bem documentados podem não ter uma causa única.
Modos de falha materiais a procurar incluem:
- Slippage: preenchimentos ocorrem a preços diferentes da sua referência.
- Preenchimentos parciais: você recebe menos do que solicitou imediatamente, às vezes em múltiplos eventos de preenchimento.
- Rejeição ou não execução da ordem: a ordem não entra em execução como pretendido.
- Eventos assíncronos: confirmações, edições, cancelamentos ou preenchimentos chegam em uma ordem inesperada.
Limitação de verificação: relações históricas (por exemplo, “quando X aconteceu antes, o preço se moveu de forma semelhante”) não provam resultados futuros. Custos e comportamento do mercado podem mudar.
Verificação e próximas perguntas a fazer
Para verificar sua conclusão de forma independente, garanta que cada afirmação esteja vinculada a algo que você possa mostrar no registro:
- Você tem os parâmetros exatos da ordem que enviou?
- Você tem carimbos de data/hora que permitam comparar o tempo de envio vs preenchimento?
- Você tem detalhes completos de preenchimento e custos para o tamanho total executado?
- Você tem mensagens explícitas de rejeição/erro se a execução falhou?
Se uma discrepância for real, a próxima pergunta geralmente não é “Quem causou isso?” mas “Qual camada está inconsistente com minha intenção?”—suas entradas, o timing, os detalhes de preenchimento/preço ou a presença de mensagens explícitas de falha.