Backtesting em Python

Frameworks de backtesting em Python

4 min

Você pode escrever um backtest do zero, mas frameworks maduros cuidam da contabilidade — posições, caixa, custos, ordens — para você focar na estratégia.

As principais opções

  • backtrader — um framework popular, completo e orientado a eventos. Rico, maduro, com indicadores e simulação de corretora embutidos. Uma entrada suave, embora o desenvolvimento tenha desacelerado.
  • vectorbt — construído sobre NumPy/pandas para backtesting vetorizado. Extremamente rápido para varrer milhares de combinações de parâmetros, ao custo de um modelo mental mais íngreme, orientado a arrays.
  • backtesting.py — pequeno, limpo e amigável para iniciantes. Ótimo para uma única estratégia com saída rápida e legível e gráficos embutidos. Usamos o estilo dele na próxima aula.
  • Zipline — o motor que rodava o Quantopian; ainda usado (o fork da comunidade zipline-reloaded). Forte para pesquisa em ações diárias, mais pesado de configurar.
  • QuantConnect — uma plataforma na nuvem (o motor LEAN) com dados hospedados em várias classes de ativos, backtesting e deploy ao vivo. Menos configuração, mas você trabalha dentro do ambiente deles.

Como escolher

  • Aprendendo ou uma estratégia por vez: backtesting.py ou backtrader.
  • Grandes varreduras de parâmetros e velocidade de pesquisa: vectorbt.
  • Dados hospedados e um caminho para o ao vivo sem gerenciar infraestrutura: QuantConnect.

A pegadinha que nenhum framework resolve

Um framework garante contabilidade correta, não premissas corretas. Ele simulará fielmente uma estratégia com viés de look-ahead, sem custos e sobreajustada, e te entregará uma linda curva de capital. As armadilhas da aula anterior são sua responsabilidade — a ferramenta não as evita por você.

Terminou de ler?
Aviso de risco

Este conteúdo tem finalidade exclusivamente educacional e informativa e não constitui recomendação de investimento, consultoria financeira, tributária ou jurídica. Operar e investir envolvem risco, incluindo a possível perda de capital. Qualquer desempenho exibido por ferramentas de terceiros é hipotético e não promessa de resultado futuro. Faça sua própria análise e considere orientação profissional antes de qualquer decisão.