Mecanismo e definição
Slippage é a diferença entre o preço que você esperava obter para uma ordem e o preço que você realmente recebeu quando ela foi executada. Para medi-lo de forma consistente, você precisa de três elementos: (1) um preço de referência que represente “execução pretendida”, (2) o(s) preço(s) efetivamente executado(s) e (3) uma regra para lidar com timing e partial fills.
Um campo comum e mensurável é slippage (em unidades de preço):
- Slippage = PreçoExecuçãoReal − PreçoExecuçãoPretendida Para uma compra, um preço real mais alto implica slippage positivo; para uma venda, a interpretação do sinal pode ser invertida dependendo da convenção que você escolher. Escolha uma convenção e aplique-a a cada cálculo.
Outro campo mensurável é slippage na moeda da conta (impacto de custo). Isso converte a diferença de preço em um valor usando o tamanho da operação e as especificações do contrato. Fórmulas exatas dependem de como seu sistema de execução define o valor do contrato, então seu método de cálculo deve ser declarado como uma suposição.
Como medi-lo passo a passo
- Selecione a referência de preço pretendido. Exemplos de preços “pretendidos” possíveis incluem a cotação exibida no momento do envio da ordem, o preço limite/stop da ordem (se aplicável) ou um “preço esperado” interno usado pelo seu fluxo de execução. A medição só será tão consistente quanto essa escolha.
- Escolha a referência de preço de execução real. Use o(s) preço(s) de preenchimento (fill) registrado(s) pelo venue/plataforma de execução. Se houver múltiplos fills, você deve decidir se mede cada fill separadamente ou se calcula uma média ponderada pelo volume.
- Defina timestamps e lógica de pareamento. Você precisa de uma regra para qual timestamp ancora “intenção” versus “execução”. Por exemplo, você pode usar o timestamp de envio da ordem para o preço pretendido e o timestamp do fill para o preço real. Se o sistema fornecer múltiplos eventos (atualização de cotação, solicitação enviada, aceitação, fill), defina qual par você compara.
- Trate partial fills. Se uma ordem for preenchida em partes, você pode calcular um slippage médio ponderado pelo volume entre os fills, usando o tamanho de cada fill como pesos. Alternativamente, reporte o slippage por fill e a dispersão dos resultados.
Evidência e exemplo com suposições explícitas
Suponha a seguinte configuração de medição para uma única ordem:
- IntendedExecutionPrice é a cotação exibida usada quando a solicitação da ordem foi criada.
- ActualExecutionPrice é o preço médio ponderado pelo volume em todos os fills daquela ordem.
- O slippage é calculado como Actual − Intended.
Exemplo (números são apenas ilustrativos): IntendedExecutionPrice = 1.1000, e o executado volume-weighted average ActualExecutionPrice = 1.1012. Então slippage (em unidades de preço) = 1.1012 − 1.1000 = 0.0012.
Para verificar o cálculo de forma independente, compare o timestamp e o valor da sua cotação pretendida com o seu log de execução e, em seguida, recompute a média ponderada a partir dos tamanhos e preços dos fills. Se o seu sistema registrar tanto “request sent” quanto “fill time”, repita a medição com cada timestamp de intenção plausível para ver quanto o resultado muda; uma grande mudança indica que sua suposição de timestamp provavelmente domina a medição.
Limitações e riscos na medição
A medição de slippage tem limitações materiais:
- Ambiguidade de intenção: Diferentes sistemas definem “expected” ou “intended” price de maneiras diferentes (cotação na solicitação, nível de limite/stop ou uma expectativa em cache). Alterar essa definição pode mudar o slippage mesmo que os preços de execução sejam idênticos.
- Incerteza de timing: Os mercados podem se mover entre o momento em que você captura o preço pretendido e o momento em que a ordem realmente é executada. Se você não conseguir alinhar timestamps com precisão, pode estar medindo “atraso mais movimento”, não apenas slippage.
- Partial fills e efeitos de agregação: Combinar fills em uma média ponderada pode ocultar o fato de que alguns fills foram favoráveis enquanto outros não foram.
- Variabilidade do provedor e do caminho de execução: Sua execução observada depende de como as ordens são roteadas e combinadas, da liquidez disponível no momento da execução e dos custos de transação. Mesmo com métodos idênticos, os resultados podem diferir entre o tempo e os ambientes.
Comparações históricas devem ser tratadas como descritivas: relações observadas no passado não garantem o comportamento futuro do slippage. Além disso, custos como comissões e taxas podem ser reportados separadamente do slippage de preço; misturá-los em um único número deve ser evitado, a menos que sua definição explicitamente os inclua.
Verificação e o que medir em seguida
Para tornar medições de slippage verificáveis de forma independente, documente suas suposições: qual definição de preço pretendido você usou, como você fez o pareamento dos timestamps, se usou médias por fill ou médias ponderadas pelo volume, e quais regras de conversão de moeda você aplicou.