Em palavras simples — Um backtest pergunta como regras definidas hoje teriam se comportado em dados passados. A resposta depende tanto das regras quanto dos dados, do relógio, dos custos e das escolhas feitas durante a pesquisa.
Um backtest é uma simulação histórica de uma estratégia. Ele reconstrói, evento após evento, quais informações estariam disponíveis, qual decisão a regra produziria, qual ordem poderia ser enviada e como caixa, posição, custos e risco evoluiriam. Sua curva não é um extrato de operações reais nem uma previsão: é a consequência de um conjunto declarado de premissas.
O que precisa ser especificado
| Coordenada | O que deve ficar visível |
|---|---|
| Hipótese e universo | mecanismo esperado, instrumentos elegíveis e composição histórica |
| Dados | fonte, campos, ajustes, timestamp de disponibilidade, versões e missing |
| Sinal e posição | fórmula, parâmetros, estado, sizing, restrições e rebalanceamento |
| Ordens | tipo, validade, latência, preço de referência, prioridade e fills parciais |
| Economia | comissões, spread, slippage, impacto, borrow, funding, rolagem e tributos pertinentes |
| Contabilidade | caixa, proventos, eventos corporativos, margem, marcação e moeda-base |
| Avaliação | período, benchmark, métricas, splits, tentativas e regra de seleção |
Uma regra como “comprar quando a média curta cruza a longa” deixa em aberto a barra usada, o primeiro preço negociável, o universo, os gaps, o tamanho, os custos e a saída. O motor precisa resolver cada ambiguidade; se ela não foi decidida antes, o pesquisador pode escolher retrospectivamente a versão mais favorável.
Causalidade: saber, decidir e executar
disponibilidade do dado ≤ conclusão do sinal ≤ envio ≤ aceitação da ordem ≤ eventual fillDistinguir disponibilidade do dado, conclusão do sinal, envio e aceitação da ordem, e eventual fill. Um sinal que exige o preço final de fechamento não pode determinar uma ordem executada no leilão que acabou de produzir esse preço. Participar exige ordem admitida com informação já disponível; preço indicativo não é preço final. Um fill posterior pode ter o mesmo preço numérico, mas continua posterior e não é garantido.
A data de referência econômica não é a data de publicação. Preserve a versão disponível então e verifique horário e atraso do feed: uma data diária de revisão não comprova disponibilidade intradiária.
O estado também persiste entre eventos. Caixa, posição, ordens abertas, garantias e valores ainda não liquidados condicionam a próxima decisão. Um motor que recalcula cada barra como se começasse sem histórico pode ignorar restrições reais e contar duas vezes o mesmo capital.
Protocolo mínimo reproduzível
Este roteiro é uma síntese editorial prática, não um protocolo universal nem uma certificação regulatória.
Antes do resultado final, documentam-se hipótese, dataset, universo, período, frequência, benchmark, métricas, custos, parâmetros candidatos e regra de decisão, fuso horário e precisão dos timestamps. Código, configuração, dependências, seed, snapshots recuperáveis e seus hashes identificam a execução. Um hash identifica um arquivo, mas não permite reconstruí-lo sozinho. Um log dos testes inclui também configurações descartadas: escolher o melhor entre muitas alternativas altera a inferência.
O desenho separa desenvolvimento, seleção e teste. Um segmento consultado para ajustar a estratégia deixa de ser “não visto”. Walk-forward ou holdout não eliminam esse problema quando o pesquisador repete o processo até gostar do resultado final.
Custos e preços de referência
Resultado bruto e resultado líquido respondem a perguntas diferentes. Um modelo útil distingue comissão explícita, spread, slippage diante de um benchmark, impacto causado pela própria ordem, oportunidade perdida por não-fill, financiamento e custos específicos como borrow e rolagem.
Se spread ou slippage já estiverem nos preços simulados dos fills, não devem ser descontados novamente como custos separados. Declare o que está embutido nos preços e o que é cobrado à parte.
O preço da barra não prova que a quantidade seria executada. High e low não revelam a sequência intrabar; volume total não garante prioridade; tocar uma ordem limitada não garante fill. Quanto mais a estratégia depende de baixa latência, fila ou liquidez passiva, mais dados e um simulador compatível são necessários.
Exemplo ilustrativo
Exemplo ilustrativo, não resultado operacional: uma regra diária calcula o sinal após o fechamento e envia a ordem na sessão seguinte. O protocolo usa componentes históricos point-in-time e simula fills apenas com liquidez observável evento a evento. Incorpora spread e impacto nos preços e cobra comissões à parte. Compara métricas líquidas com um benchmark de retorno total na mesma moeda. Se houver doze variantes de lookback, todas as doze entram no registro: a vencedora não pode ser apresentada como a hipótese inicial única.
O exemplo não prescreve o uso da abertura seguinte. Mostra as coordenadas necessárias para que outra pessoa reconstrua a simulação.
Como ler o resultado
Retorno, drawdown, Sharpe ou profit factor são resumos condicionados ao período e ao caminho. A leitura pergunta quanto veio de poucas operações, quais exposições explicam o P&L, como o resultado muda após custos, qual é o número efetivo de observações e quantas configurações foram testadas. Resultados out-of-sample, robustez e teste prospectivo aumentam a informação; não convertem o passado em certeza.
Um relatório legível apresenta também posições, turnover, alavancagem, capacidade, distribuição dos fills, falhas, subperíodos e benchmark. A curva acumulada isolada esconde grande parte do mecanismo.
Limites
O backtest só observa regimes contidos nos dados e riscos representados pelo modelo. Não reproduz com certeza mudanças regulatórias, concorrência, impacto na escala futura, falhas operacionais ou eventos nunca observados. Dados corretos hoje podem não representar o que era conhecido no passado. Um bom backtest reduz erros evitáveis e torna a incerteza discutível; não valida por si só uma estratégia.
Fontes
Fontes verificadas em 8 de setembro de 2026; trechos consultados indicados abaixo.
- Halbert White, A Reality Check for Data Snooping, Econometrica, 2000 — resumo da editora: reuso de dados e comparação com benchmark.
- Robert D. Arnott, Campbell R. Harvey & Harry Markowitz, A Backtesting Protocol in the Era of Machine Learning — cópia do autor, Duke, versão de 29 de outubro de 2018, pp. 8–10: motivação, tentativas, correlações e escolha da amostra.
- Marcos López de Prado, What to Look for in a Backtest — 2013, resumo: tentativas e duração; os slides não foram revisados integralmente.
- André F. Perold, The Implementation Shortfall: Paper Versus Reality — 1988, referência original; definição conferida em Summary de CFA Institute, Trade Strategy and Execution.
- European Commission, Regulation (EU) 2017/589, RTS 6 — artigos 5–7: metodologia, mudanças e ambientes de teste no âmbito regulatório aplicável.
- Federal Reserve Bank of St. Louis, ALFRED Help — seções Release Dates: versões históricas e datas de disponibilidade.
- NYSE, Opening and Closing Auctions — p. 2: admissão de ordens e leilão de fechamento.