Jesse: Framework Algo-Trading Kripto dengan Mesin Berbasis Menit di Python dan Rust

Ulasan mendalam tentang Jesse - framework algo-trading untuk pasar kripto. Simulasi berbasis menit, strategi sebagai state machine, indikator yang dipercepat Rust, optimasi dengan perlindungan overfitting, dan batas antara inti open-source dan live trading.

Jesse — framework algo-trading

Sebagian besar mesin backtesting open-source terbagi dalam dua kubu: tumpukan akademis yang bagus untuk pengujian namun tidak berguna untuk trading nyata, dan terminal yang telah teruji di lapangan yang bisa trading namun tidak memungkinkan riset yang memadai. Jesse berusaha menjadi keduanya — sebuah framework trading kripto dengan mesin terpadu untuk backtesting, optimasi, dan (melalui plugin) live trading.

Arsitektur: Bukan Sebuah Library, Melainkan Pipeline

Jesse adalah bundel engine eksekusi strategi + API + UI: CLI menjalankan uvicorn dengan FastAPI, PostgreSQL melalui Peewee, LSP untuk editor strategi, dan plugin jesse-live opsional.

Simulasi Berbasis Menit: "Sumber Kebenaran"

Simulasi menit Jesse

Sebuah invariant kritis: hanya candle 1 menit yang diterima dalam backtest. Timeframe lebih tinggi adalah agregat — strategi 1h dijalankan setiap 60 menit, namun order dieksekusi dalam setiap menit berdasarkan 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
)

Strategi: State Machine dengan Order Deklaratif

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

Sistem memutuskan: market, limit, atau stop — berdasarkan posisi harga relatif terhadap harga saat ini. Dalam mode live, harga dibulatkan sesuai presisi bursa.

Optimasi: Memangkas Noise, Bukan Memaksimalkan Profit

Fungsi fitness melawan overfitting: filter minimum 5 trade, jumlah trade yang dinormalisasi secara logaritmik, validasi ganda train/test, dan Sharpe "cerdas" dengan penalti autokorelasi.

Rust di Balik Layar

Indikator (EMA, RSI, MACD, ATR…) menggunakan jesse-rust. Bahkan aritmetika dasar pun ditulis dalam Rust: akumulasi kesalahan float selama ribuan trade dapat mengubah backtest menjadi fiksi.

Tautan

Kesimpulan

Jesse berusaha mereduksi algo-trading kripto menjadi sebuah pipeline yang dapat diulang: mesin menit, Strategy yang ketat, indikator Rust, API riset tanpa kebocoran state, optimasi dengan validasi periode pengujian.