Сегодня захотелось поразбираться с темой подбора параметров для ботов. Все-таки, выбирать параметры из лучшей доходности на исторических данных очень грубо.
Необходимо найти широкий диапазон параметров, которые позволят системе показать хорошую результативность.
И исключить наборы параметров, показывающих исключительную результативность системы, если близкие параметры показывают значительно худший результат.
Создал небольшую матрицу результатов для тикера
$SPCE и визуализировал в графике. Результат показан на шкале справа в процентах.
Можно увидеть значительное изменение доходности в диапазоне k от 1.4 до 1.8 и значительный пик доходности на значении 1.5. Нет смысла концентрироваться на значении 1.5, так как при слишком точном подборе параметров можно получить эффект "переученности". Возможно, экстремально высокая доходность обоснована уникальными рыночными явлениями на выбранном временном диапазоне для выбранного актива. Можно предположить, что любое значение на промежутке n1 ∈ [2:5) и k ∈ [1.4:1.8] можно считать оптимальным.
На графике можно заметить, что результат почти не изменяется при изменении параметра n1, возможно есть ошибка в коде бота, который учитывает этот параметр в стратегии.
Далее буду думать как сделать алгоритм, который самостоятельно будет выбирать нужный диапазон для любого числа параметров и выбирать случайный набор из оптимальных. Сложностей тут навалом.