Backtesting simula como regras de negociação definidas previamente teriam funcionado com dados históricos, conforme um modelo escolhido de execução e custos.
Pedro percebe que um dia de alta às vezes é seguido por outra subida. Em vez de comprar por intuição, escreve uma regra e a aplica a preços antigos. Isso é Backtesting: testar uma ideia no passado. O resultado descreve o que ocorreu no modelo escolhido, não dinheiro que Pedro realmente ganhou. Bailey et al. explicam por que um resultado histórico atraente deve ser separado de uma validação confiável da estratégia. [1]
Pedro só pode usar informações disponíveis antes da operação. Uma regra baseada no fechamento do dia não pode justificar uma compra naquela mesma manhã. QuantConnect chama esse erro de Look-ahead Bias: informação futura entrou numa decisão passada. Para dados publicados, importa quando ficaram disponíveis, não apenas o período descrito; revisões posteriores também não eram conhecidas. Nosso exemplo usa, portanto, fechamentos anteriores já concluídos e somente a abertura seguinte. [2]
Selecionar apenas mercados ou empresas que ainda existem cria outra distorção. QuantConnect a chama de Survivorship Bias e a ilustra com o uso retroativo da composição atual de um índice. Nos dados de Bitcoin também importam a corretora, as interrupções e o método de construção dos preços. Uma cotação de um serviço pode não ser negociável em outro. Erros podem ser corrigidos com rastreabilidade; apagar quedas inconvenientes mudaria a pergunta investigada. [2]
O programa precisa decidir quando uma ordem é executada, a que preço e em qual quantidade. Para isso servem os modelos de execução descritos por QuantConnect. Tocar um preço no gráfico não significa que toda a ordem poderia ser executada ali. Ordens reais podem ter execução parcial; os modelos prontos dessa plataforma supõem execução completa nos backtests. Também é preciso verificar a idade da cotação e a liquidez, isto é, a possibilidade de encontrar contraparte. [3]
Slippage é a diferença entre o preço de execução esperado e o obtido; pode favorecer ou prejudicar o operador. QuantConnect mostra como modelá-lo. Também entram taxas e, quando aplicáveis, financiamento e outros custos da estratégia. Um custo já incluído no preço não deve ser descontado de novo. Slippage zero é uma hipótese, não uma constatação sobre o mercado real. Repetir o teste com execução pior e custos maiores ajuda a avaliar se a conclusão se sustenta. [4]
Se Pedro ajusta a regra nos mesmos dados usados para medir seu sucesso, faz uma prova cujas respostas já conhece. Primeiro deve separar dados anteriores para desenvolvimento e posteriores para validação. TimeSeriesSplit do scikit-learn ajuda a preservar essa ordem. Sozinho, porém, não evita vazamento de informação na preparação dos dados, períodos-alvo sobrepostos ou ajustes repetidos. Alterar a regra depois de ver a validação significa usar também esses dados no desenvolvimento. [5]
Entre muitos ajustes, algum pode parecer excelente por acaso. Mostrar apenas o vencedor esconde quantas buscas foram feitas. Bailey et al. estudam Backtest Overfitting: adaptar uma estratégia às particularidades de um histórico específico. Registre parâmetros, períodos e mercados testados, não só a melhor curva. Os autores propõem um procedimento próprio para estimar a probabilidade desse problema; uma divisão simples dos dados não o substitui, e nosso exemplo não calcula essa estimativa. [1]
Um relatório honesto permite rastrear dados, versão das regras, operações, custos e períodos de perda. A estratégia de referência precisa de hipóteses comparáveis. A NFA dos EUA também destaca a vantagem da visão retrospectiva e a ausência de perdas financeiras reais nos resultados hipotéticos; suas regras publicitárias abrangem membros específicos. Um backtest ajuda a descartar ou investigar melhor uma ideia. Mesmo um cálculo correto não prova que ela funcionará em outro mercado ou na negociação real. [6]
Uma regra que pode ser conferida à mão
Para ter uma visão mais completa, leia este verbete junto com Trading Plan, Trading Journal, Slippage, Overfitting, Walk-forward Analysis. Também há referências a este verbete em Technical analysis, OHLCV, Timeframe, Candlestick chart.
01Um backtest lucrativo significa que posso ganhar com a estratégia?+
Ele mostra lucro apenas nos dados históricos selecionados e sob certas hipóteses. Confira a disponibilidade das informações, a execução, os custos e quantas variantes antecederam o resultado. Nem uma validação histórica independente garante o desempenho futuro.
02Basta descontar todas as taxas no final?+
Somente se isso corresponder ao modelo e os custos ao longo do caminho não mudarem os recursos disponíveis nem as decisões. Em geral, o custo pertence à operação correspondente. Execuções e taxas devem ser registradas sem omissões ou cobrança duplicada no cálculo.