Hyperopt cmd line new subcommand for forward validation
Describe your environment
(if applicable)
- Operating system: Archlinux
- Python Version: 3.10.5
- CCXT version: 1.91.29
- Freqtrade Version: 2022.7
Describe the enhancement
I came with the idea of having some new options on the freqtrade hypeopt cmd line, where we could specify another time range for forward backtesting. Currently, I run hyperopt multiple times within a shell loop and with the same parameters (except for the random initial state), and end up with multiple results that I further backtest with a new time range (a sort of naive cross validation) to see if the results can generalize in the future. This option could automate this process, and rerun the epoch result for this new specified time range , with the downside of slowing the process of course, so that's why I propose as well a --validation-filter to add the capability to only do that for interesting results.
Here are the proposed new options:
- --validation-timerange TIMERANGE
- --validation-filter VALIDATION_FILTERS [all, best, profitable]
I don't have a clue at the moment on which indicator(s) could be best to add to the final result table (and json objects), if this should be only the validation loss function result or the Profit percentage for example, open for discussion...
Source: freqtrade/freqtrade