← Kembali ke artikel
April 19, 2026
Bacaan 5 minit

Jesse: Crypto Algo-Trading Framework with a Minute-Based Engine in Python and Rust

Jesse: Crypto Algo-Trading Framework with a Minute-Based Engine in Python and Rust
#jesse
#algo-trading
#crypto
#backtest
#python
#rust
#review
#open-source

Jesse — algo-trading framework

Most open-source backtesting engines fall into two camps: academic stacks that test beautifully but are useless for real trading, and battle-tested terminals that trade but won't let you research properly. Jesse tries to be both — a crypto trading framework with a unified engine for backtesting, optimization, and (via plugin) live trading.

Architecture: Not a Library, but a Pipeline

Jesse is a strategy execution engine + API + UI bundle: CLI starts uvicorn with FastAPI, PostgreSQL via Peewee, LSP for the strategy editor, and optional jesse-live plugin.

Minute-Based Simulation: The "Source of Truth"

Jesse minute simulation

A critical invariant: only 1-minute candles are accepted in backtests. Higher timeframes are aggregates — the 1h strategy fires every 60 minutes, but orders execute within each minute by 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
)

Strategy: A State Machine with Declarative Orders

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

The system decides: market, limit, or stop — based on price position relative to current. In live mode, price is rounded by exchange precision.

Optimization: Cutting Noise, Not Maximizing Profit

Fitness function fights overfitting: minimum 5 trades filter, log-normalized trade count, dual train/test validation, and "smart" Sharpe with autocorrelation penalty.

Rust Under the Hood

Indicators (EMA, RSI, MACD, ATR…) use jesse-rust. Even basic arithmetic is in Rust: float error accumulation over thousands of trades turns backtests into fiction.

Links

Conclusion

Jesse attempts to reduce crypto algo-trading to a repeatable pipeline: minute engine, strict Strategy, Rust indicators, research API without state leaks, optimization with test period validation.

Penafian: Maklumat yang disediakan dalam artikel ini adalah untuk tujuan pendidikan dan maklumat sahaja dan bukan merupakan nasihat kewangan, pelaburan, atau dagangan. Dagangan mata wang kripto melibatkan risiko kerugian yang ketara.

Pengarang

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

Kekal Mendahului Pasaran

Langgan surat berita kami untuk pandangan dagangan AI eksklusif, analisis pasaran, dan kemas kini platform.

Kami menghormati privasi anda. Berhenti melanggan pada bila-bila masa.