Um backtest pode executar sua ordem limitada mesmo quando não havia oportunidade real de negociação. Se a mínima de um candle ficou abaixo do seu limite de compra, muitos mecanismos contabilizam uma execução. Mas a mínima só informa que ao menos uma operação reportada ocorreu naquele preço ou abaixo dele. Ela não diz quanto foi negociado, quanto havia na fila à sua frente ou se sua ordem já estava ativa a tempo.
Essa diferença importa sobretudo quando a vantagem da estratégia depende de muitas execuções passivas. Um modelo que trata todo toque no preço como uma execução completa pode transformar uma entrada paciente em uma fonte imaginária de alpha.
Se o candle toca meu preço limite, isso significa que minha ordem foi executada?
Não. Significa que a faixa de preços registrada no candle incluiu seu limite. A possibilidade de execução depende do livro de ofertas, do fluxo de negociações, da sua posição na fila e do momento em que a ordem chegou.
Imagine um limite de compra a $100.00. O candle abre a $100.20, chega à mínima de $99.98 e fecha a $100.10. Uma operação pode ter sido registrada dois centavos abaixo do seu preço, mas, se havia uma fila grande à frente da sua ordem a $100.00 e pouco foi negociado ali, talvez sua ordem nem tenha sido tocada. Só com OHLCV, você não consegue ver essa fila.
Há outra complicação: um candle agrega eventos ao longo do tempo. Se seu sinal é calculado com base no fechamento do candle, não dá para presumir que sua ordem já estava no livro antes, quando ocorreu a mínima. O candle comprime a sequência de eventos que responderia a essa pergunta.
O que os dados OHLCV realmente podem dizer sobre a execução de uma ordem limitada?
OHLCV pode descartar algumas execuções e tornar outras plausíveis. Mas não permite determinar a prioridade na fila nem garantir o volume disponível para sua ordem.
| Observação | O que isso permite concluir | O que isso não comprova |
|---|---|---|
| A mínima do candle ficou acima do limite de compra | Nenhuma negociação reportada chegou a esse preço durante o candle | Que a ordem teria sido executada |
| A mínima do candle tocou o limite de compra | O preço foi registrado no limite | Que houve volume negociado após a chegada da sua ordem |
| A mínima do candle ficou abaixo do limite de compra | Houve negociações naquele preço ou abaixo dele | Que volume suficiente chegou à sua posição na fila |
| O volume total do candle superou o tamanho da sua ordem | O mercado negociou pelo menos esse volume em algum momento do candle | Que esse volume foi negociado ao seu preço, depois da chegada da ordem |
Por isso, um mecanismo baseado em candles precisa adotar uma hipótese de execução. Trate essa hipótese como um modelo com um ponto cego conhecido, e não como um fato extraído do candle.
Como devo modelar a execução de ordens limitadas em um backtest?
Comece pelo momento da ordem. Defina quando o sinal fica disponível, quando a ordem chega à corretora e quais eventos de mercado posteriores podem interagir com ela. Para um sinal conhecido no fechamento do candle, uma regra conservadora baseada em candles é tornar a ordem elegível a partir do candle seguinte.
Depois, separe a elegibilidade pelo preço da quantidade executada. O fato de uma ordem limitada se tornar elegível para negociação não significa que ela será executada por inteiro. Se você tiver registros de negociações, mas não o histórico do livro de ofertas, pode exigir que o volume negociado no limite ou em preço melhor supere um múltiplo do tamanho da sua ordem. Esse múltiplo é uma margem aproximada para a fila, não uma constante universal. Teste vários valores e informe como o resultado muda.
Por exemplo, suponha que a estratégia envie um limite de compra de 2 BTC e que, depois de a ordem se tornar elegível, sejam negociados 3 BTC no preço escolhido. Um modelo que exige 5 BTC de volume qualificado não executaria a ordem; um modelo que usa um múltiplo de volume de 1.0 a executaria. Nenhum dos dois resultados reconstitui a fila. A comparação mostra o quanto a estratégia depende de uma hipótese que você não consegue observar.
Mantenha as ordens não executadas na simulação. Cancele-as quando a estratégia as cancelaria e aceite que a operação perdida continue perdida. Dar uma execução à estratégia sempre que seu limite é tocado, ignorando as ordens que expiram sem serem tocadas, distorce tanto a execução quanto a contagem de oportunidades.
Quando preciso de dados do livro de ofertas?
Use atualizações do livro de ofertas e negociações quando a posição na fila ou as execuções parciais forem centrais para a estratégia: market making, ofertas passivas de curta duração ou entradas que dependem de estar perto do início de uma fila concorrida em determinado preço. Mesmo assim, os dados públicos históricos talvez não revelem sua posição exata na fila. Você precisa modelar a chegada da ordem, os cancelamentos à frente, as regras de correspondência e o impacto da sua própria ordem no mercado.
Para estratégias mais lentas, livros detalhados podem adicionar complexidade sem resolver a principal incerteza. Ainda é possível fazer um estudo útil baseado em candles comparando um limite superior com execução a cada toque e cenários mais rigorosos, condicionados ao volume. Se a vantagem aparente desaparece assim que você exige execuções plausíveis, isso é uma informação valiosa para a pesquisa.
Como posso saber se meu resultado depende de execuções otimistas?
Rode a mesma estratégia com um pequeno conjunto de regras de execução explícitas e compare mais do que o retorno final. Acompanhe a quantidade de ordens executadas, a taxa de execução parcial, o tempo no livro, a quantidade cancelada, os movimentos perdidos após ordens não executadas e o giro. Uma estratégia pode manter o retorno principal e, ainda assim, depender de muito menos operações, escolhidas a dedo.
O próximo teste útil é o paper trading: envie a lógica real das ordens e registre confirmações, execuções e cancelamentos. As execuções em paper trading ainda dependem das regras da corretora ou do simulador, mas permitem testar o timing e o tratamento das ordens, aspectos que um candle não mostra.
Um limite tocado é uma evidência sobre o preço. Uma execução é uma afirmação sobre a negociação. Seu backtest deve deixar visível a diferença entre essas afirmações.
← Todos os artigos


