Ir para o conteúdo

Backtest

Simulação histórica de uma estratégia com dados point-in-time, regras causais, execução realista e controle dos vieses antes de qualquer inferência.

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.

Motor de backtest: eventos e contabilidadeA curva final nasce de uma sequência verificável de estados. Esquema event-driven ilustrativo; frequência, prioridade e accounting devem ser documentados.Motor de backtest: eventos e contabilidadeA curva final nasce de uma sequência verificável de estadosEsquema event-driven ilustrativo; frequência, prioridade e accounting devem ser documentados.1Relógio e eventosOrdena dados, eventoscorporativos, sinais, ordens eliquidação.2Snapshot de dadosExpõe ao motor apenas o queestá disponível naqueleinstante.3Estado da estratégiaPosições, caixa, margem evariáveis persistem entreeventos.4Simulador de ordensAplica latência, validade,liquidez e regras de filldeclaradas.5LedgerRegistra quantidades, preços,custos, fluxos, marcações ereconciliações.6DiagnósticoMétricas e logs permitematribuir resultado e erros.Cyclepedia · esquema educacional condicionado, não previsão nem promessa
A curva é a última saída do motor; eventos, estados, ordens, fills e contabilidade precisam continuar auditáveis.

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

evento ≤ disponibilidade do dado ≤ cálculo do sinal ≤ envio da ordem ≤ primeiro fill possível

O timestamp econômico não é necessariamente o timestamp de disponibilidade. Um balanço se refere a um trimestre, mas é publicado depois; um índice anuncia e efetiva alterações em datas distintas; o close só pode ser definitivo após o leilão. Comprar no mesmo preço usado para produzir o sinal exige uma mecânica de mercado que torne isso possível, não apenas uma linha de código.

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

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. Código, configuração, dependências, seed e snapshot ou hash dos dados identificam a execução. 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.

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

Uma estratégia calcula o sinal após o fechamento de t e envia uma ordem a mercado na abertura de t+1. O backtest usa o universo que existia em t, mantém títulos posteriormente delistados, aplica o gap da abertura, limita a participação no volume e registra comissão e spread. Se o instrumento não negocia, a posição anterior permanece segundo uma regra de exceção.

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

Conexões