Jesse: framework de algo-trading cripto com motor baseado em minutos em Python e Rust

A maioria dos motores de backtesting open-source se divide em dois grupos: stacks acadêmicos que testam maravilhosamente bem, mas são inúteis para trading real, e terminais testados em batalha que operam, mas não permitem pesquisar de forma adequada. Jesse tenta ser as duas coisas — um framework de trading cripto com um motor unificado para backtesting, otimização e (via plugin) trading ao vivo.
Arquitetura: não é uma biblioteca, é um pipeline
Jesse é um pacote de motor de execução de estratégias + API + UI: a CLI inicia o uvicorn com FastAPI, PostgreSQL via Peewee, LSP para o editor de estratégias e, opcionalmente, o plugin jesse-live.
Simulação baseada em minutos: a "fonte da verdade"

Um invariante crítico: apenas candles de 1 minuto são aceitos em backtests. Timeframes maiores são agregados — a estratégia de 1h dispara a cada 60 minutos, mas as ordens são executadas dentro de cada minuto com base em high/low.
from jesse.research import backtest
result = backtest(
config,
routes=[("Binance", "BTC-USDT", "4h", "MyStrategy")],
candles=candles_1m, # strictly 60_000 ms between candles
)
Estratégia: uma máquina de estados com ordens declarativas
def go_long(self):
qty = utils.size_to_qty(self.balance * 0.5, self.price)
self.buy = qty, self.price
self.stop_loss = qty, self.price * 0.97
self.take_profit = qty, self.price * 1.05
O sistema decide: mercado, limite ou stop — com base na posição do preço em relação ao preço atual. No modo live, o preço é arredondado de acordo com a precisão da exchange.
Otimização: cortando ruído, não maximizando lucro
A função de fitness combate o overfitting: filtro de mínimo 5 trades, contagem de trades log-normalizada, validação dupla train/test e um Sharpe "inteligente" com penalização por autocorrelação.
Rust por baixo do capô
Os indicadores (EMA, RSI, MACD, ATR…) usam jesse-rust. Até a aritmética básica está em Rust: o acúmulo de erros de ponto flutuante ao longo de milhares de trades transforma os backtests em ficção.
Links
- 💻 GitHub: jesse-ai/jesse
- 🌐 Site: jesse.trade
- 📄 Licença: MIT
Conclusão
Jesse tenta reduzir o algo-trading cripto a um pipeline repetível: motor por minuto, classe Strategy rigorosa, indicadores em Rust, API de pesquisa sem vazamento de estado e otimização com validação de período de teste.
Authors
Trading-systems engineer
Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.