timing_solution (timing_solution) wrote,
timing_solution
timing_solution

Category:

Прогноз без головняков: нечеткая логика в модуле Neural Net

В этой статье будут встречаться те еще словечки - "нечеткая логика", "нейросетевой прогноз", однако, не пугайтесь. Данный пост относится к циклу "Прогноз без головняков", а значит, описанная здесь методика прогноза очень простая, рассчитана на юзеров Timing Solution с любой подготовкой; и, что важно, она также дает очень хорошие прогностические результаты - попробуйте и убедитесь в этом сами. Все что что от вас потребуется - кликать на указанные кнопки, и следовать рекомендациям.

На самом деле, писать о том, что такое "нечетная логика" в математике я не буду - есть серия постов на эту темы, вы найтете их здесь - и тем, кому любопытно, могут ознакомиться, я стараюсь там писать доходчиво и просто.

Мы же перейдем сразу к описанию методики - что нужно делать, чтобы получить достоверный прогноз в нейромодуле Neural Net. Сделать это можно будет, в том числе, и в демовесии. Котировки в программу у вас должны быть уже загружены, если вы не знаете, как это сделать, ознакомьтесь с постом Как загрузить в программу котировки и привести ее в полнофункциональное состояние

Далее:

Шаг 1. Жмем на кнопку Neural Net и открываем нейромодуль:



Шаг 2. Загружаем таргет или цель для нейросети, в данном случае осциллятор RPO.
Читаем: Что такое осциллятор RPO (Relative Price Oscillator) и почему он так важен в Timing Solution

Делаем это в три шага, как на скрине:



1 - жмем на кнопку выбора цели для нейросети, 2 - не меняя установок жмем на Try, этим мы выбираем осциллятор RPO, 3 - жмем на OK.

Шаг 3. Выбираем факторы, которые мы будем подавать на вход нейросети - собственно, самый важный момент в нейроанализе. Что мы подадим - то и получим. Если мы неправильно выбрали, что подавать на входы (а с одним торговым инструментом может быть одно, с другим другое), то и на выходе получим неверный прогноз.

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

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



Здесь выбираем только одну группу факторов, что будем загружать в нейросеть - это Close. Для этого отмечаем Close галочкой (с других снимаем, если галочки есть на других факторах), все другие настройки оставляем как есть. Должно быть вот так:



Жмем в этот окне на OK, и получаем такую картину, в поле NN Inputs загрузятся все выбранные нами факторы, всего их будет при данных настройках 271:



Снова жмем на ОК - мы возвращаемся в исходное окно модуля Neural Net: цель выбрана, факторы - тоже, мы можем приступать к прогнозированию.

Шаг 4, предварительные настройки перед прогнозированием:

Перейдите на вкладку View:



Здесь: 1 - выставьте фактор сглаживания прогнозной линии (Smooth projection line) на 4-5 единиц, 2 - минимальное количество задействованных факторов (Min Occurance) - на 3 единицы.

В опции Recalculate можно выставить на 1000 шагов, и также можно отметить галочкой поле Show Price Chart - помимо таргета (цели) будет виден и график котировок.


Шаг 5, прогнозирование с предварительным визуальным бэктестингом (предварительно прочтите этот пост - Что такое визуальный бэктестинг).

1 - активируйте кнопку LBC, 2 - щелкните где-нибудь по графику (можно в верхней части окна, а можно в нижней), задавая для программы горизонт будущего, чтобы прогнать инструмент через предварительный бэктестинг - убедиться, что факторы авторегрессии удовлетворительно работают с данным торговым инструментом:



После этого жмем на кнопку Training на вкладке NN, и программа начинает работать:



После одной-двух эпох тренировки нейросети будет вырисовываться картинка вроде этого:



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

Проведите обязательно процедуру бэктестинга раз 6-7, устанавливая LBC в разных местах графика. Важно! Перед каждым бэктестингом обязательно обнуляйте результаты предыдущего тестирования, для этого нужно нажать на кнопку Randomize:



Если все нормально, результат бэктестинга вас удовлетворил, можно приступать к финальному прогнозу. Для этого нажмите вот эту кнопку, LBC выставится на последнем загруженном баре, что означает готовность к финальному прогнозу:



Важные моменты

- сколько нужно тренировать нейросеть? Достаточно будет 8-10 эпох. 1 эпоха - 1000 шагов. Останавливайте ее вручную - жмите на Stop.

- горизонт прогноза в этой технике небольшой - дней 10. Горизонт достоверного прогноза указан здесь, серый прямоугольник под графиком:



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

- обращайте внимание на этот процент совпадения красной линии с таргетом в той зоне, где программа обучается (т.е с прошлым для программы). Если цифра ниже 60% - это не очень хорошо, вероятно, и прогноз будет не очень: программа испытывает затруднения, работая с загруженными на вход факторами. Если больше 90% - это плохо, указывает на перетренировку (Читайте об этом здесь - Что такое эффект перетренированности сети в нейропрогнозе?). Хороший процент - от 60% до 85%.

Но так или иначе, главное - визуальный бэктестинг, проведенный 6-7-10 раз. Его результаты - ключевые для принятия решения, стоит ли работать с данным финансовым инструментом.



Самый интересный для нас фактор в данной таблице - это нелинейная нейросеть (NN Rel. Osc). Но на линейную модель тоже можно обращать внимание, как на дополнительный фактор. Включается ее отображение на графике на вкладке View (синяя линия прогноза - линейная модель, красная линия прогноза - стандартная нейросетевая нелинейная модель):




Читайте также:

Прогноз без головняков: вэйвлет-анализ в модуле Wavelet Cycle Hunter

Tags: [Нейросетевой анализ в Timing Solution], [Нечеткая логика в Timing Solution], [бэктестинг в Timing Solution], [модуль Neural Net]
Subscribe

Posts from This Journal “[Нейросетевой анализ в Timing Solution]” Tag

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 0 comments