Um backtest muitas vezes contabiliza operações como se um sinal se transformasse diretamente em uma posição. O paper trading insere uma ordem nesse caminho. Essa ordem pode ficar aberta, ser executada parcialmente, ser cancelada, rejeitada ou continuar ativa mesmo depois que o sinal mudar. Se a estratégia simulada ignorar esse ciclo de vida, a quantidade de operações e a exposição podem ter pouca relação com o que a conta de paper trading registra.
A solução prática é tratar as ordens como objetos persistentes, com estados e registros de horário. Um sinal é uma instrução para tentar operar; não é prova de que uma operação aconteceu.
Por que minha estratégia em paper trading faz menos operações do que meu backtest?
Comece pelas ordens que nunca foram executadas. Um backtest pode presumir que toda ordem limitada foi executada sempre que o mercado tocou seu preço. Em um mercado real, o toque não informa se sua ordem estava à frente na fila, se houve volume negociado suficiente ou se a cotação ainda estava disponível quando a ordem chegou à plataforma.
Considere uma estratégia que envia uma ordem limitada de compra a $100 e a cancela após 30 segundos. O mercado negocia a $100.00, mas há pouco volume nesse preço e outras ordens têm prioridade. Sua ordem pode ser executada parcialmente ou não ser executada. Um backtest baseado apenas no toque registra uma posição completa. Uma conta de paper trading que considera as premissas de fila pode não registrar nenhuma execução.
Ordens a mercado têm uma divergência diferente. Um backtest pode executar a quantidade inteira na abertura do próximo candle, enquanto o paper trading rejeita uma quantidade que excede um limite da exchange ou a executa em partes conforme o livro de ofertas se movimenta. Um candle é um resumo das negociações; ele não garante que sua ordem inteira poderia ter sido executada a um só preço.
O que um backtest deve fazer quando o sinal muda antes de a ordem ser executada?
Mantenha a ordem antiga ativa até que o simulador receba e processe o cancelamento. Se o sinal inverter enquanto uma ordem de compra estiver aberta, a estratégia pode querer cancelá-la e enviar uma ordem de venda. Essa intenção não elimina a ordem de compra imediatamente. Ela ainda pode ser executada enquanto o cancelamento está em trânsito, deixando a conta comprada justamente quando o novo sinal indica venda a descoberto.
Modele isso como uma sequência: o sinal muda, a estratégia envia uma solicitação de cancelamento, a plataforma confirma o cancelamento ou informa uma execução, e só então a estratégia conhece o estado final da ordem. Até mesmo um atraso fixo simples pode revelar condições de corrida que um backtest com cancelamento instantâneo oculta.
Para um modelo intencionalmente simples, um atraso de cancelamento de 1 segundo e o processamento no próximo evento podem ser mais informativos do que fingir que o cancelamento é instantâneo. O atraso adequado depende da plataforma e do sistema; o importante é representar algum atraso. Se sua ordem for a mercado e não tiver janela para cancelamento, a mesma questão ainda importa para execuções parciais e notificações atrasadas.
Quais estados de ordem um simulador de paper trading deve registrar?
Use uma máquina de estados pequena e registre cada transição com seu horário. A terminologia exata varia conforme a plataforma, mas as distinções principais são as mesmas:
- Nova ou pendente: enviada, mas ainda não confirmada.
- Aberta: aceita e ainda apta a ser executada.
- Parcialmente executada: parte da quantidade foi negociada; o restante ainda pode estar aberto.
- Executada: não resta nenhuma quantidade.
- Cancelamento pendente: uma solicitação de cancelamento está em trânsito; a ordem ainda pode ser executada.
- Cancelada, rejeitada ou expirada: nenhuma quantidade adicional pode ser negociada nessa ordem.
Registre a quantidade executada separadamente da quantidade solicitada, junto com os preços de execução e as taxas. Uma ordem parcialmente executada é, ao mesmo tempo, uma operação e uma obrigação ativa referente ao restante. Tratá-la simplesmente como aberta ou concluída elimina informações de que a estratégia precisa para dimensionar sua próxima ação.
| Evento da ordem | O que a estratégia deve saber | Atalho comum em backtests |
|---|---|---|
| Execução parcial | Quantidade executada, quantidade restante, preço médio | Considerar a ordem inteira executada a um só preço |
| Solicitação de cancelamento | Horário da solicitação e confirmação posterior de cancelamento ou execução | Remover a ordem imediatamente |
| Rejeição | Motivo e se é válido tentar novamente | Presumir que a operação solicitada aconteceu |
| Expiração | Horário em que a ordem deixou de estar apta a ser executada | Deixá-la aberta até que o preço a toque mais tarde |
Como comparar de forma justa as operações do backtest com as do paper trading?
Compare primeiro os eventos das ordens, depois as posições e, por último, o P&L. Se o backtest executou uma ordem que a conta de paper trading nunca executou, a diferença posterior no P&L é uma consequência, não o ponto onde se deve procurar a causa.
Para cada ordem pretendida, associe as duas execuções usando um identificador estável de decisão da estratégia ou da ordem. Depois, examine o horário de envio, o preço e a quantidade solicitados, a validade, as execuções, os cancelamentos, as rejeições, as taxas e a posição final. Registre também o motivo de uma ordem simulada não ter sido executada: o preço não atingiu o limite, a fila presumida à frente não foi liberada ou a ordem expirou.
Um pequeno exemplo deixa a sequência clara. O sinal solicita 10 unidades. Os dois sistemas enviam ordens às 10:00:00. O backtest presume uma execução completa às 10:00:01. O paper trading executa 4 unidades às 10:00:01, recebe uma solicitação de cancelamento às 10:00:02 e, antes da confirmação do cancelamento às 10:00:03, informa a execução de mais 2 unidades. A comparação correta é 6 unidades executadas contra 10, com 4 canceladas. Reduzir tudo a uma única “operação” esconde a exposição que a estratégia realmente assumiu.
Preciso de um simulador completo de exchange para fazer isso direito?
Não. Um backtest pode começar com algumas premissas explícitas: se tocar o limite basta, quanto volume precisa ser negociado além do preço para liberar a fila presumida à frente, por quanto tempo as ordens permanecem abertas e como funcionam os atrasos de cancelamento. Execute a estratégia com mais de uma configuração plausível. Se o desempenho depender de todas as ordens limitadas abertas serem executadas por completo, você descobriu algo útil sobre o modelo.
O paper trading também não é uma referência definitiva para a qualidade de execução. Ele pode usar execuções simuladas e não reproduzir uma fila real. Seu valor aqui é mais específico: mostrar se a estratégia e o gerenciador de ordens concordam sobre a quantidade pendente, os cancelamentos, a posição e o comportamento de novas tentativas conforme os eventos chegam ao longo do tempo.
Um pequeno prazer desse trabalho: um bom log de ordens pode tornar banal uma discrepância que antes parecia inexplicável. “A segunda ordem filha foi executada depois da solicitação de cancelamento” é bem melhor do que “o paper trading está estranho”. Quando o backtest e a conta de paper trading discordarem, acompanhe o ciclo de vida da ordem antes de alterar o sinal.
← Todos os artigos


