Installation Tutorial for Windows

Introduction

QuantRocket runs on Docker, so installing QuantRocket is a two-part process:

  • install Docker
  • install QuantRocket
If you're new to Docker, it may be helpful to read the overview of QuantRocket's architecture before starting.

System Requirements

Docker Desktop requires Windows 10 Professional or Enterprise 64-bit. Windows 10 Home edition is not supported.

Install Docker Desktop

Visit Docker's website and follow the instructions to download and install Docker Desktop on your computer. Docker will prompt you to create a free account.

If prompted during installation, do not check the box to use Windows containers. Docker Desktop for Windows can run Windows containers or Linux containers but not both at the same time. QuantRocket uses Linux containers.

Docker container mode

After the installation, start Docker Desktop if it isn't already started (Start > Docker).

To verify the installation, open PowerShell (click Start and type "powershell") and run:

$ docker run hello-world

Adjust Docker's memory setting

By default, Docker Desktop uses 2 GB of your system memory. Giving Docker at least 4 GB of memory is recommended for QuantRocket. Generally, reserve at least 4 GB for your operating system or your computer might be sluggish. This means your computer should have a minimum of 8 GB of memory. If you plan to collect minute data, 8-12 GB is recommended for Docker (12-16 GB total). The more memory you give Docker, the larger the backtests and data analysis you can do.

Find and right-click the Docker icon in the notification area, then click Settings.

Docker notification area

Click Advanced and adjust the Memory slider to the desired position.

Docker settings

Install QuantRocket

To install QuantRocket, download a Docker Compose file which tells Docker how to create the QuantRocket stack. A Compose file is a YAML file that defines a multi-container Docker application.

Open PowerShell on Windows (click Start and type "powershell").

Create a folder for QuantRocket under your home directory:

$ cd ~
$ mkdir quantrocket
$ cd quantrocket

Copy and paste the following command to download the latest Compose file and save to your computer:

$ curl 'https://www.quantrocket.com/composefiles/latest/local/docker-compose.yml' -o docker-compose.yml

(You can also download the Compose file from the downloads page.)

Now, use docker-compose to deploy QuantRocket:

$ cd ~/quantrocket
$ docker-compose -p quantrocket up -d

Docker Compose will read your docker-compose.yml, pull the images down from Docker Hub, and create and run containers from the images. This process takes 5-15 minutes. You will see output like this:

Output
Creating network "quantrocket_default" with the default driver
Pulling houston (quantrocket/houston:0.8.0)...
ad74af05f5a2: Pull complete
c1da3f388f16: Extracting [============================================>      ]  110.3MB/125.3MB
3f388f16: Downloading [===========================================>       ]    108MB/125.3MBte
4c2b7a4aefc0: Download complete
e61a44100a50: Download complete
8e960303c169: Waiting
f2a1d6599d9d: Waiting
If you get an error Mount denied:\nThe source path “\var\run\docker.sock:/var/run/docker.sock”\nis not a valid Windows path, this is due to an issue with Docker version 18 on Windows. You may need to set $Env:COMPOSE_CONVERT_WINDOWS_PATHS=1. See the community forum for more information.

You can list all the containers that are running:

$ docker ps
Output
CONTAINER ID        IMAGE                               COMMAND                  CREATED             STATUS              PORTS                           NAMES
476bd8607707        quantrocket/history:0.2.6           "/usr/bin/tini -- ..."   37 seconds ago      Up 33 seconds       80/tcp                          quantrocket_history_1
96e93387015c        quantrocket/master:0.2.11           "/usr/bin/tini -- ..."   37 seconds ago      Up 32 seconds       80/tcp                          quantrocket_master_1
fc4b87285158        quantrocket/jupyter:4.4.0.7         "/usr/bin/tini -- ..."   38 seconds ago      Up 33 seconds       80/tcp                          quantrocket_jupyter_1
...

You can now access the Jupyter environment in your browser at:

http://localhost:1969

You may want to bookmark this URL.

In JupyterLab you'll see the JupyterLab dashboard. Open the Quickstart notebook (QuickStart.ipynb) to find an interactive tour and other resources to help you get started with QuantRocket:

JupyterLab home