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_pricesis deprecated in favor of a new functionget_priceswhich can be used to query history databases (like before), real-time aggregate databases, or a mix of both. The new function can be imported asfrom quantrocket import get_prices. The function signature is identical to the previous function signature ofget_historical_prices. The functionget_historical_pricesis still available and is simply an alias forget_prices. - Mirroring the previous change, the method 
Moonshot.get_historical_pricesis renamedMoonshot.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_databaseshas changed to accomodate the introduction of PostgreSQL databases for therealtimeservice. 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 
dbservice commands/functions that previously supported aserviceparameter (singular) now support aservicesparameter (plural), allowing you to specify multiple services. Theserviceparameter is deprecated and will print a deprecation warning. This change affectsquantrocket db list/quantrocket.db.list_databases,quantrocket db s3push/quantrocket.db.s3_push_databases,quantrocket db s3pull/quantrocket.db.s3_pull_databases, andquantrocket db optimize/quantrocket.db.optimize_databases. - The command/function 
quantrocket db get/quantrocket.db.download_databaseis deprecated and will print a deprecation warning. Please usedocker cpif 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
- new section added to Moonshot usage guide about how to use real-time data with Moonshot
 - moved 
get_pricesdocumentation to Research section (previouslyget_historical_priceswas documented in the Historical Data section) - documented how to use 
predict_probato predict probabilities in machine learning strategies 
Complete 1.7.0 release notes
quantrocket-client:1.7.2
- The new function 
get_pricesreplaces the now deprecated functionget_historical_prices.get_pricessupports querying history databases (like before), real-time aggregate databases, or a mix of both. The function signature is identical to the previous function signature ofget_historical_prices. The functionget_historical_pricesis still available and is simply an alias forget_prices. Import the new function as follows: 
>>> from quantrocket import get_prices
- fix a bug that made 
get_historical_prices(nowget_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 
realtimeservice) to alldbservice 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_pricesis renamedMoonshot.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")).