Jesse: crypto algo-trading framework met een minuutgebaseerde engine in Python en Rust
Diepgaande review van Jesse - een algo-trading framework voor cryptomarkten. Minuutgebaseerde simulatie, strategieën als state machines, met Rust versnelde indicatoren, optimalisatie met overfitting-bescherming, en de grens tussen de open-source kern en live trading.


De meeste open-source backtesting-engines vallen in twee kampen uiteen: academische stacks die prachtig testen maar nutteloos zijn voor echt trading, en beproefde terminals die wel traden maar geen fatsoenlijk onderzoek toelaten. Jesse probeert beide te zijn — een crypto trading framework met een uniforme engine voor backtesting, optimalisatie en (via een plugin) live trading.
Architectuur: geen library, maar een pipeline
Jesse is een bundel van strategy execution engine + API + UI: de CLI start uvicorn met FastAPI, PostgreSQL via Peewee, LSP voor de strategie-editor, en optioneel de jesse-live plugin.
Minuutgebaseerde simulatie: de "bron van waarheid"

Een kritieke invariant: in backtests worden uitsluitend 1-minuut candles geaccepteerd. Hogere timeframes zijn aggregaten — de 1h-strategie vuurt elke 60 minuten af, maar orders worden binnen elke minuut uitgevoerd op basis van 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
)
Strategie: een state machine met declaratieve 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
Het systeem beslist: market, limit of stop — op basis van de prijspositie ten opzichte van de huidige prijs. In live-modus wordt de prijs afgerond volgens de precisie van de exchange.
Optimalisatie: ruis wegsnijden, niet winst maximaliseren
De fitness-functie bestrijdt overfitting: een filter van minimaal 5 trades, log-genormaliseerd aantal trades, dubbele train/test-validatie, en een "slimme" Sharpe met een autocorrelatie-penalty.
Rust onder de motorkap
Indicatoren (EMA, RSI, MACD, ATR…) gebruiken jesse-rust. Zelfs basale rekenkunde is in Rust geschreven: de opeenstapeling van float-fouten over duizenden trades maakt backtests anders tot fictie.
Links
- 💻 GitHub: jesse-ai/jesse
- 🌐 Website: jesse.trade
- 📄 Licentie: MIT
Conclusie
Jesse probeert crypto algo-trading terug te brengen tot een herhaalbare pipeline: minuut-engine, strikte Strategy-klasse, Rust-indicatoren, research-API zonder state-lekken, en optimalisatie met validatie op een testperiode.