Open Source Backtester with React UI
USE THIS SOFTWARE AT YOUR OWN RISK. THE AUTHOR ASSUMES NO LIABILITY FOR YOUR TRADING OUTCOMES.
A few months ago I read some researches on QuantConnect. I was backtesting on jupternotebook for a long time. It was fascinating for me how the QuantConnect Lean works. The idea of this project originally came from me building backtest for several strategies.
I was curious and wanted to scale it into a real framework or system that can log trades and daily portfolio for me. I had a lot of fun building this. I got to play with lots of different technologies while growing my financial knowledge.
Feel free to create issues or PRs for this repo if you have any additional questions. There are lots of fixes and features to be done!
It is important to note that this project is under active development and was developed as an experiment. Currently, only yahooFinance API is supported but contributions are welcome!
Please leave a ⭐ as motivation if you liked the idea 😄
This system has lots of features such as:
-
Web UI: Graphical representation of multiple information.
-
Configurable: Supports assets and strategies customization easily without touching way less code!
-
Portable: Most data is fetched at the start from running strategy model. Analysis on Web UI is done through local data.
-
Easy to upgrade: Modify the system easily to your needs.
Here we will setup our development environment. But first, we will need to install the following tools.
Tools
Steps
- Once all the tools are installed, create a virtual python environment by
python -m venv ./venv
andsource ./venv/bin/activate
and install the dependencies inrequirements.txt
withpython -m pip install requirements.txt
. - Go in the
web/
folder and install the dependencies throughnpm
bynpm install
. - Run the JupterNotebook script
backtester.ipynb
withRun All
to generate the csv files and the json files needed by theWeb UI
- Start web development with
npm start
command.
We can customize trading strategies either via the JupterNotebook directly.
Currently, only few trading strategies like RSI, MACD, MA Golden Cross are supported and I plan to add more soon.
More documentation in the here
Contributions are welcome as always, before submitting a new PR please make sure to open a new issue so community members can discuss it.
Additionally, you might find existing open issues which can help with improvements.
This project follows a standard code of conduct so that you can understand what actions will and will not be tolerated.
This project is MIT licensed, as found in the LICENSE