I am currently using the optimizer instead of improver as the next task after building as a kind of "improve" task. I was going to speak up in this task:
https://roadmap.strategyquant.com/tasks/sq4_6130 so I can keep an OOS segment in the middle of the data during "improving (with the optimizer.)"
Instead, it makes more sense to make the build improver more useful so it can be used as intended. Currently improver can replace, add or keep. But, in case of improving entry, it's more like making entirely different strategies with replace or add, rarely if ever do they come up with something actually improved. I suggest adding a fourth function called "mutation" or "change" to try more subtle changes to one variable or other component of existing strategies.
OR if we are expected to make slight improvements with optimizer then it makes sense to have OOS segments in the optimizer as the above linked task is asking.
I understand that I could do something like fill the initial population of the second build task with the results of the first build but that doesn't really work well. Only the best strategies are surviving to future generations and mutating and some don't survive that long. What I want is all the strategies from the first build that passed through that set of filters to be improved equally.
I understand I could also just hammer away at them in the first build by increasing the number of generations but that may be wasting cpu "beating the dead horses." Plus sometimes the good strategies don't get very far before they die off because of a series of bad mutations or bad copulations.