Algo-trading was 😵💫, we made it 🤩
Jesse
Jesse is an advanced crypto trading framework that aims to simplify researching and defining YOUR OWN trading strategies.
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.
Here you can read more about Jesse's features and why you should use it.
Getting Started
Head over to the "getting started" section of the documentation. The
documentation is short yet very informative.
Resources
Screenshots
Check out Jesse's Youtube channel for tutorials that go through example strategies step by step.
Here are a few screenshots just to get you excited:
Backtest results:
Example strategy code:
class SMACrossover(Strategy):
@property
def slow_sma(self):
return ta.sma(self.candles, 200)
@property
def fast_sma(self):
return ta.sma(self.candles, 50)
def should_long(self) -> bool:
return self.fast_sma > self.slow_sma
def should_short(self) -> bool:
return self.fast_sma < self.slow_sma
def should_cancel_entry(self) -> bool:
return False
def go_long(self):
qty = utils.size_to_qty(self.balance, self.price, fee_rate=self.fee_rate)
self.buy = qty, self.price
def go_short(self):
qty = utils.size_to_qty(self.balance, self.price, fee_rate=self.fee_rate)
self.sell = qty, self.price
def update_position(self):
if self.is_long and self.fast_sma < self.slow_sma:
self.liquidate()
if self.is_short and self.fast_sma > self.slow_sma:
self.liquidate()
Live trading (requires live plugin):
What's next?
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.
How to contribute
Thank you for your interest in contributing to the project. The best way to contribute is by participating in the community and helping other users.
You can also contribute by submitting bug reports and feature requests or writing code (submitting PRs) which can be incorporated into Jesse itself.
In that case, here's what you need to know:
- Before starting to work on a PR, please reach out to make sure it aligns with the project's roadmap and vision.
- If your PR makes changes to the source code, please make sure to add unit tests. If you're not sure how to do that, just check out some of the already existing tests.
First, you need to install Jesse from the repository instead of PyPi:
pip uninstall jesse
git clone https://github.com/jesse-ai/jesse.git
cd jesse
pip install -e .
Now every change you make to the code will be affected immediately.
After every change, make sure your changes did not break any functionality by running tests:
pytest
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.