qbt - Quantopian Backtesting Services

qbt uses tornado to accept synchronous requests for backtesting sessions. The client of a backtesting session first invokes the backtest endpoint: http://serverip/backtest?startdate=<>&enddate=<>...

qbt will respond with a json object describing the session:

  • backtest id, to be referenced in all further requests
  • zeromq connection information for the event stream

A backtesting session is comprised of:

  • REST endpoint to request orders
  • an event stream delivered via zeromq

Pre-requisites

MongoDB Server

QBT requires a running mongodb instance with a few collections:

  • user collection. See handlers.BaseHandler for code using this collection. Documents must have:
    • email - standard email address
    • encrypted_password - an sha2 hex digest of the password
    • salt - a secret other than the password, which can be set in a secure cookie to maintain a session. if unset, will be set to sha2 hex of datetime.utcnow()--password
    • _id - standard issue mongodb primary key

Requesting a Backtest

S
Description
An Algorithmic Trading Library for Crypto-Assets in Python
Readme Apache-2.0 128 MiB
Languages
Python 91.2%
Jupyter Notebook 5.1%
Cython 3.2%
Shell 0.2%
Batchfile 0.2%