← Maqolalarga qaytish
April 19, 2026
5 daqiqa o'qish

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

Jesse: Python va Rust tilidagi daqiqalarga asoslangan dvigatelli kripto algo-treyding freymvorki
#jesse
#algo-trading
#crypto
#backtest
#python
#rust
#review
#open-source

Jesse — algo-trading framework

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"

Jesse minute simulation

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

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.

blog.disclaimer

Authors

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

Bozordan bir qadam oldinda bo'ling

Sun'iy intellekt savdo tahlillari, bozor tahlili va platforma yangiliklari uchun bizning xabarnomaga obuna bo'ling.

Biz sizning maxfiyligingizni hurmat qilamiz. Istalgan vaqtda obunadan chiqishingiz mumkin.