QuantRocket Architectural Overview

QuantRocket runs as a suite of Docker containers which can be deployed on your home trading computer or in the cloud provider of your choice.

Docker containers are lightweight, standalone pieces of software that include all the code and dependencies needed to run. Because they are self-contained, a key benefit of Docker containers is that they can run anywhere: under Linux, Mac, or Windows, in the cloud or on your laptop. If you've ever struggled to install code libraries on your computer, you'll appreciate Docker.

QuantRocket consists of numerous Docker containers working in tandem. Each container is a miniature app whose job is to do one thing and do it well. This design pattern is known as a "microservices" pattern and it promotes highly flexible applications.

QuantRocket containers or "services" and their functions are shown below:

service/containerwhat it does
mastercreates and manages the securities master database
historycollects, stores, and manages historical price data
fundamentalcollects, stores, and manages fundamental data
realtimecollects, stores, and manages real-time data
postgresruns PostgreSQL/TimescaleDB server for real-time data storage
jupyterruns a JupyterLab environment
theiaruns Eclipse Theia code editor
moonshotruns Moonshot
ziplineruns Zipline
houstonAPI gateway through which services communicate with each other, and you with them
license-serviceretrieves your QuantRocket subscription details for permission validation
ibgruns IB Gateway
ibgrouterstarts and stops IB Gateway service(s)
codeloadloads your code and configuration and makes them available to other services
dbloads your databases and makes them available to other services
flightlogemits log messages to tell you what's happening (for example, historical data retrieval is complete)
logspoutemits detailed, technical log messages
accountkeeps track of your account balances and base currency exchange rates
blottersubmits orders to your broker and records trade executions
countdownruns a cron service to let you schedule jobs
satelliteruns custom scripts

See the video below for a visual depiction of QuantRocket's multi-container design.