Jesse: Python va Rust tilidagi daqiqalarga asoslangan dvigatelli kripto algo-treyding freymvorki

Ochiq manbali backtesting dvigatellarining aksariyati ikki guruhga bo'linadi: ajoyib test qiladigan, lekin haqiqiy treyding uchun yaroqsiz akademik steklar va treyding qiladigan, lekin to'g'ri tadqiqot o'tkazishga imkon bermaydigan jangda sinovdan o'tgan terminallar. Jesse ikkalasi ham bo'lishga harakat qiladi — backtesting, optimallashtirish va (plagin orqali) jonli treyding uchun yagona dvigatelli kripto treyding freymvorki.
Arxitektura: kutubxona emas, pipeline
Jesse — bu strategiyani bajarish dvigateli + API + UI to'plami: CLI FastAPI bilan uvicorn'ni, Peewee orqali PostgreSQL'ni, strategiya muharriri uchun LSP'ni va ixtiyoriy jesse-live plaginini ishga tushiradi.
Daqiqalarga asoslangan simulyatsiya: "haqiqat manbai"

Muhim invariant: backtestlarda faqat 1 daqiqalik sham (candle)lar qabul qilinadi. Yuqori vaqt oralig'i (timeframe)lar agregatlardir — 1h strategiya har 60 daqiqada ishga tushadi, lekin buyurtmalar har bir daqiqa ichida high/low bo'yicha bajariladi.
from jesse.research import backtest
result = backtest(
config,
routes=[("Binance", "BTC-USDT", "4h", "MyStrategy")],
candles=candles_1m, # strictly 60_000 ms between candles
)
Strategiya: deklarativ buyurtmali holat mashinasi
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
Tizim qaror qabul qiladi: market, limit yoki stop — joriy narxga nisbatan narx pozitsiyasiga asoslanib. Jonli rejimda narx birja aniqligiga muvofiq yaxlitlanadi.
Optimallashtirish: shovqinni kesish, foydani maksimallashtirish emas
Fitness funksiyasi overfitting bilan kurashadi: kamida 5 ta bitim filtri, log-normallashtirilgan bitimlar soni, ikki tomonlama train/test validatsiyasi va avtokorrelyatsiya jarimasi bilan "aqlli" Sharpe.
Kaput ostidagi Rust
Indikatorlar (EMA, RSI, MACD, ATR…) jesse-rustdan foydalanadi. Hatto oddiy arifmetika ham Rust tilida: minglab bitimlar davomida to'planadigan float xatolari backtestlarni fantastikaga aylantiradi.
Havolalar
- 💻 GitHub: jesse-ai/jesse
- 🌐 Veb-sayt: jesse.trade
- 📄 Litsenziya: MIT
Xulosa
Jesse kripto algo-treydingni takrorlanadigan pipeline'ga qisqartirishga harakat qiladi: daqiqalik dvigatel, qat'iy Strategy klassi, Rust indikatorlari, holat oqib ketishisiz tadqiqot API'si va test davri validatsiyasi bilan optimallashtirish.
Authors
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.