Back

Empty rolling window for algorithm with universe selection

I've attempted to make an algorithm that would use a universe for selecting stocks, and then consolidate 1-minute bars into 5-minute bars and add these to a rolling window in a separate SymbolData class. But despite several days of looking for possible solutions on the forum and trying to fix the code, I haven't been able to find a way to successfully add tradebars to the rolling window in the SymbolData class and not receive a "Rolling window is empty" error in the OnData method.

I've attached the algorithm and would appreciate any suggestions to get this algorithm to work. Thanks!

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.


Hi, 

you need to check if your Rolling Window is ready. Unfortunately this part were nowhere mentioned in the Rolling Window section of the Documentation. But you can find some information in the Indicators section here

However, I've added IsReady as a property of your SymbolData class: 

@property
def IsReady(self):
    return self.Bars.IsReady

Then in OnData() you should always check if your rolling window is ready: 

# [...]
for symbol in self.Data.keys():
    symbolData = self.Data[symbol]
    if not symbolData.IsReady:
       continue
# [...]

 

1


Thank you Arthur. I thought I had already tried that, but I must apparently have coded it wrong.

1

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