В алгоритм стратегии можно включить процедуру адаптивной оптимизации. Такая процедура реализуется с помощью скользящего окна оптимизации. Для формализованного описания процедуры адаптивной оптимизации воспользуемся параметрическим описанием стратегии
Фактически в результате введения адаптивного механизма исходная стратегия
Адаптивная оптимизация во многих случаях позволяет строить стратегии, более устойчивые по отношению к смене фаз рынка. Однако необходимо помнить, что адаптивная оптимизация не устраняет проблему заоптимизированности стратегии, поскольку является ничем иным, как такой же оптимизацией, но с более сложной структурой. Более того, использование адаптаций в системе бэктестинга неизбежно приводит к увеличению числа оптимизируемых параметров, что, в свою очередь, может способствовать увеличению риска заоптимизированности (см. раздел 5.4.3). Тем не менее наш опыт применения адаптивной оптимизации подсказывает, что, если стратегия тестируется на достаточно большом интервале истории и генерирует достаточное количество сигналов на открытие позиций, ее будущая устойчивость более вероятна, чем в случае оптимизации на неподвижном историческом окне.
5.4.3. Проблема заоптимизированности (оverfitting)
Чрезмерная оптимизация параметров приводит к тому, что алгоритмы многих торговых стратегий демонстрируют высокие показатели эффективности на фиксированном участке прошлой истории. При этом показатели этих же стратегий могут существенно ухудшаться при попытке их применения к продолжению ценового ряда. Применительно к бэктестингу данная проблема известна как проблема заоптимизированности (overfitting, или curvefitting). Риск заоптимизированности неизбежно возникает даже для относительно простых стратегий, поскольку любой торговый алгоритм невозможен без наличия явных или неявных параметров. Для более сложных стратегий этот риск возрастает многократно.
В общем виде можно утверждать, что вероятность заоптимизированности прямо пропорциональна количеству степеней свободы, имеющихся в системе бэктестинга. При тестировании стратегий, ориентированных на торговлю акциями и фьючерсами, число степеней свободы приблизительно равно количеству параметров, используемых при оптимизации стратегии. Для опционных стратегий количество степеней свободы возрастает за счет того, что, помимо параметров, относящихся непосредственно к торговому алгоритму, существует множество параметров, связанных с формированием опционных позиций. Каждая стратегия оперирует определенным типом комбинаций, который описывается с помощью набора параметров. К этим параметрам могут относиться диапазон допустимых страйков, допустимый период времени до истечения опционов, глубина горизонта истории, используемого для расчета исторической волатильности, и многие другие. Поэтому для опционных стратегий проблема заоптимизированности стоит более остро, чем для стратегий, торгующих простыми активами.
К сожалению, не существует способа полностью нейтрализовать риск заоптимизированности. Однако частичное решение этой проблемы можно получить, соблюдая следующие общие принципы.