Блог им. kurd

Алготрейдинг. Как искать оптимум параметров торговой системы

Не важно, какую функцию и как оптимизировать, минимум отклонения прогноза цены от фактической или максимум счёта (вложение+выигрыш), — возможны два подхода: 1) прямой перебор (brute force) всех вариантов и 2) градиентный метод (наискорейшего спуска).
Прямой перебор может потребовать громадных вычислений, не реализуемых практически.
Градиентный метод очень зависит от выбора начальной точки поиска. При множестве локальных экстремумов и только одном глобальном, существенно отличающемся от локальных, очень велика вероятность попадания на незначительный локальный экстремум. Метод деформируемого многогранника Нелдера-Мида (Simplex), хоть и решает некоторые трудности градиентного, в принципе от него не отличается.

Промежуточные методы, такие как Монте-Карло или генетический алгоритм, хоть и повышают вероятность попадания в глобальный экстремум с меньшим объёмом счёта против прямого перебора, не дают достаточной гарантии.

Факт множественности экстремумов целевой функции можно считать вполне установленным.
Крайне желательно иметь в области значений параметров торговой системы плавное, без скачков-разрывов поведение целевой функции.
Исторический оптимизм требует от нас веры в существование такого свойства, даже если опыт не даёт достаточных подтверждений. В противном случае нет никаких оснований для экстраполяции функции с найденными оптимальными параметрами торговой системы за пределы области оптимизации — т.е. прогноза на будущее.

Укрепившись в этой вере и дополнив её предположением, что в области параметров глобальный экстремум не окажется слишком близко от соседних локальных, можно вполне положиться на двухэтапный поиск методом прямого перебора.
На 1-м этапе область параметров покрывается равномерной сеткой с густотой, достаточной, чтобы целевая функция в середине ячейки с глобальным экстремумом была лучше, чем во всех других ячейках сетки.
На 2-м этапе ячейку с глобальным экстремумом покрываем более густой сеткой и быстро находим этот экстремум с достаточной точностью.

1 комментарий
Методы, основанные на Монте-Карло в сочетании с градиентным спуском вполне прилично работают и не занимают много времени. К любому методу оптимизации есть вопросы корректного применения, но это другой вопрос, скорее применения к конкретной ТС.
avatar

теги блога Rostislav Kudryashov

....все тэги



UPDONW
Новый дизайн