Changes saved to local storage
Validation errors - no changes saved

QuantRocket Configuration Wizard

Use this wizard to generate a Docker Compose file for deploying your QuantRocket services. If you're just starting out, refer to the Getting Started tutorials for help getting QuantRocket up and running.

Your license key

You can generate and view your license key on your account page .

Provide your credentials as environment variables

To keep your credentials secure, you won't enter your actual license key, or any other credentials, into this wizard. Rather, the Docker Compose file produced by this wizard will reference environment variables which are expected to contain your credentials, for example ${QUANTROCKET_LICENSE_KEY}. Before deploying QuantRocket, you'll set these environment variables on the host machine, like so:

export QUANTROCKET_LICENSE_KEY=mykey
Docker will read the credentials from the environment variables at the time of deployment and provide them to your QuantRocket services.

Local or cloud deployment?

To run QuantRocket, you install Docker and Docker Compose on your computer, then use Docker Compose to deploy QuantRocket from a Compose file, that is, a YAML configuration file generated by this wizard. QuantRocket can be deployed locally or to the cloud.

Connecting over HTTP

QuantRocket services communicate with each other, and you communicate with them, over HTTP. All your communication with QuantRocket (via the command line interface or the Python client) is routed through QuantRocket's API gateway, named "houston". Think of houston as mission control for your QuantRocket deployment.

When run locally with Docker Compose, you connect to houston over HTTP on localhost. When run in the cloud, you connect to houston securely over HTTPS with a username and password.

If you're just getting started, try running QuantRocket locally.

Configure IB Gateway

QuantRocket automates the headless installation and configuration of IB Gateway, and allows you to start and stop IB Gateway programmatically via API.

If you have a multiple accounts/usernames, you can configure a gateway for each of them. (Using multiple gateways increases your concurrency for market data subscriptions and historical data downloads; consider a Friends and Family account structure even if you're a single trader.)

To allow automated starting and stopping of IB Gateway, you must partially opt out of the Secure Login System (SLS), IB's two-factor authentication. With a partial opt-out, your username and password (but not your security device) are required for logging into IB Gateway and other IB trading platforms; your security device is still required for logging in to Account Management. If you choose not to partially opt-out, you can still use QuantRocket by manually entering your security device codes via VNC connection each time you start IB Gateway.

Schedule tasks in which timezones?

You can use QuantRocket's cron service, named "countdown," to schedule automated tasks such as fetching historical data or running your trading strategies.

You can pick the timezone in which you want to schedule your tasks, and you can create as many countdown services as you like. If you plan to trade in multiple timezones, consider creating a separate countdown service for each timezone where you will trade.

For example, suppose you trade the US and Australian stock markets, and your trading strategies need to run at precise times. If you schedule the Australian strategies in New York time, you'll have to adjust the times on your crontab whenever there's a daylight savings change in the US or Australia. You can avoid this error-prone manual step by scheduling each job in the timezone it relates to.

(If you're not sure yet which timezones you need, don't worry, you can add more countdown services later.)

Where to send your logs

QuantRocket provides rich logging to keep you informed about what it's doing. QuantRocket's logging service is called "flightlog". QuantRocket services log messages to flightlog, and flightlog sends the log messages to you.

You can monitor your logs in JupyterLab without any special configuration. In addition, you can monitor your logs through Papertrail (free plan available). You can configure Papertrail to notify other services (email, Slack, PagerDuty, webhooks, etc.) based on log message criteria. Flightlog will colorize the Papertrail logs based on message severity.

To receive critical alerts via SMS, there are several options through Papertrail, or you can configure Flightlog to send SMS alerts using Twilio (free plan available).

Database backups?

QuantRocket stores your historical and fundamental data, account history, trade executions, and other data in a variety of SQLite databases.

You can connect an Amazon S3 bucket and use the command line interface to back up your databases to S3.

If the S3 bucket already contains databases from a previous deployment, QuantRocket will install the existing databases into the new deployment. This allows you to easily re-deploy QuantRocket while preserving your data across deployments.