QuantRocket 1.8.0 Release Notes

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 to moonchart.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.
  • :warning: 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 from quantrocket blotter pnl/quantrocket.blotter.download_pnl. Daily granularity can be obtained using the moonchart.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 from quantrocket 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 to quantrocket.moonshot.read_moonshot_csv.
  • The function quantrocket.moonshot.intraday_to_daily has been moved to moonchart.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 the AnnounceDate field. Previously it was indexed to the UpdatedDate field. These fields often have the same date but not always. We consider the AnnounceDate 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.

After upgrade to 1.8.0, I get concurrent_installs = 2 (the value was 1 before the upgrade).
Also getting the following error:


How do I fix this?
Thank you.

I have the same issue as well. How do I fix the above error?

Thank you

This should resolve by itself in 5 minutes. And it shouldn't be an issue on future updates.

Prior to version 1.9.0, the terminating deployment did not de-register itself so it continued to count against concurrent installs until the registration naturally expires (in 5 minutes). Starting with 1.9.0, the terminating deployment will immediately de-register itself to release its slot for the new deployment. Since you are updating from a version earlier than 1.9.0, the issue still affects the process of updating to 1.9.0 but will not affect updating from 1.9.0 to a future version.

That is great.

Thank you very much Brian.