Timing Solution - Спектральный анализ
|

Timing Solution – Спектральный анализ

Модель “СПЕКТР ”

В этой статье я рассмотрю работу модуля “СПЕКТР”. Данная модель базируется на неподвижных циклах. Чтобы эффективно работать с ними, автор программы рекомендует использовать дневные ценовые данные, глубиной по крайней мере в 2 года, хотя эта модель даёт лучшие результаты для десятилетних данных. На дневном графике это более 3500 баров. Слабость этой модели в том, что она базируется на неподвижных циклах и для идеального результата эти циклы должны оставаться в неизменном состоянии. Однако в действительности неизменяемые циклы есть только в теории, а на практике их фазы и периоды подвергаются постоянным изменениям.

В одной своей статье Сергей Тарасов неподвижные циклы сравнил с оркестром. “Неподвижные циклы можно сравнить с оркестром. Как правило, он исполняет хорошую музыку, но у одного из музыкантов вдруг заболел маленький сын и мысли его отца сейчас заняты им, в итоге мы имеем касание скрипки не в тот момент времени, и как следствие – изменение звучания мелодии и т.д. Этот случай, может быть сравним с изменением периода для неподвижного цикла. Другой музыкант в этом оркестре рассеян и часто путает страницы в папке с нотами. Он вполне может начать играть Моцарта где-то с середины. Эта аналогия показывает, как подвергается изменениям фаза. Но в целом музыканты всё-таки правильно исполняют мелодию.”


Рис. 1 Фазовый сдвиг прогнозной линии

Рисунок 1 показывает как данная ситуация отражается на линии прогноза. В истинную картину всё время вносятся какие-то коррективы. Чтобы выявить подобные смещения (изменение периодов циклов), структуру циклов желательно проверять с помощью специальных инструментов Wavelet диаграмма. (рис. 7) Протяженность жизни неподвижного цикла заложена в особенностях его циклической модели (John F. Ehlers, MESA and Trading Market Cycles). После ее окончания циклы изменяют свою периодичность или исчезают. Фазы этих циклов могут сделать невероятные скачки.


Рис. 2 Идея предсказания движения в программе

Поведенческая схема (рис.2) означает, что мы анализируем исторические ценовые данные, затем создаём модель на неподвижных циклах, проверяем её на устойчивость и далее полученные результаты используем в прогнозе. Для примера я буду работать с дневным графиком EURUSD (исторические данные с 07.04.1989 по 06.05.2005, это 4178 баров или 16 лет ). И так всё начинается с цели. Мы должны чётко себе представлять конечный результат (рис.2) прогнозной линии и какие задачи нам предстоит для этого решить.

Цель: Получить на дневном графике EURUSD прогностическую линию с горизонтом в будущее на ближайщие два месяца (май , июнь) и расписание торговых сигналов buy / sell.

Задачи:
1. Используя модуль “СПЕКТР” получить периодограмму ценовых данных выбранной валютной пары.
2. С помощью “Активной диаграммы” выбрать рабочие циклы, которые могут проработать ещё в ближайшие 2 месяца.
3. Сделать предобработку выбранных циклов для дальнейшего обучения нейросети.
4. Используя модуль “Neural Net” выбрать для прогноза целевой индикатор. Установить период индикатора.
5. Установить параметры для обучения сети.
6. Обучить нейросеть и получить прогностическую линию.
7. С помошью редактора buy/sell получить торговые сигналы для прогнозируемой области (май, июнь).

Перед выполнением задания я подготовил для примера два рисунка с шаблонами синусоид разных периодов. На рис. 3 изображена синусоида с периодом 30, а на рис.4 с периодом 60 и 90. На рис.3 после вычислений циклов в главном окне появляется периодограмма синусоиды с периодом 30, один большой пик. Выделив этот цикл в списке “Выявленные циклы” можно посмотреть на “Активную диаграмму”, чтобы визуально увидеть, как работал данный цикл.


Рис.3 Периодограмма синсоиды с периодом 30

 В этом примере на протяжении всего ряда данных диаграмма была красной, это означает, что цикл на всей истории отлично работал, и будет работать в будущем с высокой вероятностью. В правом верхнем углу рисунка изображена Wavelet диаграмма, на которой по оси Y отмечен горизонтальной линией период цикла 30 и широкая красная полоса по временной шкале оси X, что указывает на сильный и устойчивый цикл.

Теперь посмотрим на рис. 4 где изображены все диаграммы для гармоники с периодом 60 и 90. В главном окне теперь выделены два цикла и активная диаграмма похожа на стиральную доску. Устойчивость и сила цикла с периодом 60 сейчас не постоянна и Wavelet диаграмма эту изменчивость показывает в детализированном виде. После рассмотрения в качестве примера искусственно созданных гармоник (рис.3 и 4), можно приступить к построению прогностической линии дневного графика EURUSD.

Шаг 1: На этом шаге программа вычисляет наиболее частые циклы и отображает их в главном окне модуля. Вот какие циклы программа нашла для валютной пары EURUSD: 34 / 47/ 75 / 96 / 130 / 167 / 190 / 237 / 262 / 322.

Эти циклы переводятся из визуального в числовой формат и отображаются в нижнем левом окне “Выявленные циклы”

Шаг 2: С помощью “Активной диаграммы” рассмотрим работу циклов на истории и возможность их использования для предсказания.


Рис.4 Периодограмма синусоиды с периодом 60 и 90

Рис.5 Периодограмма EURUSD

Чтобы было удобно просматривать все циклы, я их объединил в одну картинку (рис.6). На диаграмме смотрю период 2005 года и выбираю циклы, которые имееют красный цвет, и чем ярче, тем лучше. Не сложно заметить, что циклов с ярко выраженным красным цветом в этом году нет, но есть несколько слабо работающих гармоник, которые имеют в этом году бледную окраску . Это указывает на то, что мы на подходе зарождения новых циклов или активного включения старых с учётом новых фундаментальных данных.


Рис.6 Активная диаграмма циклов

На рис. 7 представлена wavelet диаграмма, которая является детализированной схемой ценовых данных EURUSD. На этой диаграмме можно рассмотреть любой период цикла ,выбрав его период по шкале Y и посмотреть его работу на оси Х. Если рис.6 уменьшить до маленьких размеров, то получим грубый рис. 7.


Рис.7 Wavelet диаграмма

Шаг 3: Вместе с овертонами (цикловой подразбивкой) выбранные циклы помещаются в “Итоговый список циклов” (в правом нижнем углу окна рис.11).

Я буду создавать две модели нейросети, поэтому в первой модели на вход нейросети будут подаваться все найденные циклы, а во второй только отдельно выбранные. Это позволит наблюдать на новых данных, какая модель окажется лучше и устойчивей. Я выбрал следующие циклы: 46.9 (слабый) / 74.5 (хорошо) / 130 (очень слабо) / 190 (слабо) / 322 (слабо).

Шаг 4: Найденные циклы готовы для использования в качестве событийной основы в работе модуля Neural Net (рис.11). На этом примере, я буду создавать прогноз на осциллятор, который рассчитан по формуле: (Close – MA (Close, Period=55)) / MA (Close, Period=55). Этот индикатор выбирается кнопкой Out/ВЫХОД Кнопка Input / ВХОД позволяет вставить из буфера обмена преобразованные данные циклов (рис.9).

Шаг 5: В этом примере я использую настройки нейросети по умолчанию, которые можно посмотреть на рис. 8 и менять их лучше тем, кто хорошо дружит с теорией по нейросетям.

Шаг 6: При нажатии кнопки “Обучить” нейронная сеть начинает обучение. Но сразу возникает вопрос: когда остановить обучение? Управлять процессом обучения нейросети поможет информационная панель Neural Net (рис.8). Важнейшая ее функция – визуализация происходящих процессов: у нас есть возможность видеть, насколько хорошо в данный момент линия прогноза соответствует ценовым данным. Чтобы остановить процесс обучения, нажмите кнопку STOP (рис.8).


Рис. 8 Остановка обучения

Когда же нажимать на эту кнопку или как понять, где находится этот самый “пункт остановки”? В существенной мере это зависит от установленных нами параметров нейросети (иначе говоря, от того, что мы загрузили на входа и выход), и от ценовых данных, которые мы анализируем. Здесь нет никаких правил. Имеются лишь общие рекомендации, когда остановить учебный процесс. Нажмите на кнопку “Stop”, если совпали два этих условия:

1) вы наблюдаете хорошую корреляцию между линией прогноза и ценовыми данными в пределах учебного интервала (бирюзовая область);
2) линия прогноза хорошо коррелирует с ценовыми данными и на тестируемом интервале (фиолетовая область).

Вы можете также использовать определенные настройки, позволяющие программе самой определять, когда останавливать процесс обучения нейросети. Откройте вкладку Stop; активируйте опцию “Stop when” (рис.8). Получили 2 линии прогноза (рис.10).


Рис. 9 Модуль Neural Net

Для красной линии на вход подавали все найденные гармоники, а для синей линии только отдельно выбранные. Хочу ваше внимание обратить на то, что нейросеть видит только данные до 01 марта 2005 года, а пересчитывать желательно каждый месяц с учётом поступивших новых ценовых данных или после очевидного расхождения цены и прогноза.

Шаг 7: На этом заключительном шаге я через редактор сделок смотрю список ТОРГОВЫХ СИГНАЛОВ. В примере я получил две линии прогноза, поэтому два расписания торговых сделок (рис.10). Для красной линии в правом верхнем углу, а для синей линии прогноза в правом нижнем углу.

Прогноз с учётом последних ценовых данных

Хорошо, что при написании этой публикации на рынке произошли сильные ценовые изменения под влиянием фундаментальных факторов, поэтому я вынужден был сделать новые модели с учётом последних данных. На рис. 10 изображены две линии прогноза, которые были построены на данных до 01 марта 2005 года, а на рис. 12 три нейросети построенные на данных до 13 мая 2005 года. Сделки для каждой модели приведены в левой части картинки, цвет рамки указывает, к какой линии прогноза относятся торговые СИГНАЛЫ.

При сравнении видно, что прогнозные линии на рис.10 и рис. 12 не совпадают и соответственно отличаются торговые сигналы. Следовательно, возникает вопрос: Какой вариант прогноза использовать для торговых сделок ? Для этого в программе есть модуль Back Testing, который позволяет проверить модели на их устойчивость в будущем. Следующая публикация будет посвящена этому модулю.

Теперь я хочу вернуться к последним опубликованным фундаментальным данным за май месяц. Курс евро на сильных данных по рынку занятости (NFP), резком сокращении дефицита торгового баланса и увеличении розничных продаж в США, пробил значимую поддержку на 1.2870. Именно в этой точке можно было ожидать завершение формирования волны Е треугольника, но сейчас картина под влиянием фундаментальных факторов сильно поменялась в пользу доллара, но если посмотреть на нейросетевой прогноз, то все 3 модели находятся в сделке Buy (12.05.05 – 1.2679 на выбранных циклах; 11.05.05 – 1,2805 на всех циклах).


Рис. 11 Список выбранных циклов и преобразованные


Рис. 12 Прогнозные линии с учётом последних данных

Чтобы проверить данные для входа нейросети текущий прогноз нужно время, и как он выполнится, зависит от временных циклов, которые включатся в работу в ближайшие два месяца. А Сейчас я распечатываю эту страницу с последним прогнозом и торговыми сигналами, и вклеиваю в свой трейдерский дневничок. Для ознакомления с этой программой вы можете скачать демо-версию на сайте: http://www.fx.winm.ru/ts.htm

Подготовил Антонов Владислав (A_Vlad), аналитик Viac
email:
a_vlad@viac.ru