Программирование - это просто
Advertisement
Главная arrow Уроки программирования arrow Генетический алгоритм (экспериментальный проект) arrow Генетический алгоритм. Шаг 19. Определение направления тренда.
01.03.2024 г.
Главное меню
Главная
Интернет магазин
Программные продукты
Биржевые роботы
Искусственный интеллект
Математика и информатика
1С:Предприятие
Уроки C#
Уроки Delphi
Уроки программирования
Web-программирование
Дизайн и графика
Компьютер для блондинок
Исходники
Статьи
Платный раздел
Рассказы про компьютеры
Хитрости и секреты
Системный подход
Размышления
Наука для чайников
Друзья сайта
Excel-это не сложно
Все о финансах
.
Генетический алгоритм. Шаг 19. Определение направления тренда. Печать E-mail
Автор 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 г. )
 
« След.   Пред. »
 
© 2024 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги