Hi!
I am struggling to transfer the strategy development process from a backtesting approach (with a single forward phase to confirm the result) to a classic forward optimization process when there is more than a couple of parameters involved:
General consens seems to be that optimizing too many parameters at once produces overoptimization, and according to my own experience (correlation BWD>FWD) as well as literature it seems better to optimize only a limited amount of parameters at the same time, then fix them and optimize the next.
But how can this be applied to a Forward Optimization approach?
Here my thoughts so far:
"Stage1":
If I start an Optimization only with the "core" of a strategy and limited number of parameters, I can check the predictivity of the result using different optimization targets, based on this decide for a target and finally receive the "best setup" for each backward window. This "best setups" are obviously not exactly the same for each window.
"Stage2":
If now I want to optimize the next group of parameters in (e.g. adding an indicator with another 3 parameters to set it up), I need to fix the previous parameters to not optimize too many at once. Up to now, I see 3 different approaches, but I am not really happy with either:
- If I am lucky, the "best setups" from "stage 1" only vary in one of the optimized parameters, so I can fix all others to the "common best" value, leave this one flexible and add the new ones. But what can I do if this is not the case? Plus, latest in "Stage 3" I would anyway end up with too many parameters.
- Instead, I could fix for each window its best setup from the previous optimization, and then apply the next part of the strategy to only that setup. I am worried that the results would become very unique for each time step, so that finally I am developing a quite different strategy in each window. This would reduce my confidence in the robustness and predictivity.
- Alternatively, I could try to find a relatively good common setup from all windows of the previous optimization. But this basically makes a backtest with a control phase out of the previous forward optimization, so the only against a BWD/FWD Test is that I have more chance to find an optimization target that produces a robust sytem (as I can proof this with a good correlation in each window).
With the first and last scenario I am also aware that I break the principle of forward optimization, that in each backward phase I should not know anything about what happens after this backwards phase, because my final choice of "stage 1 parameters" for that window is based on the outcome of the previous optimizations of later windows.
For this reason, I would if anything tend to choose the 2nd scenario, but wonder if forward optimization makes sense at all for strategies with > 5 parameters?
Any experience or recommendations on this?
Thank you very much!
Best Regards,
Seb