22 de Agosto de 2026 · pesquisa

Por que suas ordens em aberto no backtest precisam de um relógio

Por que suas ordens em aberto no backtest precisam de um relógio

Uma estratégia envia uma ordem limitada às 10:00. O sinal muda às 10:03. O backtest substitui a ordem silenciosamente às 10:04 e, depois, registra um preenchimento às 10:05. No paper trading, a ordem original pode continuar aberta na plataforma. Se ela for preenchida enquanto a ordem substituta também estiver ativa, a estratégia terá 2 ordens e um modelo de posição que finge que havia apenas 1.

Ordens em aberto precisam ter estado e relógio próprios. Um backtest deve saber quando cada ordem foi enviada, quando pode ser cancelada, se o cancelamento chegou à plataforma e o que acontece se um preenchimento ocorrer ao mesmo tempo que o cancelamento. 3 atalhos costumam apagar esses detalhes.

Erro 1: tratar um novo sinal como cancelamento instantâneo

Muitos backtests recalculam a posição-alvo a cada candle e então substituem a ordem aberta pelo que o sinal mais recente indicar. Assim, a ordem desaparece no instante em que a estratégia muda de ideia. As plataformas reais não funcionam assim. Um pedido de cancelamento leva tempo, e a ordem pode ser executada antes que a plataforma o processe.

Considere uma ordem limitada de compra de 100 ações a $50.00. Às 10:03, o sinal enfraquece e a estratégia envia um pedido de cancelamento. Às 10:03:00.080, 60 ações da ordem são preenchidas; o cancelamento é confirmado às 10:03:00.110. As 40 ações restantes são canceladas, mas a posição agora inclui 60 ações. Um backtest baseado em candles que exclui a ordem às 10:03 pode reportar zero. Outro, que presume o cancelamento imediato e ainda registra um preenchimento posterior, inventa uma exposição na direção oposta.

Acompanhe explicitamente o ciclo de vida da ordem: enviada, confirmada, parcialmente preenchida, com cancelamento pendente, cancelada ou totalmente preenchida. Mantenha os preenchimentos ocorridos antes da confirmação do cancelamento. Em uma simulação com candles de baixa resolução, escolha e informe uma regra conservadora para ordenar eventos que poderiam ocorrer dentro do mesmo candle.

Erro 2: deixar uma ordem aberta ativa por tempo indefinido

Uma ordem limitada definida com base em um sinal às 10:00 pode ficar desatualizada mesmo que o sinal não tenha uma regra explícita de saída. O livro de ofertas muda, a volatilidade se altera e o valor de mercado do instrumento pode oscilar. Ainda assim, um simulador que mantém a ordem ativa até que seja preenchida pode acabar registrando um preenchimento meses depois e atribuí-lo a uma tese que já não existe.

Defina uma política de validade da ordem que corresponda à estratégia. Um sinal de 1 minuto pode usar um vencimento de 30 segundos; um rebalanceamento diário pode manter a ordem ativa até o fechamento. Essas são decisões da estratégia, não padrões universais. Se a estratégia reajusta o preço a cada candle, modele a sequência de cancelamento e substituição em vez de teletransportar a ordem para o novo preço.

Política da ordemUso típicoPergunta para o backtest
Imediata ou cancelaConsome a liquidez disponível e depois paraQue parte poderia ser preenchida no envio?
Vencimento curtoSinal rápido com uma breve janela de execuçãoA ordem ainda era válida quando o preço voltou?
Até o fim da sessãoRebalanceamento lento ou intenção de participar do leilão de fechamentoA plataforma realmente aceita esse prazo de validade?

Erro 3: contar todo toque no preço como preenchimento

Se a mínima de um candle chega ao preço de uma ordem limitada de compra, isso não significa necessariamente que a ordem foi preenchida. Pode haver uma fila de ordens à frente, pouco volume negociado naquele preço ou um negócio rápido que aconteceu antes de a ordem chegar. Um modelo de ordens desatualizado costuma combinar os 3 erros: mantém a ordem ativa por tempo demais, presume que ela estava no início da fila e então registra o preenchimento total quando o preço é tocado.

No mínimo, impeça preenchimentos anteriores ao horário de chegada da ordem e limite a quantidade simulada ao volume negociado plausível no preço limite. Para estratégias em que a posição na fila importa, use dados de negócios e do livro de ofertas ou um modelo de fila deliberadamente conservador. Simular preenchimentos com base apenas no toque no preço ainda pode ser útil para uma análise inicial, mas identifique isso como uma aproximação otimista e compare com uma hipótese mais rigorosa.

Uma auditoria prática: registre o horário de criação, a janela de atividade, o pedido e a confirmação de cancelamento, o horário e a quantidade preenchida e a quantidade restante de cada ordem. Depois, reproduza alguns negócios em torno de reversões de sinal. Se você não consegue explicar por que cada ordem ainda estava ativa quando foi preenchida, é preciso revisar a contagem de preenchimentos do backtest.

Modele a ordem que pretende testar em paper trading

O estado da ordem conecta a intenção da estratégia à exposição real. A posição deve mudar quando houver preenchimentos, não quando mudarem os alvos do sinal nem quando forem enviados pedidos de cancelamento. As substituições devem deixar um histórico auditável, e os preenchimentos parciais devem continuar valendo na decisão seguinte. Isso torna o backtest mais trabalhoso, mas também permite uma comparação significativa com o paper trading: os 2 sistemas podem divergir na execução por motivos identificáveis.

Quando houver incerteza no modelo de ordens, mantenha essa incerteza nos resultados. Teste ordens com prazos curtos e longos, varie o atraso de cancelamento e mostre quanto o desempenho depende de hipóteses otimistas sobre a fila. A estratégia pode estar funcionando. Mas sua vantagem aparente também pode ser o rendimento de uma ordem que o sistema real teria cancelado horas antes.

gestão de ordensbacktestingexecuçãopaper trading
← Todos os artigos