
Algo-trading was 😵💫, we made it 🤩
Jesse is an advanced crypto trading framework that aims to simplify researching and defining YOUR OWN trading strategies for backtesting, optimizing, and live trading.
Watch this video to get a quick overview of Jesse:
In short, Jesse is more accurate than other solutions, and way more simple. In fact, it is so simple that in case you already know Python, you can get started today, in matter of minutes, instead of weeks and months.
Craft complex trading strategies with remarkably simple Python. Access 300+ indicators, multi-symbol/timeframe support, spot/futures trading, partial fills, and risk management tools. Focus on logic, not boilerplate.
class GoldenCross(Strategy):
def should_long(self):
# go long when the EMA 8 is above the EMA 21
short_ema = ta.ema(self.candles, 8)
long_ema = ta.ema(self.candles, 21)
return short_ema > long_ema
def go_long(self):
entry_price = self.price - 10 # limit buy order at $10 below the current price
qty = utils.size_to_qty(self.balance*0.05, entry_price) # spend only 5% of my total capital
self.buy = qty, entry_price # submit entry order
self.take_profit = qty, entry_price*1.2 # take profit at 20% above the entry price
self.stop_loss = qty, entry_price*0.9 # stop loss at 10% below the entry price
Execute highly accurate and fast backtests without look-ahead bias. Utilize debugging logs, interactive charts with indicator support, and detailed performance metrics to validate your strategies thoroughly.

Deploy strategies live with robust monitoring tools. Supports paper trading, multiple accounts, real-time logs & notifications (Telegram, Slack, Discord), interactive charts, spot/futures, DEX, and a built-in code editor.

Accelerate research using the benchmark feature. Run batch backtests, compare across timeframes, symbols, and strategies. Filter and sort results by key performance metrics for efficient analysis.

Leverage our AI assistant even with limited Python knowledge. Get help writing and improving strategies, implementing ideas, debugging, optimizing, and understanding code. Your personal AI quant.

Stress-test your strategies beyond a single historical path. Jesse's Monte Carlo mode runs hundreds of simulations using trade-order shuffling (tests whether trade timing drove your results) and candles-based (tests robustness under slightly different market conditions) methods. Use it to distinguish skill from luck, understand the range of outcomes you can realistically expect, and catch overfitting early.
Jesse includes a complete, end-to-end ML pipeline built for trading strategies:
record_features({...}) at each signal bar and record_label(name, value) when the outcome is known. Data is auto-saved to CSV.train_model() with any scikit-learn–compatible estimator and choose a task type: "binary" classification, "multiclass" classification, or "regression". Get a full report with feature importance, calibration, and metrics.ml_predict() or ml_predict_proba() inside your strategy. Model loading, scaling, and feature ordering are handled automatically.# Gather phase — inside your strategy
def before(self):
self.record_features({
'rsi': ta.rsi(self.candles),
'adx': ta.adx(self.candles),
})
# Deploy phase — gate entries with model confidence
def should_long(self):
proba = self.ml_predict_proba()
return proba['long'] > 0.65
Unsure about optimal parameters? Let the optimization mode decide using simple syntax. Fine-tune any strategy parameter with the Optuna library and easy cross-validation.
@property
def slow_sma(self):
return ta.sma(self.candles, self.hp['slow_sma_period'])
@property
def fast_sma(self):
return ta.sma(self.candles, self.hp['fast_sma_period'])
def hyperparameters(self):
return [
{'name': 'slow_sma_period', 'type': int, 'min': 150, 'max': 210, 'default': 200},
{'name': 'fast_sma_period', 'type': int, 'min': 20, 'max': 100, 'default': 50},
]
Head over to the "getting started" section of the documentation. The documentation is short yet very informative.
You can see the project's roadmap here. Subscribe to our mailing list at jesse.trade to get the good stuff as soon they're released. Don't worry, We won't send you spam—Pinky promise.
This software is for educational purposes only. USE THE SOFTWARE AT YOUR OWN RISK. THE AUTHORS AND ALL AFFILIATES ASSUME NO RESPONSIBILITY FOR YOUR TRADING RESULTS. Do not risk money that you are afraid to lose. There might be bugs in the code - this software DOES NOT come with ANY warranty.
$ claude mcp add jesse \
-- python -m otcore.mcp_server <graph>