← Voltar aos artigos
April 19, 2026
5 min read

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

Jesse: framework de algo-trading cripto com motor baseado em minutos em Python e Rust
#jesse
#algo-trading
#crypto
#backtest
#python
#rust
#review
#open-source

Jesse — algo-trading framework

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"

Jesse minute simulation

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

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.

blog.disclaimer

Authors

Eugen Soloviov
Eugen Soloviov

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.

Newsletter

Fique à frente do mercado

Assine nossa newsletter para insights exclusivos sobre trading com IA, análises de mercado e atualizações da plataforma.

Respeitamos sua privacidade. Cancele a inscrição a qualquer momento.