Jesse: Python ve Rust ile Dakika Tabanlı Motor Kullanan Kripto Algo-Trading Çerçevesi

Jesse'nin derinlemesine incelemesi - kripto piyasaları için bir algo-trading çerçevesi. Dakika tabanlı simülasyon, durum makinesi olarak stratejiler, Rust ile hızlandırılmış göstergeler, aşırı öğrenme korumalı optimizasyon ve açık kaynak çekirdek ile canlı trading arasındaki sınır.

Jesse — algo-trading çerçevesi

Açık kaynaklı backtest motorlarının büyük çoğunluğu iki kategoriye ayrılır: güzel test eden ama gerçek trading için işe yaramayan akademik yığınlar ve trading yapabilen ancak düzgün araştırma yapmanıza izin vermeyen savaşta test edilmiş terminaller. Jesse, her ikisi de olmaya çalışır — backtest, optimizasyon ve (eklenti aracılığıyla) canlı trading için birleşik bir motora sahip kripto trading çerçevesi.

Mimari: Kütüphane Değil, Pipeline

Jesse bir strateji yürütme motoru + API + UI paketidir: CLI, uvicorn'u FastAPI ile başlatır, Peewee üzerinden PostgreSQL, strateji editörü için LSP ve isteğe bağlı jesse-live eklentisi.

Dakika Tabanlı Simülasyon: "Gerçeğin Kaynağı"

Jesse dakika simülasyonu

Kritik bir değişmez: backtest'lerde yalnızca 1 dakikalık mumlar kabul edilir. Daha yüksek zaman dilimleri toplamalar — 1h stratejisi her 60 dakikada bir tetiklenir, ancak emirler her dakika içinde yüksek/düşük değerlerine göre gerçekleştirilir.

from jesse.research import backtest

result = backtest(
    config,
    routes=[("Binance", "BTC-USDT", "4h", "MyStrategy")],
    candles=candles_1m,  # mumlar arasında kesinlikle 60_000 ms
)

Strateji: Bildirimsel Emirlerle Durum Makinesi

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 karar verir: piyasa, limit veya stop — fiyatın mevcut değere göre konumuna bağlı olarak. Canlı modda, fiyat borsa hassasiyetine göre yuvarlanır.

Optimizasyon: Kârı Maksimize Etmek Değil, Gürültüyü Kesmek

Fitness fonksiyonu aşırı öğrenmeyle savaşır: minimum 5 işlem filtresi, log-normalize edilmiş işlem sayısı, çift eğitim/test doğrulaması ve otokorelasyon cezalı "akıllı" Sharpe.

Kaputun Altındaki Rust

Göstergeler (EMA, RSI, MACD, ATR…) jesse-rust kullanır. Temel aritmetik bile Rust'ta yazılmıştır: binlerce işlem üzerindeki float hata birikimi, backtest'leri anlamsız hale getirir.

Bağlantılar

Sonuç

Jesse, kripto algo-trading'i tekrarlanabilir bir pipeline'a indirgelemeye çalışır: dakika motoru, katı Strategy yapısı, Rust göstergeleri, durum sızıntısı olmayan araştırma API'si ve test dönemi doğrulamalı optimizasyon.