Hi, I have a question about the new Bootcamp lesson. In the final walkthrough of this tutorial, it's written:

Finally, iterate through the insights and multiply the equal weight by the insight direction to return a target percent, and save as a value in self.result. Through inheritance, the target percent is turned into a target number of shares (Portfolio Targets) and delivered to the execution model.

Why is the target percent is turned into a target number of shares due to inheritance? I do not see any call to the parent DetermineTargetPercent() function. Or is the parent function is automatically called? But if this the case, how is the self.result from the current class being taken into account by the parent class since the parent class should not be able to access its child class instance in my knowledge. I tried to use the debugger and read through the codes in Github but I couldn't find an answer. 

Also, is it legitimate to do self.result[insight] = insight.Direction * self.percent? So in this case, this value is acting in some sense like the magnitude property of the insight?

Any kind of help is appreciated. Thank you.

Author