QuantRocket 2.2.0 is now available. This release contains Zipline enhancements, performance improvements, usability improvements, and bug fixes. All version 2 users are encouraged to update to the latest version. See how to update .
Highlights
- live trading of end-of-day strategies that use daily data. Previously live trading required the use of minute data. See the usage guide.
- add Zipline pipeline integration for Alpaca easy-to-borrow and IBKR shortable shares datasets. See the usage guide.
- data quality enhancements for US Stock dataset. See Data Corrections below.
API Changes
- The preferred syntax for constructing Zipline pipelines with Sharadar or Reuters data has changed. The new syntax utilizes slicing to provide a cleaner syntax that better aligns with the conventions used on Quantopian. For example, the syntax
SharadarQuarterlyFundamentals.REVENUE
is now deprecated in favor ofsharadar.Fundamentals.slice(dimension="ARQ", period_offset=0).REVENUE
. However, the deprecated conventions will still work. See the usage guide.
Documentation
- a new Zipline example strategy in the Code Library demonstrates live trading of an intraday sell-on-gap strategy
Data Corrections
Corrections have been applied to the US Stock dataset to link together certain price series that were previously split up due to corporate restructurings. For example, in 2015 Google restructured and formed a new parent company, Alphabet. The US Stock dataset previously provided Google's price history under two separate sids: one for the pre-2015 Google and one for the post-2015 Alphabet. These are now linked together under one sid. This also applies to a number of other securities. For additional background, see related forum post.
To update your local copy of the dataset with these corrections, follow these instructions:
US Stock end-of-day dataset
Please drop and re-collect the dataset.
US Stock intraday bundle
Since version 2.1.0, the US Stock Zipline bundle can ingest data either sid by sid or day by day. The sid by sid method is used for initial collection or if there are more than 5 days' worth of updates to ingest. The day by day method is used if there are fewer than 5 days' worth of updates to ingest, as it is much faster in these cases.
The data corrections will be automatically ingested the next time the sid by sid method is used. To force this to happen, you can use the force
parameter. This parameter is not included in the client library, so use curl
as shown below:
$ BUNDLE_NAME=usstock-1min
$ curl -X POST "http://houston/zipline/ingestions/$BUNDLE_NAME?force=true"
Complete 2.2.0 release notes
quantrocket/blotter:2.2.0
- fix an issue where the blotter would continue to request the order status of orders already rejected by Alpaca
quantrocket/codeload:2.2.0
- add a
GIT_KEEP_METADATA
environment variable which can be used to automatically load a Git repository when your deployment first launches. (This is an advanced use case.) See the usage guide.
quantrocket/fundamental:2.2.0
- gracefully handle a new situation where the IBKR API may indicate that no Reuters estimates data is available by returning an invalid XML file instead of the usual API error code. See support forum post for background.
quantrocket/history:2.2.0
- improve error handling when you request historical data from IBKR and have not yet collected the security listings from IBKR
quantrocket/jupyter:2.2.0
- Add the QuantRocket version number to the JupyterLab menu bar, with an indicator showing when new updates are available.
- fix a performance issue with
quantrocket.fundamental.get_sharadar_sp500_reindexed_like
. See forum post for background.
quantrocket/postgres:2.2.0
- update to TimescaleDB 1.7.3
quantrocket/realtime:2.2.0
- improve error handling when you request real-time data from IBKR and have not yet collected the security listings from IBKR
quantrocket/zipline:2.2.0
- live trading of end-of-day strategies that use daily data. Previously live trading required the use of minute data. See the usage guide.
- add Zipline pipeline integration for Alpaca easy-to-borrow and IBKR shortable shares datasets. See the usage guide.
- improve query performance of
quantrocket.zipline.download_minute_file
- add
Order.open
attribute as a shortcut for checking if an order is open. See API reference. - The preferred syntax for constructing Zipline pipelines with Sharadar or Reuters data has changed. The new syntax utilizes slicing to provide a cleaner syntax that better aligns with the conventions used on Quantopian. For example, the syntax
SharadarQuarterlyFundamentals.REVENUE
is now deprecated in favor ofsharadar.Fundamentals.slice(dimension="ARQ", period_offset=0).REVENUE
. However, the deprecated conventions will still work. See the usage guide. - fix an error when trying to load a context file containing a
ContinuousFuture
in live trading - fix a bug that could cause the incremental ingestion of daily usstock updates to terminate early if encountering sids with no data for a particular date
- update pandas version from 0.20.1 to 0.22.0 on the
zipline
service. This matches the pandas version in the "Zipline environment" kernel in JupyterLab.