Jesse

Algo-trading was πŸ˜΅β€πŸ’«, we made it 🀩

# Jesse [![PyPI](https://img.shields.io/pypi/v/jesse)](https://pypi.org/project/jesse) [![Downloads](https://pepy.tech/badge/jesse)](https://pepy.tech/project/jesse) [![Docker Pulls](https://img.shields.io/docker/pulls/salehmir/jesse)](https://hub.docker.com/r/salehmir/jesse) [![GitHub](https://img.shields.io/github/license/jesse-ai/jesse)](https://github.com/jesse-ai/jesse) [![coverage](https://codecov.io/gh/jesse-ai/jesse/graph/badge.svg)](https://codecov.io/gh/jesse-ai/jesse) --- Jesse is an advanced crypto trading framework that aims to **simplify** **researching** and defining **YOUR OWN trading strategies** for backtesting, optimizing, and live trading. ## What is Jesse? Watch this video to get a quick overview of Jesse: [![Jesse Overview](https://img.youtube.com/vi/0EqN3OOqeJM/0.jpg)](https://www.youtube.com/watch?v=0EqN3OOqeJM) ## Why 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**. ## Key Features - πŸ“ **Simple Syntax**: Define both simple and advanced trading strategies with the simplest syntax in the fastest time. - πŸ“Š **Comprehensive Indicator Library**: Access a complete library of technical indicators with easy-to-use syntax. - πŸ“ˆ **Smart Ordering**: Supports market, limit, and stop orders, automatically choosing the best one for you. - ⏰ **Multiple Timeframes and Symbols**: Backtest and livetrade multiple timeframes and symbols simultaneously without look-ahead bias. - πŸ”’ **Self-Hosted and Privacy-First**: Designed with your privacy in mind, fully self-hosted to ensure your trading strategies and data remain secure. - πŸ›‘οΈ **Risk Management**: Built-in helper functions for robust risk management. - πŸ“‹ **Metrics System**: A comprehensive metrics system to evaluate your trading strategy's performance. - πŸ” **Debug Mode**: Observe your strategy in action with a detailed debug mode. - πŸ”§ **Optimize Mode**: Fine-tune your strategies using AI, without needing a technical background. - πŸ“ˆ **Leveraged and Short-Selling**: First-class support for leveraged trading and short-selling. - πŸ”€ **Partial Fills**: Supports entering and exiting positions in multiple orders, allowing for greater flexibility. - πŸ”” **Advanced Alerts**: Create real-time alerts within your strategies for effective monitoring. - πŸ€– **JesseGPT**: Jesse has its own GPT, JesseGPT, that can help you write strategies, optimize them, debug them, and much more. - πŸ”§ **Built-in Code Editor**: Write, edit, and debug your strategies with a built-in code editor. - πŸ“Ί **Youtube Channel**: Jesse has a Youtube channel with screencast tutorials that go through example strategies step by step. ## Dive Deeper into Jesse's Capabilities ### Stupid Simple 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. ```python 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 ``` ### Backtest 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. ![Backtest](https://raw.githubusercontent.com/jesse-ai/storage/refs/heads/master/backtest.gif) ### Live/Paper Trading 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. ![Live/Paper Trading](https://raw.githubusercontent.com/jesse-ai/storage/refs/heads/master/live.gif) ### Benchmark 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. ![Benchmark](https://raw.githubusercontent.com/jesse-ai/storage/refs/heads/master/benchmark.gif) ### AI 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. ![AI](https://raw.githubusercontent.com/jesse-ai/storage/refs/heads/master/gpt.gif) ### Optimize Your Strategies 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. ```python @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}, ] ``` ## Getting Started Head over to the "getting started" section of the [documentation](https://docs.jesse.trade/docs/getting-started). The documentation is **short yet very informative**. ## Resources - [⚑️ Website](https://jesse.trade) - [πŸŽ“ Documentation](https://docs.jesse.trade) - [πŸŽ₯ Youtube channel (screencast tutorials)](https://jesse.trade/youtube) - [πŸ›Ÿ Help center](https://jesse.trade/help) - [πŸ’¬ Discord community](https://jesse.trade/discord) - [πŸ€– JesseGPT](https://jesse.trade/gpt) (Requires a free account) ## What's next? You can see the project's **[roadmap here](https://docs.jesse.trade/docs/roadmap.html)**. **Subscribe** to our mailing list at [jesse.trade](https://jesse.trade) to get the good stuff as soon they're released. Don't worry, We won't send you spamβ€”Pinky promise. ## Disclaimer 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**.