QuantRocket is a Python-based platform for researching, backtesting, and running automated, quantitative trading strategies. It provides data collection tools, multiple data vendors, a research environment, multiple backtesters, and live and paper trading through Interactive Brokers (IB). It provides scheduling, notification, and maintenance tools to allow your strategies to run fully automated. It allows you to track and analyze your live performance on a strategy-by-strategy basis.
Absolutely! QuantRocket offers first-class support for running your trading strategies on international markets. The lack of support for international markets among most available trading platforms (which tend to be US-centric) was a major reason for QuantRocket's development.
QuantRocket was built from the ground up with global markets in mind and seamlessly handles the technical details associated with international trading, such as differing timezones, trading hours, currencies, tick sizes, etc. QuantRocket makes it easy to build a diversified portfolio of international trading strategies.
QuantRocket is well-suited for traders and data scientists who would describe themselves as "quants first, programmers second." QuantRocket focuses on providing turn-key infrastructure and data management tools so that you don't have to be a professional software developer to trade your strategies, allowing you to focus on your research and backtesting.
Experienced software developers will appreciate QuantRocket's modern, Docker-based stack, cloud integrations, clean APIs, flexibility, and developer-centric workflows.
We also offer premium support options if you prefer customized, hands-on help.
The "home base" for interacting with QuantRocket is a web-based Jupyter research environment in which you can view, create, and edit your research notebooks, algorithm files, and configuration files. You can use QuantRocket's Python API within your notebooks and algorithms, or you can open a terminal inside the Jupyter interface and use QuantRocket's command line interface.
The intro video provides a demonstration of the Jupyter environment.
QuantRocket installs on your hardware. This could be your local computer or a server in the cloud.
If you're interested in a hosted version of QuantRocket that includes server monitoring and maintenance, we offer a hosted infrastructure premium support option.
QuantRocket runs anywhere Docker runs: Windows, Linux, or Mac. For Windows users, Windows 10 Professional or higher is required.
Your computer should have at least 8 GB of memory to ensure a good user experience.
See more about system requirements.
See the cloud installation tutorials.
For most use cases, an IB account is required. IB is the only supported broker and is also a primary data source. QuantRocket offers a top-notch experience for quantitative trading with IB because it is custom-built around IB's strengths and capabilities.
Some use cases do not require an IB account. If you wish to use non-IB data and do not intend to trade or connect to IB, no IB account is required.
QuantRocket connects to IB using IB Gateway, a slimmed-down version of Trader Workstation (TWS) which provides access to the IB API for collecting market data, placing orders, checking your account balance, etc.
IB Gateway is bundled with QuantRocket and doesn't need to be installed separately.
IB offers listings on over 60 global exchanges. With QuantRocket you can trade nearly all of them.
The exchange selector on the account page (login required) shows the approximate number of listings for each exchange.
Please note that, due to restrictions imposed by the exchanges, IB does not provide market data via API for Norway or mainland China stocks, therefore these exchanges are currently unsupported by QuantRocket.
QuantRocket supports equities, futures, and currencies. Options support is limited but will be expanded in the future.
You can trade Bitcoin futures on CME or CBOE. IB does not offer spot cryptocurrency trading.
QuantRocket integrates historical price data from IB and fundamental data from the Reuters Worldwide Fundamentals dataset (available through IB).
QuantRocket also provides premium US fundamental and end-of-day price data from Sharadar.
For IB historical data, you must subscribe to the relevant market data through IB Client Portal then use QuantRocket to collect the data from IB.
IB offers over 20 bar sizes ranging from 1 month to 1 second. The full list includes: 1 month, 1 week, 1 day, 8 hours, 4 hours, 3 hours, 2 hours, 1 hour, 30 mins, 20 mins, 15 mins, 10 mins, 5 mins, 3 mins, 2 mins, 1 min, 30 secs, 15 secs, 10 secs, 5 secs, and 1 secs.
For stocks and currencies, historical data depth varies by exchange and bar size. End of day prices go back as far as 1980 for some exchanges, while intraday prices down to 1-minute bars go back as far as 2004. The amount of data available from the IB API is the same as the amount of data available when viewing the corresponding chart in Trader Workstation.
Historical data availability for select exchanges is shown here.
For futures, historical data is available for contracts that expired no more than 2 years ago. IB removes historical futures data from its system 2 years after the contract expiration date. Deeper historical data is available for indices. Thus, for futures contracts with a corresponding index (and for which backwardation and contango are negligible factors), you can run deeper backtests on the index then switch to the futures contract for recent backtests or live trading.
For bar sizes of 30 seconds or smaller, historical data goes back 6 months only.
Initial data collection can take anywhere from a few minutes to several days or more, depending on the bar size, date range, and number of securities. The usage guide provides more detail on the practicalities of historical data collection.
Yes. IB is a treasure trove of global market data, but few IB customers tap its potential due to the complexity of the API and the long runtimes required to collect it due to IB's rate limits. QuantRocket can collect data in the background continuously for days, weeks, or months on end, surviving network interruptions, IB server blackouts, and other challenges and idiosyncrasies of the IB API. With sufficient hard drive space and a little patience, you can collect terabytes and terabytes of market data.
All IB historical data is split-adjusted.
Dividend-adjusted data is optional for daily bars. Dividend-adjusted data is unavailable for bar sizes smaller than 1 day.
Either! You can choose.
No. If a stock went bankrupt, was acquired, went private, etc. it won't be in IB's data.
QuantRocket doesn't delete delisted tickers, so over time you will build up a database that includes delisted tickers.
End-of-day data that includes active and delisted tickers for US stocks and is free of survivorship bias is available as a premium dataset from Sharadar.
For futures contracts with a corresponding index, you can also collect data for the index and use it as a stand-in for a continuous futures contract.
QuantRocket can collect Reuters fundamental data from IB and store it in a database for analysis, backtesting, and trading. There are 2 types of fundamental data available.
Financial statements provide over 125 cash flow, balance sheet, and income metrics. Statements are time-indexed to the relevant fiscal period as well as the filing date for point-in-time backtesting.
Estimates and actuals provide analyst estimates and actuals for a variety of indicators. The actuals include the announcement date, for point-in-time backtesting.
To learn more, see the Reuters Worldwide Fundamentals data guide.
Sharadar US fundamentals, available as a premium dataset, offers over 20 years of history and includes active and delisted tickers.
Moonshot is a fast, Pandas-based backtester that supports daily or intraday data, multi-strategy backtests and parameter scans, and live trading. It is well-suited for running cross-sectional strategies or screens involving hundreds or even thousands of securities.
Learn more about Moonshot in the usage guide.
Moonshot works with equities, futures, and currencies. For futures, individual contracts or continuous contracts can be used.
Yes, Moonshot supports both intraday and end-of-day strategies.
Live trading with Moonshot can be thought of as running a backtest on up-to-date historical data and placing a batch of orders based on the latest signals generated by the backtest.
Yes, Moonshot supports walk-forward optimization of machine learning and deep learning strategies. See the usage guide.
Like Quantopian, QuantRocket is a platform for developing automated, quantitative trading strategies using Python. Like Quantopian, QuantRocket can be used for strategies that screen hundreds or thousands of securities. QuantRocket integrates several open source Python libraries developed by Quantopian, including Zipline, Alphalens, Pyfolio, and QGrid.
Unlike Quantopian, QuantRocket supports live trading and does not run contests or license user-created algorithms for capital allocations. Rather, QuantRocket customers use QuantRocket to trade their own money.
QuantRocket supports backtesting with Zipline. We do not yet support live trading with Zipline but we plan to add this capability in the future.
You can live trade your Quantopian algo by porting it to Moonshot. If you need help, we offer a paid service for porting your Quantopian algo to QuantRocket.
You can use Reuters Worldwide Fundamentals. Check out the Reuters fundamentals data guide page.
Yes, but for large universes of stocks your strategy will need to utilize a bar size larger than 1-minute (for example, 15 or 30 minutes). See the usage guide regarding the total data quantity for intraday strategies in Moonshot.