QuantRocket 2.2.0 Release Notes

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 of sharadar.Fundamentals.slice(dimension="ARQ", period_offset=0).REVENUE. However, the deprecated conventions will still work. See the usage guide.

Documentation

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 of sharadar.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.