Introduction
Jesse is a Python framework designed specifically for researching and developing cryptocurrency trading strategies. It emphasizes clean strategy syntax, fast backtesting, and seamless transition from research to live trading without rewriting code.
What Jesse Does
- Backtests crypto trading strategies with accurate simulation of fees, slippage, and order types
- Imports and stores historical candle data from supported exchanges for offline analysis
- Provides a strategy API with built-in access to indicators, position sizing, and risk management
- Supports live and paper trading on Binance, Bybit, and other exchanges
- Offers genetic algorithm optimization for strategy parameter tuning
Architecture Overview
Jesse stores candle data in PostgreSQL for fast retrieval during backtesting. Strategies are Python classes that define entry, exit, and position sizing logic using a declarative API. The backtesting engine simulates order fills with configurable execution models, and the same strategy code runs in live mode without modification.
Self-Hosting & Configuration
- Install via pip with PostgreSQL as the required data backend
- Configure exchange API keys in a .env file for live trading
- Import historical candles using the built-in CLI data fetcher
- Define strategies in the strategies directory with indicator and signal logic
- Deploy with Docker for consistent production environments
Key Features
- Clean strategy API that separates signal logic from execution details
- Fast vectorized backtesting with support for multiple timeframes per strategy
- Built-in genetic algorithm optimizer for finding robust parameter sets
- Accurate simulation of limit, market, and stop orders with partial fill support
- Research notebooks for exploratory analysis alongside strategy development
Comparison with Similar Tools
- Freqtrade — More exchange support and larger community; Jesse offers a cleaner strategy API and research tools
- Backtrader — General-purpose; Jesse is crypto-native with exchange data import built in
- CCXT — A connectivity library; Jesse is a full framework that uses CCXT internally
- QuantConnect — Cloud-hosted and multi-asset; Jesse is local-first and crypto-focused
FAQ
Q: Does Jesse support spot and futures trading? A: Yes, it supports both spot and perpetual futures on compatible exchanges.
Q: Why does Jesse require PostgreSQL? A: PostgreSQL provides fast indexed queries over large candle datasets needed for backtesting.
Q: Can I run multiple strategies simultaneously? A: Yes, Jesse supports running multiple strategies across different trading pairs concurrently.
Q: Is Jesse free? A: Yes, Jesse is open source under the MIT license.