Найти в Дзене

Переоптимизация торговых стратегий: как не одурачить себя на стадии разработки алгоритма

Переоптимизация (overfitting) — ситуация, когда торговая стратегия чрезмерно подгоняется под исторические эксперименты. В результате, такой алгоритм показывает отличные результаты на прошлых данных, но теряет свою эффективность на реальных. То есть, переоптимизация возникает, когда алгоритм «учится» на шумах и случайных аномалиях, а не на реальных рыночных закономерностях. Ошибка переоптимизации — самый коварный и скрытый враг для алгоритмических трейдеров. Чтобы снижать влияние подгонки, нужно подходить к каждому этапу разработки стратегии аккуратно и мудро. Как именно — в этом материале. Полезные материалы, которые хорошо бы изучить перед продолжением: Большинство трейдеров теряют деньги, потому что не умеют выявлять устойчивые стратегии — робастные. Такие стратегии надежны и имеют право на существование. С другой стороны — неустойчивые стратегии, которые могут быть эффективны в краткосрочной перспективе, но обычно не выдерживают проверку временем и приносят убытки. Терпения для разр
Оглавление

Переоптимизация (overfitting) — ситуация, когда торговая стратегия чрезмерно подгоняется под исторические эксперименты. В результате, такой алгоритм показывает отличные результаты на прошлых данных, но теряет свою эффективность на реальных. То есть, переоптимизация возникает, когда алгоритм «учится» на шумах и случайных аномалиях, а не на реальных рыночных закономерностях.

Ошибка переоптимизации — самый коварный и скрытый враг для алгоритмических трейдеров. Чтобы снижать влияние подгонки, нужно подходить к каждому этапу разработки стратегии аккуратно и мудро. Как именно — в этом материале.

Полезные материалы, которые хорошо бы изучить перед продолжением:

Что такое робастные (robust) стратегии

Большинство трейдеров теряют деньги, потому что не умеют выявлять устойчивые стратегии — робастные. Такие стратегии надежны и имеют право на существование. С другой стороны — неустойчивые стратегии, которые могут быть эффективны в краткосрочной перспективе, но обычно не выдерживают проверку временем и приносят убытки. Терпения для разработки робастных стратегий не у всех хватает — многие сходят с дистанции.

О том, как создаются устойчивые стратегии, мы рассказывали в статье Через какие процессы проходит алгоритмическая стратегия перед ее запуском + вебинар. Но стратегию можно испортить задолго до процесса тестирования и переоптимизировать ее уже на стадии разработки.

Именно о стадии подготовки будет речь в этой статье.
Именно о стадии подготовки будет речь в этой статье.

Типы переоптимизации

Есть 2 возможных сценария подгонки алгоритма:

  • Переоптимизация “шума”
  • Переоптимизация рыночных событий

Переоптимизация "шума"

Здесь все просто: вы тестируете стратегию на одних и тех же данных с разными параметрами без разделения на фазы in-sample и out-of-sample. Получить красивый бэктест — задача достаточно простая. Ниже как раз пример такой стратегии. Только эта стратегия — случайная.

Кривая доходности случайной стратегии.
Кривая доходности случайной стратегии.

Обычно начинающие так и попадают в эту ловушку — находят красивые результаты по бэктесту и сразу используют алгоритм в реальных условиях. Вероятность поломки такого алгоритма высока. Потому что наш гипотетический трейдер подогнал стратегию под “шум” — то есть получил случайный результат на случайных данных (даже если правила стратегии кажутся логичными). И чем больше тестировать стратегий без out-of-sample анализа, тем больше будет переоптимизированных под ценовой шум кривых.

Переоптимизация рыночных событий

Это происходит, когда стратегия оптимизируется для конкретных исторических данных, которые включают редкие или случайные события. Стратегия может потерять свою эффективность, когда такие события не повторяются.

Пример: отвязка швейцарского франка от доллара США в 2015 году. Некоторые алгоритмы на истории могут ловить это движение и показывать сверхприбыли. Но без такого экстремального события сам по себе алгоритм слабый. Это и есть переоптимизация рыночных событий.

Падение доллара по отношению к франку в 2015.
Падение доллара по отношению к франку в 2015.

Теперь пройдемся по всем этапам, которые снизят риск переоптимизации.

Как снизить риск переоптимизации алгоритма

К сожалению, нет на 100% точной метрики, которая бы говорила о переоптимизации алгоритма. Все это носит вероятностный характер, так что важно снижать вероятность подгонки на каждом этапе. В нашей практике есть 5 шагов.

Полная версия статьи доступна на сайте с подпиской Empirix Prime 🧬