so my approach for this will be different and simple one
add remove duplicities task to a cusrom project, which will on the choosen databank
1) compute the correlation between strats by the user settings
2) remove worst strategies with worse ranking set by user, for example - remove the strat with lower RDD
so if i set, that i want to remove strats by monthly correlation of profit/loss must be lower than 0.5 and remove the correlated strats with lower RDD
simple and very usable for us in our flows
Subject changed from remove duplicities task to Task Filter by correlation
The setting will be:
Source databank
Target databank
Compute fitness from - same config for fitness (including weighted) as in Builder -> Ranking
Correlation linmit settings - same config as in Builder -> Ranking
The filter will:
- compute correlations between all strategies in source databank
- go through all strategy combinations and if it finds correlation that is below allowed level it will:
- compute fitness for both strategies
- remove strategy with worse fitness
If Target databank = Source databank then strategy is removed, otherwise the better strategy is copied to Target databank and source databank will be untouched.
The result of the task should be that Target databank should only contain strategies that have correlation between each other higher than configured level.