Escolher uma biblioteca de backtesting é, em grande parte, uma aposta na manutenção. O código que precifica sua estratégia precisa continuar vivo quando uma corretora muda uma API, quando um release do pandas quebra um import, ou quando você encontra um bug às 2 da manhã. Por isso, esta análise começa pelo sinal menos glamoroso e mais decisivo — o projeto está realmente sendo mantido? — e só depois entra em arquitetura, velocidade e recursos.
Todos os números do GitHub abaixo foram coletados ao vivo da API do GitHub em 2026-06-22, e as afirmações mais delicadas foram cruzadas com fontes primárias (repositórios dos projetos, documentação oficial) e verificadas de forma adversarial. Onde um número é o melhor cenário autorrelatado por um fornecedor, isso está sinalizado.
A checagem da realidade da manutenção
Aqui está todo o ecossistema ranqueado por estrelas no GitHub, com código de cores indicando se ele está de fato sendo trabalhado:

A conclusão incômoda: dois dos nomes mais estrelados e mais comentados em blogs são, na prática, legados.
- Backtrader (22.1k ⭐) é o famoso que todo mundo recomenda — e seu último commit no branch padrão foi em abril de 2023, com zero releases publicados no GitHub. Ele não está abandonado (as issues ainda recebem atenção esporádica), mas está dormente. Catálogos curados o classificam como
INACTIVE. - Zipline (19.9k ⭐), o antigo motor da Quantopian, foi abandonado em 2020 quando a Quantopian encerrou as atividades. A própria lista de alternativas do kernc o arquiva em "Obsolete / Unmaintained." O sucessor mantido é um fork separado, o
zipline-reloaded(1.8k ⭐), de Stefan Jansen. - PyAlgoTrade (4.7k ⭐) está arquivado — oficialmente somente leitura. QSTrader (3.4k ⭐) e os antigos frameworks de cripto
blanklyeqtpylibestão sinalizados como não mantidos.
Enquanto isso, os projetos que estão entregando releases de verdade em 2026 são Freqtrade (51.7k ⭐), NautilusTrader (24.1k ⭐), LEAN (20k ⭐), backtesting.py (8.5k ⭐), Jesse (8.1k ⭐), vectorbt (8.0k ⭐), PyBroker (3.4k ⭐), bt (2.9k ⭐) e Lumibot (1.7k ⭐). As estrelas medem o histórico; as datas dos commits medem se alguém vai corrigir o seu bug.
Duas arquiteturas: orientada a eventos vs vetorizada
A outra bifurcação que decide tudo é como o motor executa sua estratégia.
- Os motores orientados a eventos (event-driven) percorrem barra por barra, chamando sua estratégia a cada novo candle. Eles modelam preenchimentos de ordens, slippage e risco intrabar de forma realista e — fundamental — o mesmo código pode rodar ao vivo. Backtrader, NautilusTrader, backtesting.py, Freqtrade, Lumibot e Zipline são orientados a eventos.
- Os motores vetorizados (o destaque é o vectorbt) pulam o loop por completo: eles empacotam milhares de configurações de estratégia em arrays NumPy e calculam todas de uma vez. Isso é absurdamente rápido para busca de parâmetros, mas pressupõe preenchimentos na próxima barra e ignora slippage intrabar, preenchimentos parciais e checagens de risco no meio da barra.
Nenhum vence de forma absoluta. Você pesquisa com o rápido e valida com o realista. Mais sobre esse trade-off abaixo.
Os líderes ativamente mantidos
NautilusTrader — nível de produção, orientado a eventos, núcleo em Rust
O NautilusTrader (24.1k ⭐, LGPL-3.0) se descreve como um "production-grade Rust-native trading engine with deterministic event-driven architecture" — a base de código é cerca de 70% Rust com bindings em Python. Ele faz backtest em múltiplas venues e instrumentos com resolução de nanossegundos usando dados de tick e de order book, e traz cerca de 20 integrações ao vivo (Binance, Coinbase, Kraken, OKX, Bybit, Interactive Brokers, Betfair e mais). Sua promessa central: código de estratégia idêntico da pesquisa à implantação ao vivo. Essa é a escolha mais forte para um público de cripto+ações que precisa de realismo no nível de tick e de um caminho real para produção. Custo: uma curva de aprendizado mais íngreme e uma arquitetura mais pesada do que as bibliotecas simples.
vectorbt — pesquisa vetorizada em escala
O vectorbt (8.0k ⭐, Apache-2.0 + Commons Clause) é o motor vetorizado. Seu README: "instead of looping through bars one strategy at a time, it packs thousands of configurations into NumPy arrays, accelerates the hot path with Numba and Rust, and runs them all at once, turning hours of grid search into seconds." Testar 10.000 combinações de janelas de dual-SMA em segundos é o exemplo canônico; terceiros relatam acelerações de cerca de 1000× em relação ao Backtrader em algumas cargas de trabalho (números do fornecedor/de terceiros, não um benchmark independente). A varredura de parâmetros abaixo — 25 backtests através de janelas de SMA — é exatamente o que o vectorbt industrializa:

Duas ressalvas que vale conhecer: a Commons Clause restringe a revenda comercial (relevante se você está construindo um produto), e o polido e pago vectorbt PRO é um produto separado do build open-source. O vectorbt é somente backtest — sem trading ao vivo.
backtesting.py — o favorito leve
O backtesting.py (8.5k ⭐, AGPL-3.0) é aquele para o qual recorrer quando você quer um backtest limpo, rápido e legível, sem toda a cerimônia de um framework. Defina init() e next(), execute, obtenha um objeto de estatísticas e um gráfico interativo em Bokeh. A licença AGPL-3.0 importa: é um copyleft forte com cláusulas de uso em rede, então fica complicado dentro de um SaaS de código fechado. Ele é somente backtest. A curva de patrimônio desta página (capa) e as estatísticas abaixo vêm de uma execução real do backtesting.py — um cruzamento simples de SMA(20/50) sobre uma série sintética:

Repare no resultado honesto: o cruzamento ingênuo retornou +1,6% contra +46% do buy & hold, com um drawdown brutal de −38%. Esse é o resultado inicial normal de um backtest real, e exatamente por isso você varre parâmetros e valida premissas antes de acreditar em qualquer coisa.
Freqtrade — o padrão de cripto
O Freqtrade (51.7k ⭐, GPL-3.0) é o projeto mais estrelado desta lista e o bot de trading de cripto open-source de fato. Ele faz backtesting, dry-run (paper trading) e trading ao vivo nas principais corretoras, controlado via Telegram ou por uma interface web embutida, e entrega releases mensais. É somente cripto — sem ações — mas, para cripto, é o padrão mantido e apoiado pela comunidade.
Lumibot, bt, PyBroker, Jesse, LEAN, zipline-reloaded
- Lumibot (1.7k ⭐, GPL-3.0) — multi-ativo (ações, opções, cripto, futuros, forex) com o mesmo código para backtest, paper e ao vivo através de Alpaca, Interactive Brokers, Tradier, Schwab, Tradovate e CCXT. Onboarding de corretoras amigável para iniciantes; fique de olho nas pegadinhas documentadas de paridade entre backtest e ao vivo (fusos horários, timing de entrada, margem).
- bt (2.9k ⭐, MIT) — um framework flexível, em árvore de algoritmos, voltado para estratégias de alocação de portfólio e baseadas em pesos em vez de execução por tick. Licença permissiva, ativamente mantido, somente backtest.
- PyBroker (3.4k ⭐) — feito para estratégias de machine learning, com aceleração via Numba e validação walk-forward já embutidas. Somente backtest.
- Jesse (8.1k ⭐, MIT) — um framework de cripto com uma API de estratégia limpa e trading ao vivo; licença permissiva.
- LEAN / QuantConnect (20k ⭐, Apache-2.0) — o motor multi-ativo peso-pesado por trás da nuvem da QuantConnect. Núcleo em C#/.NET com uma API em Python; backtest e ao vivo. Poderoso, mas o maior compromisso desta lista.
- zipline-reloaded (1.8k ⭐, Apache-2.0) — o fork ativamente mantido do Zipline da Quantopian, popular na academia e no livro Machine Learning for Trading. Somente backtest; use este, não o original
quantopian/zipline.
O cemitério — evite para projetos novos
Estes ainda aparecem nos resultados de busca e em posts antigos de blog, mas não comece por aqui em 2026:
- Zipline (original,
quantopian/zipline) — abandonado em 2020. Use ozipline-reloaded. - PyAlgoTrade — repositório arquivado (somente leitura).
- QSTrader — sinalizado como não mantido; último push em meados de 2024.
- blankly — plataforma encerrada; qtpylib — arquivado desde 2021.
- fastquant (1.8k ⭐) — um wrapper fino voltado para backtests de uma linha, mas parado desde 2023.
A arquitetura importa: o trade-off de realismo
A divisão entre vetorizado e orientado a eventos não é acadêmica. A velocidade do vectorbt vem de pressupor que todo preenchimento acontece ao preço da próxima barra, sem slippage. Para uma triagem de momentum através de 500 ativos, tudo bem. Para uma estratégia cuja vantagem mora na execução intrabar — posicionamento de stop, preenchimentos parciais, posição na fila — um backtest vetorizado vai silenciosamente mentir para você, e você precisa de um motor orientado a eventos (NautilusTrader, Backtrader) ou de um dry-run ao vivo (Freqtrade, Lumibot) para obter um número honesto. O fluxo de trabalho profissional usa os dois: vectorbt para explorar o espaço de parâmetros, um motor orientado a eventos para validar os sobreviventes.
Licenciamento — leia isto antes de construir um produto
As bibliotecas de backtesting são incomumente carregadas de licenças, e várias são copyleft:
| Licença | Bibliotecas | O que saber |
|---|---|---|
| AGPL-3.0 | backtesting.py | Copyleft mais forte; uso em rede/SaaS pode disparar a divulgação do código-fonte |
| Apache-2.0 + Commons Clause | vectorbt (build OSS) | Permissiva exceto que você não pode vendê-la como produto |
| GPL-3.0 | Backtrader, Freqtrade, Lumibot | Copyleft; distribuir um derivado significa abrir o código dele |
| LGPL-3.0 | NautilusTrader | Copyleft mais fraco; linkar geralmente é tranquilo |
| MIT | bt, Jesse, QSTrader, fastquant | Permissiva — faça quase qualquer coisa |
| Apache-2.0 | LEAN, zipline-reloaded, finmarketpy | Permissiva, com concessão de patente incluída |
Se você está construindo algo comercial e de código fechado, as ferramentas MIT/Apache são as escolhas sem atrito; AGPL e Commons Clause precisam da leitura de um advogado.
A comparação em um relance
| Ferramenta | ⭐ Estrelas | Arquitetura | Licença | Manutenção | Trading ao vivo | Melhor para |
|---|---|---|---|---|---|---|
| NautilusTrader | 24.1k | Orientada a eventos (Rust) | LGPL-3.0 | 🟢 Ativo | Sim | Produção, realismo de tick/order book |
| vectorbt | 8.0k | Vetorizada | Apache+CC | 🟢 Ativo | Não | Busca massiva de parâmetros |
| backtesting.py | 8.5k | Orientada a eventos | AGPL-3.0 | 🟢 Ativo | Não | Backtests únicos, rápidos e limpos |
| Freqtrade | 51.7k | Orientada a eventos | GPL-3.0 | 🟢 Ativo | Sim (cripto) | Bot de cripto mantido |
| Backtrader | 22.1k | Orientada a eventos | GPL-3.0 | 🟡 Dormente | Sim | Projetos legados (atenção ao desuso) |
| Lumibot | 1.7k | Orientada a eventos | GPL-3.0 | 🟢 Ativo | Sim | Multi-ativo, backtest/ao vivo unificados |
| LEAN | 20k | Orientada a eventos | Apache-2.0 | 🟢 Ativo | Sim | Plataforma multi-ativo peso-pesado |
| bt | 2.9k | Vetorizada/pesos | MIT | 🟢 Ativo | Não | Estratégias de alocação de portfólio |
| PyBroker | 3.4k | Orientada a eventos | OSS | 🟢 Ativo | Não | Estratégias de ML + walk-forward |
| zipline-reloaded | 1.8k | Orientada a eventos | Apache-2.0 | 🟢 Ativo | Não | Academia, livro ML4T |
| Zipline (orig.) | 19.9k | Orientada a eventos | Apache-2.0 | 🔴 Abandonado | — | Nada — use o reloaded |
| PyAlgoTrade | 4.7k | Orientada a eventos | — | 🔴 Arquivado | — | Nada de novo |
Estrelas e status são instantâneos de 2026-06-22 e vão mudar; a manutenção é a dimensão mais volátil, então recheque a atividade de commits antes de se comprometer.
Como escolher, em uma só frase
- Pesquisar uma estratégia através de milhares de parâmetros → vectorbt.
- Um backtest único, rápido e limpo em um notebook → backtesting.py (atenção à AGPL).
- Cripto+ações em produção com paridade pesquisa→ao vivo e realismo de tick → NautilusTrader.
- Um bot de cripto mantido com backtest/dry-run/ao vivo → Freqtrade.
- Trading algorítmico de varejo multi-ativo, amigável para iniciantes → Lumibot.
- Estratégias de alocação / ponderação de portfólio → bt.
- Estratégias de machine learning com walk-forward → PyBroker.
- Trabalhos acadêmicos / curso de Machine Learning for Trading → zipline-reloaded.
- Você herdou uma base de código em Backtrader → tudo bem, mas saiba que ela está dormente; projetos novos deveriam procurar em outro lugar.
A única regra que sobrevive a todo regime de mercado: verifique a data do último commit antes de verificar a contagem de estrelas. Uma biblioteca de 22k estrelas que não entrega nada desde 2023 é um caminho mais lento para produção do que uma de 8k estrelas que lançou na semana passada.
Metodologia: as métricas do GitHub foram coletadas ao vivo da API do GitHub em 2026-06-22; as afirmações sobre arquitetura, manutenção, licença e trading ao vivo foram cruzadas com os repositórios dos projetos e a documentação oficial e verificadas de forma adversarial, com base em catálogos curados (PyTrade.org, awesome-systematic-trading) e na lista de alternativas do kernc. A curva de patrimônio, as estatísticas e o heatmap de parâmetros são resultados reais de uma execução do backtesting.py sobre uma série de preços sintética reproduzível — ilustrativos, não uma recomendação de estratégia. Os números de desempenho atribuídos a fornecedores (acelerações do vectorbt, resolução de nanossegundos do NautilusTrader) são autorrelatados, não benchmarks independentes.