.
Генетический алгоритм. Шаг 19. Определение направления тренда.
Автор megabax   
15.10.2011 г.
New Page 1

Генетический алгоритм. Шаг 19. Определение направления тренда.

Все статьи по данной теме.

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

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

Генетический алгоритм. Шаг 19. Определение направления тренда.

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

Генетический алгоритм. Шаг 19. Определение направления тренда.

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

Генетический алгоритм. Шаг 19. Определение направления тренда.

На верхнем графике синяя линия - это close котировок Газпрома, красная - 30-дневная скользящая средняя, на нижнем графике сигнал персептрона: +1 - тренд вверх, -1 - вниз, 0 - тренда нет.

Для наглядности так же привожу кусок графика в увеличенном виде:

Генетический алгоритм. Шаг 19. Определение направления тренда.

И в заключении описания 19-ого шага, некоторые идеи, касающиеся обучения нейронной сети.

  • Менять периоды скользящих средних.

  • Менять весовые коэффициенты, в том числе с использованием генетическое алгоритма.

  • Менять параметры трендового персептрона (пороговые значения, и коэффициенты на входах).

Немного подробнее про генетический алгоритм. Изначально я предполагал, что ГА я буду использовать исключительно для отбора роботов по результатам их работу. Но, найдя в Интернете интересный материал, решил, что генетический алгоритм можно использовать и для обучения нейросети, внутри алгоритма самого робота, а не только во вне, как я думал вначале. Кстати, идя использования генетического алгоритма для обучения не нова: в Метатрейдере уже используется ГА для оптимизации параметров торговой стратегии.

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


Использованные в данной статье скриншоты, являются цитатами и иллюстрациями  в соответствии  программного продукта "Quik", авторское право на который принадлежит "ARQA Technologies"

 

Все статьи по данной теме.

Последнее обновление ( 15.10.2011 г. )