22 de agosto de 2026 · investigação

Porque é que as ordens abertas do seu backtest precisam de um relógio

Porque é que as ordens abertas do seu 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 discretamente a ordem às 10:04 e, depois, contabiliza uma execução às 10:05. Em paper trading, a ordem original pode continuar pendente na plataforma. Se for executada enquanto a ordem substituta também está ativa, a estratégia tem 2 ordens e um modelo de posição que finge que só havia 1.

As ordens abertas precisam de 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 uma execução coincidir com esse cancelamento. Há 3 atalhos que apagam regularmente estes factos.

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

Muitos backtests recalculam a posição-alvo a cada barra e, depois, substituem a ordem pendente pelo que o sinal mais recente indicar. Assim, a ordem desaparece no exato momento em que a estratégia muda de ideias. As plataformas reais não funcionam assim. Um pedido de cancelamento demora tempo e a ordem pode ser executada antes de a plataforma o processar.

Considere uma ordem de compra limitada 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, são executadas 60 ações; o cancelamento é confirmado às 10:03:00.110. As 40 ações restantes são canceladas, mas a posição passa a incluir 60 ações. Um backtest baseado em barras que elimina a ordem às 10:03 pode indicar 0. Um que assume um cancelamento imediato e, ainda assim, regista uma execução posterior inventou exposição na direção oposta.

Acompanhe explicitamente o ciclo de vida da ordem: enviada, confirmada, parcialmente executada, com cancelamento pendente, cancelada ou totalmente executada. Mantenha as execuções que ocorram antes da confirmação do cancelamento. Numa simulação com barras grosseiras, escolha e indique uma regra de ordenação conservadora para os casos em que ambos os eventos possam ocorrer dentro da mesma barra.

Erro 2: Dar à ordem pendente um prazo de validade infinito

Uma ordem limitada definida a partir de um sinal às 10:00 pode ficar desatualizada, mesmo que o sinal não tenha uma regra de saída explícita. O livro de ordens muda, a volatilidade varia e o valor de mercado do instrumento pode afastar-se. Ainda assim, um simulador que mantém a ordem ativa até ser executada pode acabar por registá-la como executada meses mais tarde e atribuí-la a uma tese que já deixou de existir.

Defina uma política de validade das ordens que corresponda à estratégia. Um sinal de 1 minuto pode usar uma expiração de 30 segundos; um rebalanceamento diário pode manter uma ordem ativa até ao fecho. São escolhas da estratégia, não predefinições universais. Se a estratégia atualizar os preços a cada barra, modele a sequência de cancelamento e substituição, em vez de fazer a ordem saltar magicamente para o novo preço.

Política da ordemUtilização típicaQuestão para o backtest
Imediata ou cancelarExecutar a liquidez disponível e pararQue quantidade poderia ser executada no envio?
Expiração curtaSinal rápido com uma janela de execução breveA ordem ainda era válida quando o preço regressou?
Até ao fim da sessãoRebalanceamento lento ou intenção de participar no leilão de fechoA plataforma suporta realmente essa duração?

Erro 3: Contabilizar cada toque no preço como uma execução

Se o mínimo de uma vela atingir uma ordem limitada de compra, isso não significa necessariamente que a ordem tenha sido executada. Pode haver uma fila de ordens à sua frente, pouco volume negociado a esse preço ou um negócio breve que ocorreu antes de a ordem chegar. Um modelo de ordens desatualizado combina muitas vezes os 3 erros: mantém a ordem ativa durante demasiado tempo, assume que estava à frente na fila e, depois, atribui-lhe uma execução total quando o preço toca no limite.

No mínimo, impeça execuções anteriores à chegada da ordem e limite a quantidade simulada ao volume negociado plausível no preço-limite. Nas estratégias em que a posição na fila é relevante, use dados de negócios e do livro de ordens ou um modelo de fila deliberadamente conservador. Considerar que uma ordem é executada quando o preço toca no limite pode ser útil numa análise preliminar, mas identifique-o como uma aproximação otimista e compare-o com uma hipótese mais exigente.

Auditoria prática: registe a hora de criação de cada ordem, o período de atividade, o pedido e a confirmação de cancelamento, a hora e a quantidade executada e a quantidade restante. Depois, reproduza alguns negócios em torno das inversões de sinal. Se não conseguir explicar por que motivo cada ordem ainda estava ativa quando foi executada, é preciso rever a contagem de execuções do backtest.

Modele a ordem que pretende testar em paper trading

O estado da ordem liga a intenção da estratégia à exposição efetiva. A posição deve mudar quando há execuções, e não quando mudam os objetivos do sinal ou são enviados pedidos de cancelamento. As substituições devem deixar um registo auditável e as execuções parciais devem transitar para a decisão seguinte. Isto torna o backtest mais trabalhoso, mas também dá significado à comparação com o paper trading: é possível identificar as razões pelas quais os 2 sistemas divergem na execução.

Quando o modelo de ordens for incerto, reflita essa incerteza nos resultados. Teste ordens de curta e longa duração, varie o atraso do cancelamento e mostre quanto do desempenho depende de hipóteses otimistas sobre a fila. A estratégia pode estar bem. Mas a sua vantagem aparente também pode ser o rendimento de uma ordem que o sistema real teria cancelado há horas.

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