QuantRocket

QuantRocket 1.7.0 Release Notes

release-notes

#1

QuantRocket 1.7.0 is now available. All users are encouraged to update to the latest version. See how to update.

Highlights

  • Real-time data from Interactive Brokers. See the usage guide.
    • stream or snapshot: collect a continuous stream of market data or a single snapshot of data
    • tick or aggregate: collect tick data and optionally aggregate it into bar data of any size
    • pull or push: pull tick or aggregate data into your code by querying, or push the stream of tick data to your code over WebSockets
    • live market recording: store the data in a database for later replay

API changes

  • The function get_historical_prices is deprecated in favor of a new function get_prices which can be used to query history databases (like before), real-time aggregate databases, or a mix of both. The new function can be imported as from quantrocket import get_prices. The function signature is identical to the previous function signature of get_historical_prices. The function get_historical_prices is still available and is simply an alias for get_prices.
  • Mirroring the previous change, the method Moonshot.get_historical_prices is renamed Moonshot.get_prices. Normally this method is not directly used but might be used in interactive strategy development.
  • The output of quantrocket db list/quantrocket.db.list_databases has changed to accomodate the introduction of PostgreSQL databases for the realtime service. Previously, the output was a flat list of SQLite databases. Now, the output is a dict with two keys, ‘postgres’ and ‘sqlite’, each of which contains a list of databases of that type.
  • All db service commands/functions that previously supported a service parameter (singular) now support a services parameter (plural), allowing you to specify multiple services. The service parameter is deprecated and will print a deprecation warning. This change affects quantrocket db list/quantrocket.db.list_databases, quantrocket db s3push/quantrocket.db.s3_push_databases, quantrocket db s3pull/quantrocket.db.s3_pull_databases, and quantrocket db optimize/quantrocket.db.optimize_databases.
  • The command/function quantrocket db get/quantrocket.db.download_database is deprecated and will print a deprecation warning. Please use docker cp if you need to download a database as described in the usage guide.

Terms of Service

  • added section 1.d, “Timescale License Agreement,” to the Terms of Service. QuantRocket utilizes TimescaleDB, a time-series database packaged as a PostgreSQL server extension, for real-time data storage and querying. Use of TimescaleDB is governed by the Timescale License Agreement as described in the referenced section of the Terms of Service.

Documentation

Complete 1.7.0 release notes

quantrocket-client:1.7.2

  • The new function get_prices replaces the now deprecated function get_historical_prices. get_prices supports querying history databases (like before), real-time aggregate databases, or a mix of both. The function signature is identical to the previous function signature of get_historical_prices. The function get_historical_prices is still available and is simply an alias for get_prices. Import the new function as follows:
>>> from quantrocket import get_prices
  • fix a bug that made get_historical_prices (now get_prices) not work when using the client library directly from Windows. See community post.

quantrocket/db:1.7.0

  • Add support for PostgreSQL databases (which are used by the realtime service) to all db service endpoints, including the endpoints for listing databases, backup and restoring of databases to Amazon S3, and optimizing (vacuuming) databases.
  • See also the API changes outlined above related to the introduction of PostgreSQL databases.

quantrocket/fundamental:1.7.0

  • Reliability improvements for IB fundamental data collection

quantrocket/history:1.7.0

  • Include fields in output of quantrocket history config/quantrocket.history.get_db_config.
  • Add new command/function to list history database codes: quantrocket history list/quantrocket.history.list_databases. See the usage guide.
  • fix a problem where QuantRocket wouldn’t collect historical data for futures that previously had no data available but now have data available. See community post.

quantrocket/moonshot:1.7.0

  • The method Moonshot.get_historical_prices is renamed Moonshot.get_prices. Normally this method is not directly used but might be used in interactive strategy development. The previous name is still available as an alias and will print a deprecation warning.

quantrocket/postgres:1.7.0

  • New service/container running PostgreSQL + TimescaleDB, for storing real-time data

quantrocket/realtime:1.7.0

  • New service/container for collecting and managing real-time data. See the usage guide.

quantrocket/zipline:1.7.0

  • Removes IEX as the data source for benchmark returns. The IEX API used by Zipline has been decommissioned, which causes backtests to fail. See GitHub issue. As a workaround, this release includes a patch which overrides the IEX API call with dummy benchmark data with returns of 0. If you want meaningful benchmark data, please set your own benchmark symbol using: set_benchmark(symbol("SOME_SYMBOL_IN_YOUR_DATA")).

QuantRocket doesn't collect historical data for futures that previously had no data available and now have data available