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 functionget_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 asfrom quantrocket import get_prices
. The function signature is identical to the previous function signature ofget_historical_prices
. The functionget_historical_prices
is still available and is simply an alias forget_prices
. - Mirroring the previous change, the method
Moonshot.get_historical_prices
is 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_databases
has changed to accomodate the introduction of PostgreSQL databases for therealtime
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 aservice
parameter (singular) now support aservices
parameter (plural), allowing you to specify multiple services. Theservice
parameter 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_database
is deprecated and will print a deprecation warning. Please usedocker 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
- new section added to Moonshot usage guide about how to use real-time data with Moonshot
- moved
get_prices
documentation to Research section (previouslyget_historical_prices
was documented in the Historical Data section) - documented how to use
predict_proba
to predict probabilities in machine learning strategies
Complete 1.7.0 release notes
quantrocket-client:1.7.2
- The new function
get_prices
replaces the now deprecated functionget_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 ofget_historical_prices
. The functionget_historical_prices
is 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
realtime
service) to alldb
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 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"))
.