2013-11-19

На тему оптимизации

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



Так как я далек от этих переоптимизаций, то просто читал и не придавал этому значения, хотя в памяти все равно оставалось. Но любопытство берет свое и тоже хочется пощупать то чем занимаются другие потому как сомнение в собственной правоте всегда присутствует. Для того чтобы проверить как это было бы если бы, например, с 2005 года каждые несколько месяцев переоптимизировали систему и с полученными оптимальными параметрами торговали следующий отрезок времени, не надо иметь ничего особенного, не надо даже это проделывать вручную так как во многих программах для тестирования присутствует такая фишка как Walk-Forward Optimizator. Просто запускаем ее и она проделывает все шаги трейдера-оптимизатора за любой отрезок времени. И на выходе любуемся полученным результатом.

Вот и я решил поиграться с внутридневной системкой для фьючерса на фондовый индекс Russell2000 на пятиминутках. Что бросилось в глаза после нескольких часов исследований -- с уменьшением периодов IS и OOS результаты, почему-то, значительно ухудшались, несмотря на то что я считал что должно быть как раз наоборот. То есть если, например, берем интервал для оптимизации три месяца и период торговли по полученным параметрам один месяц, то результаты получаются хуже чем когда берем период оптимизации год и торгуем с полученными параметрами три месяца. И чем больше берем эти периоды, тем лучше получаются результаты. То есть, если продолжить тренд этого явления, то самые плохие результаты должны были получиться для самых ближайших коротких периодов, а самые лучшие просто разделив весь график на две части -- одна IS, другая OOS.

Но проверять, задавая каждый раз разные периоды оптимизации и торговли по полученным параметрам отнимает, конечно же, очень много времени. Поэтому в программах тестирования есть не только фишка для Walk-Forward Optimization, но и фишка, автоматически определяющая самые оптимальные периоды для оптимизации -- Cluster Analysis, которая оптимизирует величину периодов применяемых в Walk-Forward Optimization. Для этого нужно задать минимальное значение периода, максимальное и величину шага. Так вот, просто запускаем эту фишку и через некоторое время, действительно, убеждаемся в том что чем больше периоды оптимизации, тем лучше получаются результаты торговли по системе.

Вот пример, как это выглядит:



Failed -- означает что при таких периодах оптимизации систему опасно торговать
PASS -- можно торговать
Runs -- на сколько частей делится торгуемый график для оптимизации. Так как график был длиной в 10 лет, то число 5 означает что оптимизируем систему каждые два года. А 30 означает что оптимизируем каждые три месяца. Можно, конечно было расширить диапазоны Runs, но и так слишком долго это все происходит, поэтому ограничился этим диапазоном. Но тенденция видна -- чем больше периоды оптимизации,тем лучше получаются результаты.

Можно кликнуть на каждую клетку и получим исчерпывающий анализ торговли по системе, оптимизируемой с этими периодами.

Для сравнения, вот как выглядят результаты торговли при переоптимизации каждые два года:



А это результаты переоптимизации каждые три месяца:



Ну и промежуточные результаты примерно соответствуют этому тренду.

Но самое интересное то , что просто разделив весь график на 70% IS и 30% OOS и прооптимизировав без всякого WFO, результат на OOS получился лучше чем при помощи WFO на том же периоде....

Комментариев нет:

Отправка комментария