Implements ConfidenceWeightedPortfolioConstructionModel

- Adding new `ConfidenceWeightedPortfolioConstructionModel` (C# / Py) that will
generate percent `Targets` based on the latest active `Insight` `Confidence` per
`Symbol`.
   - Will ignore `Insights` that have no `Confidence`.(unit tested)
   - If the sum of all the last active `Insight` per `Symbol` is bigger than 1, it
will factor down each target percent holdings proportionally so the sum is 1. (unit tested)
   - Adding unit tests
   - Adding a new regression test framework algorithm (C#/Py)
   -**Note**: `ConfidenceWeightedPortfolioConstructionModel` inherits from the `InsightWeightingPortfolioConstructionModel`. Protect method `GetValue` was implemented in `IWPCM` to enable the choice of `Insight` member.
This commit is contained in:
AlexCatarino
2019-10-14 21:06:28 +01:00
parent 36ce55e284
commit a18bd953ac
11 changed files with 732 additions and 10 deletions
@@ -79,6 +79,7 @@
<Content Include="CustomDataAddDataOnSecuritiesChangedRegressionAlgorithm.py" />
<Content Include="CustomDataAddDataCoarseSelectionRegressionAlgorithm.py" />
<Content Include="DynamicSecurityDataAlgorithm.py" />
<Content Include="ConfidenceWeightedFrameworkAlgorithm.py" />
<Content Include="KerasNeuralNetworkAlgorithm.py" />
<None Include="PsychSignalSentimentRegressionAlgorithm.py" />
<Content Include="CustomDataUsingMapFileRegressionAlgorithm.py" />