Hi everyone,

I'm just now learning QuantConnect and I have become stuck trying to understand something about the implementation of the EqualWeightingPortfolioConstructionModel in python.

I'm simply looking at the GitHub file to see the inner-workings.

https://github.com/QuantConnect/Lean/blob/master/Algorithm.Framework/Portfolio/EqualWeightingPortfolioConstructionModel.py

The documentation states "Portfolio Construction Models have one primary method: CreateTargets()"

https://www.quantconnect.com/docs/algorithm-framework/portfolio-construction

However, when I look at the equal weighting portfolio implementation, I don't see this method implemented. Can anyone tell me what is going on? How does this class take insights from an Alpha, make decisions, then return the resulting PortfolioTargets to Risk Management?

 

On another note that is a broader version of the previous specific question,

I am ultimately getting frustrated with reading the GitHub source code implementations of these "provided" framework modules. It appears that the basic rules and functionalities that is described in the documentation aren't followed in most of these implementations.

Alphas should implement Update(), Portfolio Constructions should implement CreateTargets(), Risk Management should implement ManageRisk(), and Execution should implement Execute(),.

In what circumstances would a provided model for any of these framework sections not implement their respective method?

Where could I have learned this information myself?

 

Thanks.