Back

Computational costs for frequent historical data access

For a simple strategy which trades based on RSI, there are a couple ways to set this up.

One way, is to create a SymbolData object and attach a QCAlgorithm RSI Indicator at a specified Resolution. During initialization, I can query historical data at the same Resolution and manually run tradebars through the symbol's indicator via the .Update() function to warm up the specified time period. If I want to use previous RSI values as part of the strategy, I can attach a RollingWindow or deque to the symbol and run the values out of the indicator's .Updated() callback. At this point in my trade logic, I can then access the symbol's current RSI value or its previous values.

Alternatively, I can skip most of that setup by simply querying the history and calling something like calculate_RSI(df).

Is the latter strategy generally going to be computationally cost-prohibitive?

Update Backtest







0

The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.


Hey Ryan,

Repeated history requests to compute your indicator values are much more computationally expensive than storing indicator values in a rolling window. However, if you are calling history only once per day on a few securities, you might prefer to just pay the computational price.

Best
Rahul

1

The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.


Update Backtest





0

The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.


Loading...

This discussion is closed