Существуют два альтернативных традиционной оптимизации подхода — это оптимизация с прогонкой вперед и самоадаптивные системы. Обе эти методики имеют то преимущество, что практически все тестирование проводится вне (пределов выборки. Оцените результативность системы, проведите несколько статистических тестов, постройте график изменения капитала — и система готова к торговле. Все чисто и математически безукоризненно. Про коррекцию коэффициентов корреляции, множественные тесты, чрезмерную подгонку системы под ценовые данные и другие проблемы можно просто забыть. Более того, с современной компьютерной техникой модели с прогонкой вперед и самоадаптивные модели становятся практичными и даже несложными.
Принцип оптимизации, или тестирования с прогонкой вперед, состоит в эмуляции шагов, действительно производимых системой, требующей периодической оптимизации. Метод работает следующим образом. Оптимизируйте систему на точках данных от 1 до М. Затем проведите виртуальную торговлю в точках данных от М + 1 до М + К. Повторно оптимизируйте систему на точках от К + 1 до К + М. Затем промоделируйте торговлю в точках от (К + М) + 1 до (К + М) + К. Пройдите таким образом через всю выборку данных. Как следует из примера, сначала оптимизируется система, потом моделируется торговля. Через некоторое время система снова оптимизируется, и торговля возобновляется. Эта последовательность гарантирует, что торговля всегда происходит на данных, более поздних, чем данные, использовавшиеся для оптимизации. Практически, все сделки происходят на данных вне пределов выборки. При тестировании с прогонкой вперед М — окно оптимизации (или исторического обзора), а К— интервал повторной оптимизации.
Самоадаптивные системы работают подобным образом, но в этом случае оптимизация или адаптивный процесс — часть системы, а не тестовой программы. Как только поступает новая точка данных, самоадаптивная система обновляет свое внутреннее состояние (правила или параметры) и затем принимает решение относительно следующей точки данных. При поступлении следующих данных выполняются принятые решения, и процесс повторяется. Внутренние изменения, при помощи которых система изучает рынок и адаптируется к нему, могут происходить не в каждой точке, а, например, в некоторые фиксированные моменты времени.
Трейдер, планирующий использовать самоадаптивные системы, должен иметь мощную, основанную на компонентах платформу с использованием развитого языка программирования (C++, Object Pascal или Visual Basic) с возможностью доступа к библиотекам и компонентам третьих производителей. Эти компоненты рассчитаны на встраивание в создаваемые пользователем программы, включая специальные программы адаптивных систем. Чем больше компонентов доступно, тем меньше работы:
как минимум трейдер, пытающийся использовать самоадаптивные системы, должен иметь доступ к генетическому оптимизатору и симулятору, которые могут быть легко встроены в модель. Адаптивные системы будут рассмотрены в следующих главах, показывая, как этот метод работает на практике.
Несомненно, что системы с прогонкой вперед и самоадаптивные системы приобретут большую популярность в будущем с ростом эффективности рынков и сложности работы на них, а также с расширением доступности для рядовых трейдеров коммерческого программного обеспечения на их основе.