QuantRocket 1.8.0 is now available. All users are encouraged to update to the latest version. See how to update.
Highlights
- Implementation shortfall analysis. Compare Moonshot backtest results with live PNL to see how well live trading tracks your backtest. See the usage guide.
- Trade combos (aka spreads), including native futures spreads such as calendar spreads or intercommodity spreads, option combos such as straddles or strangles, and stock combos. Define combo legs, collect real-time data for the combo, and submit combo orders through the blotter. See the usage guide.
- The realtime data service now supports creating multiple aggregate databases from a single tick database. Previously, each tick database could have only a single aggregate database associated with it.
API changes
- The function
quantrocket.moonshot.intraday_to_daily
has been moved tomoonchart.utils.intraday_to_daily
. The rationale for this move is that the function now supports both Moonshot and PNL CSVs and is oriented toward prepping these CSVs for Moonchart. -
PNL CSVs downloaded from the blotter are now returned with intraday granularity (with a Time column) instead of daily granularity. In connection with this change, the
time
parameter, which controlled the snapshot time for daily PNL results, has been removed fromquantrocket blotter pnl
/quantrocket.blotter.download_pnl
. Daily granularity can be obtained using themoonchart.utils.intraday_to_daily
function.
Complete 1.8.0 release notes
quantrocket/blotter:1.8.0
- Combo orders are now supported. See the usage guide.
- PNL CSVs are now returned with intraday granularity (with a Time column) instead of daily granularity. Daily granularity can be obtained using the
moonchart.utils.intraday_to_daily
function. - The
time
parameter, which controlled the snapshot time for daily PNL results, has been removed fromquantrocket blotter pnl
/quantrocket.blotter.download_pnl
. - Column names in detailed PNL CSVs now include the symbol and conid, instead of the conid only.
- New fields added to PNL CSVs: TotalHoldings and Turnover
quantrocket-client:1.8.3
- New function:
quantrocket.blotter.read_pnl_csv
. This utility function loads a PNL CSV into a DataFrame, similar toquantrocket.moonshot.read_moonshot_csv
. - The function
quantrocket.moonshot.intraday_to_daily
has been moved tomoonchart.utils.intraday_to_daily
. The old function is still available as an alias but will print a deprecation warning. - The function
get_reuters_estimates_reindexed_like
is now indexed to theAnnounceDate
field. Previously it was indexed to theUpdatedDate
field. These fields often have the same date but not always. We consider theAnnounceDate
field more meaningful.
quantrocket/license-service:1.8.0
- Change license server backend to AWS Lambda after previous backend (Webtask) was deprecated. (The license service queries the license server backend to obtain the user's subscriptions and permissions.)
quantrocket/master:1.8.0
- Define combos in the securities master database. See the usage guide.
quantrocket-moonchart:1.8.0
- Implementation shortfall tear sheets. See the usage guide.
- Added function
moonchart.utils.intraday_to_daily
. See the API Reference.
quantrocket-moonshot:1.8.0
- Add a
--no-cache/no_cache
option which can be used to avoid using cached files on backtests, parameter scans, and ML walk-foward optimizations. This can be useful if the underlying data has changed. See the usage guide.
quantrocket/postgres:1.8.0
- Update to TimescaleDB version 1.4.1. (This update makes it possible for the realtime service to support multiple aggregate databases per tick database.)
quantrocket/realtime:1.8.0
- Collect real-time data for combos. See the usage guide.
- Multiple aggregate databases can now be created from a single tick database. Previously, each tick database could have only a single aggregate database associated with it.