Back

Building an AlphaModel using a custom indicator, based on different time frames

I am currently stuck trying to get symbol bars for different time windows, using the AlphaModel class from the Algorithm Framework.

The Update-method of my AlphaModel class is defined as follows:

def Update(self, algorithm, data):
        ''' Determines an insight for each security based on two annualized slopes
        Args:
            algorithm: The algorithm instance
            data: The new data available
        Returns:
            The new insights generated'''
        insights = []
        
        #shortTermBars = GetDailyClosesForAllSymbolsInUniverse(self.shortTermMomentumWindow,self.resolution)
        #longTermBars = GetDailyClosesForAllSymbolsInUniverse(self.longTermMomentumWindow,self.resolution)
        
        #...
        
        return insights

How can I get the shortTermBars and the longTermBars for all symbols with the defined windows sizes resolutions, based on the data parameter?

Here is the complete code:

 

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 Filib,

I've attached a backtest that demonstrates how this can be accomplished. The way I've done it is to create a new class that stores information and the Rolling Windows for each security (one for each defined length). This object has an update method that is called in the Update() method which adds the most recent bar from data to each window and has properties that return each window. Additionally, I have included the necessary code to ensure that the Alpha Model's Update() method only gets called with a user-defined frequency, per your other forum posts. Have a look at the backtest below and hopefully this will help you implement the rest of your algorithm.

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