Обзор модуля Wavelet Cycle Hunter в Timing Solution

May 22, 2017 14:30

Wavelet Cycle Hunter - это, на мой взгляд, один из самых интересных модулей в Timing Solution, который может выдавать очень и очень интересные результаты в прогнозировании, вполне сопоставимые с нашим лучшим модулем Q-Spectrum. Но чтобы получать интересные результаты, с ним нужно уметь работать; есть некоторые тонкости в настройках модуля, об этом и поговорим.

Принципы работы Wavelet Cycle Hunter довольно просты. Программа обрабатывает циклы, и показывает их активность на специальной диаграмме - некоторые называют ее еще теплограммой. На этой диаграмме самые активные циклы помечаются желтым цветом (обычно получаем на диаграмме такое желтое пятно или несколько желтых пятен). Менее активные - красным. В целом, чем активней цикл (по отношению к анализируемым котировкам), тем интенсивней его цвет. Мертвые же, неактивные циклы представлены на диаграмме синим цветом. А далее все просто: Активные, действующие, циклы нужно пометить чертой - провести ее прямо на диаграмме, по центу пятна, от края до края. Отмеченные вами циклы, вместе с овертонами (овертоны - подразбивка циклов на под-циклы, имеют критически важное значение) сразу выводятся в основное окно программы в виде прогностической линии. По сути, все что делает модуль - это производит сортировку циклов по принципу их активности/неактивности по отношению к загруженным котировкам. Главное здесь - специально разработанные математические формулы и алгоритмы для анализа активности циклов; это авторские разработки, которые применяются только в Timing Solution, и уникальность которых обеспечивают успех прогностической работе модуля.

Подробнее это описано у автора программы, здесь: TS Terra Incognita Project #7: Wavelet Cycle Hunter

Хочу отметить одну ценную особенность модуля и его отличие от других: Wavelet Cycle Hunter не принимает участия в прогнозировании. Вообще никакого! Прогностическая линия после LBC (а также линия до LBC) - целиком зависит от вас, что "нарисовали" - то и получили. Модуль играет в прогнозировании вспомогательную роль: он лишь определяет, какие циклы были активны, а какие - нет. Но он не прогнозирует по этим циклам. Это делаете вы. Поэтому критически важно понимать "правила игры" - знать, как нам взаимодействовать с этой диаграммой, чтобы на регулярной основе получать достойные прогнозы.

Итак, начинаем работу в модуле. Одна из примечательных фишек программы - возможность ограничивать для нее "горизонт будущего", устанавливать дату, после которой программа перестает "видеть" котировки (но их видите вы) и начинает прогнозировать, на любое число. Этот ограничитель в программе называется LBC, и такой режим работы называется тестовым. Это важная особенность позволяет прогонять программу на исторических данных, смотреть как она справляется с прогнозированием в тот или иной период времени из прошлого. Давайте загрузим котировки нефти, и посмотрим, сможет ли он спрогнозировать ценовые движения в конце 2016 года - как раз перед тем, как котировки ушли в двухмесячный боковик (на боковике, как я неоднократно отмечал, работа с циклами идет не очень хорошо; для хороших прогнозов рынок должен быть трендовым).

Котировки я брал вот отсюда со stooq.com, мы будем работать с котировками Crude Oil WTI Future (CL.F)

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




Чтобы начать работу в тестовом режиме, перейдем в настройки. По умолчанию здесь стоит режим Final (all price hystory), иначе говоря в этом режиме модуль обрабатывает все загруженные ценовые данные. Мы же переведем модуль в тестовый режим работы (режим бэктестинга) - Backtesting (before LBC).




LBC у меня находится на отметке 14.10.16 (что значит, что модуль обработает котировки только до 14 октября 2016 года). Как видите, на графике две зоны - зеленая и розовая. Зеленая зона - показывает котировки до LBC. Розовая - после этой даты.




Активность или неактивность циклов, что будут после этой даты - никоим образом на теплограмме отображена не будет. Начинаем расчеты:




После расчетов видим такую диаграмму, на которой отображена активность циклов. Чтобы проверить финальную дату котировок, просто подведите курсор к правому краю диаграммы - и в правом нижнем углу будет видна крайняя дата, которые были доступны программе для анализа:




Как это работает, как мы получаем прогноз? Предполагается, что циклы которые активны в настоящее время, сохранят свою активность еще какое-то время. Есть некое время инерции - они не могут перестать работать вот так сразу. А раз есть время инерции, то отметив верные циклы, которые работают сейчас, мы, теоретически, можем "заглянуть в завтра". Иначе говоря, мы можем получить линию, которая будет показывать верное движение котировок и после финального бара, доступного программе (для нее это будет последний бар перед LBC).

Идем дальше. Как видим, на диаграмме всего одно-единственное "желтое пятно" - один активный цикл. Можно ли спрогнозировать одним-единственным циклом? Давайте попытаемся. Итак, мы помечаем линией этот цикл:




Получаем такую картинку с прогнозом (настройки - те, что были в модуле по умолчанию):




Что мы видим на этой картинке? Честно говоря, фигню :) Неопытный юзер на этом месте непременно возопит: "А-а-а!.. Программа не работает... Ни фига не прогнозирует... Где мой Грааль?!" - и на этом прекратит знакомство с модулем. Но мы с вами пойдем дальше.

Но вначале разберем вопрос: почему не получается прогноз? Тут все просто: линия здесь одна, соответственно, у нас один цикл (на самом деле четыре, поскольку у нас цикл с четырьмя овертонами). Но один цикл (де-факто - четыре) - это все же маловато для прогноза. Но других-то желтых пятен на диаграмме нет (во всяком случае, таких значимых). Поэтому вывод напрашивается сам собой: нужно увеличить количество овертонов. Сколько овертонов нужно? Я считаю, что лучше всего ВСЕГДА выбирать в настройках восемь овертонов (именно для этого модуля). Почему восемь? Это следующий шаг после четырех. Если разделить цикл надвое (первый шаг деления) - получим два овертона (два цикла). Если эти два овертона поделить еще раз на два (второй шаг) - получим четыре. Если эти четыре (третий шаг) поделить еще раз - получим восемь овертонов. На этой цифре лучше остановиться - ибо на четвертом шаге мы получим 16 овертонов, а это, на мой взгляд, уже избыточно. В целом, как видите, в работе с овертонами я следую логике геометрической прогрессии, и на мой взгляд, здесь она самая верная.

Хочу подчеркнуть: это мой личный опыт. Вы, конечно, можете пробовать любое количество овертонов - мало ли, может на каком-то торговом инструменте лучше будет работать 7 или 9 овертонов. Или вообще 12.

Итак, в настройках я увеличиваю количество овертонов до восьми, смотрим, что у нас получилось:




Итак, все настройки в модуле я оставил авторские, единственное, что я изменил в настройках - это количество овертонов, теперь их восемь. Как видите, картина кардинально изменилась - мы видим линию, которая очень неплохо облегает линию котировок до LBC (что говорит о том, что мы верно прочертили линию на желтом пятне наиболее активного цикла), и дает очень интересную прогностическую картинку на месяц-полтора вперед. Цикл, который мы выбрали, хорошо показывает минимум начала августа 2016, максимум 22 августа, и после линия идет вверх, вплоть до 4 октября.

Что касается прогностической части (здесь мы получаем ответ на вопрос - сохранили ли цикл свою активность?), то линия прогноза недвусмысленно указывает на фазу снижения, что и подтверждается рынком, несмотря на то, что рынок рос еще несколько сессий после 14 октября. Очень четко показан минимум 11 ноября, после чего линия резко уходит вверх. Расхождение поведения рынка с прогнозной линией начинается с 22 ноября.

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

В целом, мой опыт говорит о следующем:
- всегда используйте 8 овертонов при работе с Wavelet Cycle Hunter. Вы увидите, что это значительно улучшает результаты прогнозов. Для одного цикла это просто необходимость; но даже если будут 2-3 желтых пятна, все равно используйте 8 овертонов.

- если вы отметили несколько циклов, попробуйте разные комбинации, отключая один или два из них. Можно ли получить верный прогноз отметив всего лишь один цикл? Да, если 8 овертонов, то безусловно. Важно: когда перебираете комбинации из вариаций циклов, то смотрите на как получившаяся линия описывает те котировки, которые программе доступны (до LBC). Выбирайте тот вариант, который лучше всего описывает линию котировок (иногда это будет один цикл из нескольких). Закономерность здесь одна: если вы получили отличное совпадение линии и котировок до LBC, то скорее всего, прогноз будет хорошо работать и будущем, после LBC. Однако, если если до LBC у вас никак - то и прогноз будет никакой.

- насколько достоверной может быть линия? Я думаю, месяц-полтора для EOD (ежедневные котировки). Это больше чем в Q-Spectrum. Но в любом случаем, по мере поступления котировок, перерисовывайте прогноз (пятна активности могут изменять свои границы).

- я не силен в математических алгоритмах, но меня стойкое ощущение, что Wavelet Cycle Hunter работает с какой-то другой реальностью, чем Q-Spectrum. Например, в Q-Spectrum очень важны короткие циклы: если их нет, то, считай, нет и прогноза. В Wavelet Cycle Hunter все ровно наоборот: короткие циклы там совершенно не работают. При этом эти два модуля часто показывают схожие результаты в прогнозе - что удивительно.

- в целом, наиболее работоспособные циклы, по моему опыту - в средней части диаграммы.

- работайте с котировками, где отчетливы трендовые движения. Если брать ту же нефть, то на боковике, который был с декабря 2016 по начало марта 2017 вы вряд ли получите хороший результат.

- и наконец, очень важно: всегда обращайте внимание, нет ли между желтым пятном активного цикла и правой кромкой диаграммы синей прослойки из мертвых циклов. Если нет - отлично, этой линии можете доверять. Но если между желтым пятном и правой кромкой путь даже тонкая линия из синих баров - скорее всего, прогноз нормальный вы не получите. Это, пожалуй, один из самых важных правил при работа с диаграммой активности циклов.

- наконец, не забывайте о главном правиле работы в Timing Solution - сравниваете показания прогноза в этом модуле с показаниями других модулей, прежде всего с Q-Spectrum. В идеале они должны подтверждать друг друга.

Дополнительные опции настроек

Данные опции не являются обязательными, но вы можете попробовать с ними поработать.

Опция Max skeleton

При активации этой опции на вейвлете появляются зеленые линии - это места, где яркость пятна вейвлета достигает локального максимума:


На практике лучше отбирать циклы, проводя мышкой по этим линиям, например:


Как бы эта опция помогает нам понять, где именно нам нужно проводить линию по вейвлету.

Опция Terms
Работает это следующим образом: к примеру, я выбираю два цикла и на главном экране мы можем видеть суперпозицию этих двух вейвлет-волн (термов):



После этого мы активируем опцию Terms (устанавливаем там галочку)  и получаем следующее:


Иначе говоря, при активации этой опции мы можем увидеть, как эти два вейвлета работают по отдельности.

Опция Grids
Данная опция позволяет увидеть, сколько периодов покрывает выбранный нами вейвлет:



Например, в данном примере выбранным нами вейвлет охватывает 3 полных периода цикла (1 деление сетки = 1 период). т.е. стоковая память этой волны SM = 3

Опция Target

Это отображение цели вейвлета прямо на цветовое пятно, когда мы чертив по нему черту. Рядом появляется такая голубенькая линия:


Для чего это нужно? Это позволяет на провести дополнительную процедуру для проверки важности некоторого вейвлет-цикла. Предположим, мы создали вейвлет, который образован двумя точками на вейвлет-диаграмме, A и B.



Встает вопрос: насколько хорошо этот вейвлет прогнозирует будущее? Чтобы ответить на этот вопрос, активировем опцию «Target» - и мы увидим цену вместе с линией проекции вейвлета (цвета морской волны:



Линия проекции после точки B показывает нам, как этот вейвлет прогнозирует будущее, вот таким образом:


И мы видим, что нет хорошего совпадения между вейвлет-диаграммой (черная линия) и ценой (голубая линия). Значит, этот цикл не работает. А вот еще один пример, на этот раз неплохо работающего вейвлета:

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

Эмфазис циклов

Эмфазис циклов - это смещение акцента в вашем исследовании на некую группу циклов, например, самые короткие циклы или самые длинные.  Делается это через правое выпадающе меню в блоке View:



Для чего это нужно? Ну например, вы исследуете долгие циклы длинной в 7-20 лет пытаясь понять причину больших падений рынков типа краха 1987 года. Для этого нужно загрузить котировки глубиной 100 лет примерно, и попробовать сместить акцент в своем исследовании на долгие циклы, выбрав, например ++Long или +Long.

Обычные и инвертированные циклы

Если есть желание попробовать себя в сложной и зубодробительной теме инвертированных циклов, то можете выбрать в левом выпадающем меню Inverted или Both:


Сразу хочу сказать: никто не знает, как работать с инвертированными циклами. Но если у вас много свободного времени, аналитический ум и есть желание первым найти решение того, чего решить еще никто не смог, то Timing Solution дает вам такую возможность.

Читайте также:
Прогноз без головняков: вэйвлет-анализ в модуле Wavelet Cycle Hunter
Рекомендации по модулю Wavelet Cycle Hunter
Что такое Stock Memory (SM)
Что такое Forecast Stock Memory (FSM)
Как подбирать значение SM при циклическом анализе

#timingsolution, [Модуль Wavelet Cycle Hunter]

Previous post Next post
Up