QUANTCONNECT COMMUNITY
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.
Ian Larson
Love the good design patterns section!
Chris Higginson
Hello, I took a look at your example ~EmaCrossAlphaModel.cs. Inside of the Update method on EmaCrossAlphaModel you reference SymbolData.Fast which is an instance of QCAlgorithm.EMA. Is it guaranteed that EMA is updated before any Alpha added to a QCAlgorithm so that EMA is up to date with current data? Also, suppose you are using your own custom version of EMA, what would be the design pattern you suggest? Would you create a separate class in a MySpecialEMA.cs file in the project, update it in QCAlgorithm OnData method (which hopefully gets called before IAlphaModel update) and create an instance of it inside of IAlphaModel OnSecuritiesChanged asscociated with each security? Framework looks cool, and apologies if missed the relevant example doc that probably explains this.
Anthony FJ Garner
Would appreciate answers to Chris Higginson's questions - I am currently looking through the glass darkly.
Alexandre Catarino
Hi Chris Higginson ,
Sorry about the wait.
Yes, Consolidators and Indicators (that are updated by consolidators) are updated before AlphaModel.Update that is called last in the algorithm manager data iteration.
If you are using your own EMA, I would suggest the creation of a custom indicator that can also be updated by a consolidator. You can update it in OnData too, but it kind of breaks the Framework pattern. Alternatively, you can update it in AlphaModel.Update before using it.
Gustavo A
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.
To unlock posting to the community forums please complete at least 30% of Boot Camp.
You can continue your Boot Camp training progress from the terminal. We hope to see you in the community soon!