This repository contains a number of Jupyter notebooks that demonstrate how to use roboquant. The focus of each notebook is on a specific task, like how to visualize results or create strategies based on technical indicators.
This repository also contains the build script to create a Docker image that makes it easy to run the Jupyter Notebooks on your local machine. This Docker image is published on Docker Hub for both Intel and ARM architecture, so you actually don’t need to build the Docker Image yourself unless you want to make some changes.
You can find out much more about the roboquant at roboquant.org
If you prefer, you can run the notebooks without installing anything on your local machine just by clicking the following link
ℹ️
|
It might take some time before the MyBinder environment is set up, and you can run the notebooks. This is mainly due to the limited resources that these free environments have available and the fact that the Kotlin kernel isn’t included by default and needs to be build first. |
Alternatively, you can run a Docker container on your local machine that has all the notebooks included and will automatically spin-up a Jupyter notebook environment:
docker run -p 8888:8888 roboquant/jupyter
See Docker README for more options and details.
If you don’t want to install anything on your local machine, you can try any of the included notebooks right now by clicking on one of the two following links:
-
Jupyter Classic environment on MyBinder.org
-
Jupyter Lab environment on MyBinder.org
These are the how-to notebooks that are included:
-
backtest.ipynb — How to run different types of back tests. This is also a good starting place if you are new to roboquant
-
charts.ipynb — Shows the charting capabilities of roboquant
-
alpaca.ipynb — Shows the integration with Alpaca broker
-
binance.ipynb — Shows the integration with Binance crypto exchange
-
crypto.ipynb — Shows the integration with many crypto exchanges using the XChange library
-
strategies.ipynb — How to develop your own strategies
-
policies.ipynb — How to develop a custom policy
-
discord.ipynb — How to develop a Discord bot
-
optimization.ipynb — How to perform advanced back tests with optimization via hyperparameter search
-
talib.ipynb — How to develop technical analysis strategies using the
TaLib
library -
ta4j.ipynb — How to develop technical analysis strategies using teh
Ta4j
library -
forex.ipynb — How to run back-tests for Forex trading
-
empty.ipynb — Empty notebook that just includes the
%use
statement -
basic.ipynb — Notebook with a simple custom strategy that can serve as a starting point for developing your own strategy
-
dotenv — Not a notebook but an example environment file that can hold the keys and secrets which are often required to connect to third party data providers and brokers.
-
ibkr.ipynb — Shows how to integrate with Interactive Brokers
ℹ️The ibkr
notebook cannot be run on MyBinder.org since it requires access to a (local) running Trader Workstation or IB Gateway. You can, however, run it on a local installed Jupyter Notebook.
Check the instructions in the README in the bin directory on how to build a Docker image from source.
Contributions are greatly appreciated. This can be a fix or enhancement to one of the existing notebooks or a completely new notebook. The best way to do so is to raise an issue on GitHub and afterwards a PR.
Before checking-in, make sure the notebooks don’t have any cell output, for example, by running the following command from the project root directory.
./bin/clean_notebooks.sh