Распознавание фигур технического анализа с помощью нейронных сетей
Анализ вопросов использования нейронной сети для распознавания фигур технического анализа. Сравнение способов формирования входных образов. Конгломерат нейронных сетей для распознавания фигур технического анализа. Трактовка выходов нейронной сети.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 27.04.2017 |
Размер файла | 126,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Кубанский Государственный Технологический Университет, Краснодар, Россия
РАСПОЗНАВАНИЕ ФИГУР ТЕХНИЧЕСКОГО АНАЛИЗА С ПОМОЩЬЮ НЕЙРОННЫХ СЕТЕЙ
Шумков Евгений Александрович к.т.н.
Ботин Валерий Александрович
Карлов Дмитрий Николаевич
В статье предложен подход к решению задачи распознавания фигур технического анализа с использованием искусственных нейронных сетей. Также рассмотрена задача прогнозирования дальнейшего движения временного ряда
Ключевые слова: МНОГОСЛОЙНЫЙ ПЕРСЕПТРОН, ФОРЕКС, РАСПОЗНАВАНИЕ, ТЕХНИЧЕСКИЙ АНАЛИЗ, ОБУЧЕНИЯ БЕЗ УЧИТЕЛЯ
Одним из наиболее популярных методов анализа финансовых временных рядов, как фондового, так и валютного рынков, является технический анализ, который можно разделить на две составляющие - технические индикаторы и фигуры технического анализа. В данной статье рассмотрим только фигуры технического анализа (далее ТА). Базовыми и наиболее распространенными фигурами ТА являются: нисходящий и восходящий треугольник, треугольник, нисходящий и восходящий каналы, нисходящий и восходящий клин, прямоугольник, голова и плечи, перевернутые голова и плечи, тройная вершина, тройное дно, флаг, вымпел, двойная вершина, двойное дно. Некоторые из данных фигур представлены на Рисунке 1. Также существуют и другие, менее распространенные фигуры ТА, например, «бриллиант» и другие [1]. Важность определения фигуры ТА состоит в том, что при окончании формирования фигуры обычно происходит либо прорыв уровня, либо цена остается в определенном канале, в зависимости от сформировавшейся фигуры. При построении механической торговой системы важными являются те фигуры, которые совершают прорыв уровня, например фигуры «флаг» или «вымпел». Основная трудность при использовании методики фигур ТА является собственно их интерпретация на графике котировок. Один специалист может увидеть формирующийся нисходящий канал, другой в этот же момент времени интерпретирует нисходящий треугольник. Также отметим, что финансовые временные ряды имеют фрактальную природу [1] и на одном таймфрейме может формироваться фигура «флаг», а на другом, например следующем по старшинству таймфреме, может в этот же момент формироваться фигура «голова - плечи» и т.д. По сути, в каждый момент времени на рынке существует множество фигур с различными горизонтами. Существует большое количество специальной литературы и ресурсов в сети Интернет, которые излагают принципы определения фигур, при этом методы в них могут сильно отличаться, внося серьезную путаницу. Также существует большое количество программного обеспечения для помощи игрокам и в сети Интернет можно найти много отдельных скриптов для торговых терминалов, определяющих фигуры. Из отдельного программного обеспечения выделим: «Autochartist», «Wave 59» и «Elwave».
При этом отдельно укажем на следующий момент - важно определять фигуру ТА в процессе ее формирования, а не после того, как она сформировалась и временной ряд начал «рисовать» новую фигуру. То есть, по сути, прогнозировать, какая фигура формируется или какая фигура будет после.
Рисунок 1 Фигуры технического анализа
Существует целая теория распознавания изображений (образов), являющаяся разделом кибернетики. Выделим следующие методы распознавания: распознавание методом потенциальных функций, метод множества эталонов, статистические, метод вычисления оценок, на основе исчисления высказываний, нейросетевой. Отметим нечеткозначные модели обработки графической информации в работе [3].
Для удаления субъективизма при определении фигур ТА в данной работе предлагается использовать нейронные сети. Нейронные сети в рассматриваемой задаче могут дать преимущество в связи с тем, что они:
· имеют аффинную инвариантность к представляемым данным, в частности к масштабу, углам, смещениям фигур ТА. Эти «некоторые» искажения будем считать «шумом», а нейронные сети изначально предназначались для работы с зашумленными изображениями;
· для любого курса котировок существует огромное количество входных примеров, например для курса EURUSD доступная история свыше 10 лет, то есть на минутном графике это около 4 миллионов баров Единицей измерения таймфреймов служит «бар» - одна японская свеча. Например, на 15-ти минутном интервале измерения, один бар равен 15 минутам.! По сути, с таким объемом информации в приемлемое время могут справиться только нейронные сети;
Одним из первых вопросов при использовании нейронной сети для распознавания фигур ТА является - сколько входов должно быть у сети и, что на них подавать? Другим важным моментов является выбор типа нейронной сети, ее параметров и метода обучения. Рассматриваемая проблема относится к классу задач классификации, то есть, необходимо классифицировать к какой фигуре ТА относится текущее поведение ряда.
Одним из вариантов формирования входных образов является подача на вход «свечек», то есть цен OLHC бара: Open - цена открытия бара, Low - наименьшая цена, High - наивысшая цена, Close - цена закрытия. При этом необходимо подавать «скользящее окно», то есть значения OLHC некоторого количества баров, обычно подается от 30 до 100 баров [4].
В качестве входной информации для нейронной сети также можно использовать значения распространенного технического индикатора ZigZag [2]. То есть параметры: координаты начала отрезка, окончания отрезка и угол наклона отрезка Здесь возникает небольшая проблема с масштабированием по оси абсцисс, то есть шкалы времени. (показано на Рисунке 2). Можно использовать только высоту отрезка и угол наклона. ZigZag с одной стороны убирает небольшие выбросы на ряде котировок, который можно трактовать как «шум», с другой стороны, возможно, этот «шум» есть элемент фигуры ТА.
Рисунок 2 Технический индикатор ZigZag
Сравнивая два вышеприведенных способа формирования входных образов видно, что в первом случае формируется входной вектор огромной размерности, во втором случае размерность значительно меньше. К плюсам первого метода можно отнести то, что подается полная информация о рассматриваемом участке графика, к минусам - получается нейронная сеть большой размерности, что приводит к серьезным вычислительным затратам. К плюсам второго способа можно отнести то, что убирается незначительный «шум» во входных данных и относительно малую размерность сети, к минусам - технический индикатор ZigZag кроме «шума» убирает также некоторые значимые именно для определения фигур ТА вершины и впадины на графике. Таким образом, перед применением к поставленной задаче необходимо немного модифицировать ZigZag. Общая схема работы показана на Рисунке 3.
Рисунок 3 Последовательность действий при обработке временного ряда
где - последовательность данных баров временного ряда, - результаты работы модифицированного технического индикатора ZigZag, - одна (или несколько распознанная) нейронной сетью (или несколькими нейронными сетями) фигура.
Покажем распределения отрезков (для GBPUSD, минутный интервал) - то есть {угол; высота}, найденных с помощью модифицированного ТА ZigZag (Рисунок 4).
Рисунок 4 Распределение уникальных отрезков
Всего за годичный интервал найдено 43758 отрезков. Каждый отрезок характеризуется двумя параметрами - высота и угол. При этом высота в экспериментах округлялась до 4 знаков после запятой, а угол - до целого значения. В данном распределении учитывались, как отрезки направленные вверх, так и вниз. Найдено 2463 уникальных отрезка, то есть не совпадающих и по высоте и по углу. Таким образом, видно, что есть большое количество отрезков, в том числе и совпадающих, но для какой - либо классификации их слишком много. Распределения для распространенных пар валют EURUSD, EURGBP, AUDUSD и USDJPY суть те же.
В рассматриваемой задаче можно выделить два пути решения. Первый - определение, какая фигура ТА в данный момент формируется или сформировалась. Назовем этот путь «Задача 1». Второй - прогнозирование дальнейшего поведения ряда («Задача 2»). Рассмотрим задачи раздельно.
Задача 1.
Рассмотрим вопрос выбора парадигмы обучения нейронной сети для Задачи 1 - с учителем или без учителя. В случае обучения с учителем необходимо перед обучением сформировать эталонные выходные образцы. Но трейдеру сформировать эталонный образец фигуры, например, «флага» очень сложно, так как формируемые временными рядами фигуры различны по масштабу, имеют искажения (наклон, растяжение по осям) и «шум». Поэтому желательно предоставить этот процесс нейронной сети обучающейся без учителя, которая сама классифицирует поданные ей участки временного ряда на фигуры. Затем по получившимся выходам трейдер сам расставляет, какой выход, за какую фигуру отвечает. При этом вполне естественно, что нейронная сеть определит новые фигуры, отличные от стандартных «учебных». Таким образом, для экспериментов был выбран стандартный многослойный персептрон обучающийся без учителя по алгоритму Хебба.
Есть еще один важный момент - неизвестно, сколько отрезков подавать на вход нейронной сети. Можно высчитать среднее количество отрезков формирующих фигуры, но это будет неправильным путем. Авторы предлагают использовать конгломерат нейронных сетей, в связи с тем, что заранее не известно, сколько отрезков формируют ту или иную фигуру. Общая схема разработанной системы представлена на Рисунке 5.
Рисунок 5 Конгломерат нейронных сетей для распознавания фигур ТА
Как видно из Рисунка 5, система распознавания состоит из блоков нейронных сетей обучающихся без учителя и интерпретатора, который выбирает фигур с наибольшей вероятностью. Блоки принципиально различаются тем, что у них разное количество входов. При обучении без учителя есть вариативный параметр - количество выходов, то есть на сколько классов разбивать входные примеры. Так как в данном случае мы не можем априори определить, на сколько классов разбивать входные примеры, то был применен принцип конкуренции нейронных сетей. Данный принцип заключается в том, что запускается несколько нейронных сетей для каждого блока, с разным количеством выходов. Количество выходов варьировалось от 4 до 10 штук. При этом возник вопрос - как трактовать выходы нейронной сети, в случае использования тангенсоиды Для однозначной трактовки выходов в качестве функции активации можно было бы использовать «жесткую ступеньку», но такая функция активации сильно ограничивает емкость сети и приводит к задаче модификации метода обучения. в нейронах выходного слоя, который был решен, как показано в Таблице 1.
нейронный сеть распознавание фигура
Таблица 1
Трактовка выходов нейронной сети (для 2 выходных нейронов Для большего количества выходов аналогично.)
Знак выхода 1-го нейрона |
Знак выхода 2-го нейрона |
Класс объекта |
|
> 0 |
> 0 |
1 - я |
|
> 0 |
? 0 |
2 - я |
|
? 0 |
> 0 |
3 - я |
|
? 0 |
? 0 |
4 - я |
После обучения каждой нейронной сети выбиралась наиболее адекватная. Адекватность оценивалась по количеству распознанных валидационных примеров с точностью выше 80% относительно среднего в данной классификации. Наилучшие результаты показали нейронные сети с 8 и 10 входами с 5 и 6 выходами, то есть на 4 и 5 входных отрезков, разбивавших входные примеры на 5 и 6 классов.
Задача 2.
Для второй задачи разумно в качестве нейросетевого ядра выбрать многослойный персептрон с обучением по методу обратного распространения ошибки [5]. Данный тип нейронной сети хорошо зарекомендовал себя в задачах прогнозирования. На входы нейронной сети подаются параметры нескольких последовательно идущих отрезков. На выходе параметры следующего отрезка (то есть 2 выхода). Результаты работы сети представлены в Таблице 2.
Таблица 2
Результаты прогнозирования следующего отрезка
Количество отрезков подаваемых на вход |
Правильно угаданных направлений углов (%) |
Ср. точность прогнозирования углов (%) |
Ср. точность прогнозирования высоты (%) |
|
4 |
78 |
72 |
86 |
|
5 |
81 |
69 |
79 |
|
6 |
79 |
71 |
81 |
|
7 |
78 |
71 |
70 |
|
8 |
64 |
62 |
64 |
|
9 |
65 |
63 |
61 |
То есть мы видим, что увеличение информации не ведет к улучшению качества прогнозирования.
Результаты работ систем для обеих задач можно объединить, то есть система для Задачи 1 выдает какая фигура, а система для Задачи 2 выдает направление и параметры прорыва, если он прогнозируется.
Таким образом, экспериментальным путем выявлено, что нейронные сети можно применять для распознавания фигур технического анализа, а также для прогнозирования дальнейшего движения временного ряда.
Литература
1. Акелис С. Технический анализ от А до Я. Финанс - Инвест. Электронный учебник. 1999.
2. Колби Р. Энциклопедия технических индикаторов рынка. Пер. с англ. 2-е изд. М.: «Альпина Бизнес Букс», 2004. 837 с.
3. Леонов Е. А. Принятие решений на основе нечеткозначных моделей и алгоритмов обработки графических данных в технологии машинного обучения. Автореферат канд. техн. наук. МИСИС (ТУ). 2008. 26 с.
4. Плеханов Л., Плеханов С. Нейронные сети как инструмент распознавания фигур. Рынок ценных бумаг. №3. 2005. с. 68-72.
5. Рутковская Д., Пилиньский М.. Рутковский Л. «Нейронные сети, генетические алгоритмы и нечеткие системы». Пер. с польск., И.Д. Рудинского. М.: Горячая линия. Телеком, 2006. 452 с.
Размещено на Allbest.ru
...Подобные документы
Описание структурной схемы искусственного нейрона. Характеристика искусственной нейронной сети как математической модели и устройств параллельных вычислений на основе микропроцессоров. Применение нейронной сети для распознавания образов и сжатия данных.
презентация [387,5 K], добавлен 11.12.2015Принципы и система распознавание образов. Программное средство и пользовательский интерфейс. Теория нейронных сетей. Тривиальный алгоритм распознавания. Нейронные сети высокого порядка. Подготовка и нормализация данных. Самоорганизующиеся сети Кохонена.
курсовая работа [2,6 M], добавлен 29.04.2009Создание программного средства, осуществляющего распознавание зрительных образов на базе искусственных нейронных сетей. Методы, использующиеся для распознавания образов. Пандемониум Селфриджа. Персептрон Розенблатта. Правило формирования цепного кода.
дипломная работа [554,8 K], добавлен 06.04.2014Прогнозирование на фондовом рынке с помощью нейронных сетей. Описание типа нейронной сети. Определение входных данных и их обработка. Архитектура нейронной сети. Точность результата. Моделирование торговли. Нейронная сеть прямого распространения сигнала.
дипломная работа [2,7 M], добавлен 18.02.2017Первое систематическое изучение искусственных нейронных сетей. Описание элементарного перцептрона. Программная реализация модели распознавания графических образов на основе перцептрона. Интерфейс программы, основные окна. Составление алгоритма приложения.
реферат [100,5 K], добавлен 18.01.2014Выбор типа и структуры нейронной сети. Подбор метода распознавания, структурная схема сети Хопфилда. Обучение системы распознавания образов. Особенности работы с программой, ее достоинства и недостатки. Описание интерфейса пользователя и экранных форм.
курсовая работа [3,0 M], добавлен 14.11.2013Понятие искусственного нейрона и искусственных нейронных сетей. Сущность процесса обучения нейронной сети и аппроксимации функции. Смысл алгоритма обучения с учителем. Построение и обучение нейронной сети для аппроксимации функции в среде Matlab.
лабораторная работа [1,1 M], добавлен 05.10.2010Разработка алгоритма и программы для распознавания пола по фотографии с использованием искусственной нейронной сети. Создание алгоритмов: математического, работы с приложением, установки весов, реализации функции активации и обучения нейронной сети.
курсовая работа [1,0 M], добавлен 05.01.2013Общие сведения о принципах построения нейронных сетей. Искусственные нейронные системы. Математическая модель нейрона. Классификация нейронных сетей. Правила обучения Хэбба, Розенблатта и Видроу-Хоффа. Алгоритм обратного распространения ошибки.
дипломная работа [814,6 K], добавлен 29.09.2014Искусственные нейронные сети как одна из широко известных и используемых моделей машинного обучения. Знакомство с особенностями разработки системы распознавания изображений на основе аппарата искусственных нейронных сетей. Анализ типов машинного обучения.
дипломная работа [1,8 M], добавлен 08.02.2017Математическая модель нейронной сети. Однослойный и многослойный персептрон, рекуррентные сети. Обучение нейронных сетей с учителем и без него. Алгоритм обратного распространения ошибки. Подготовка данных, схема системы сети с динамическим объектом.
дипломная работа [2,6 M], добавлен 23.09.2013Математическая модель искусственной нейронной сети. Структура многослойного персептрона. Обучение без учителя, методом соревнования. Правило коррекции по ошибке. Метод Хэбба. Генетический алгоритм. Применение нейронных сетей для синтеза регуляторов.
дипломная работа [1,5 M], добавлен 17.09.2013Математические модели, построенные по принципу организации и функционирования биологических нейронных сетей, их программные или аппаратные реализации. Разработка нейронной сети типа "многослойный персептрон" для прогнозирования выбора токарного станка.
курсовая работа [549,7 K], добавлен 03.03.2015Преимущества нейронных сетей. Модели нейронов, представляющих собой единицу обработки информации в нейронной сети. Ее представление с помощью направленных графов. Понятие обратной связи (feedback). Основная задача и значение искусственного интеллекта.
реферат [1,2 M], добавлен 24.05.2015Классификация группы входящих пакетов, поступающих на одну из рабочих станций в ЛВС. Описание хакерских атак. Построение интеллектуальной системы анализа входящего трафика по классам опасности на использовании нейронной сети конкурирующего типа.
курсовая работа [286,8 K], добавлен 27.10.2010Обзор программных продуктов для анализа изображений: ABBYY FineReader и OCR CuneiForm. Понятие и виды нейронных сетей. Алгоритм обучения персептрона. Результаты исследований и описание интерфейса программы. Расчет себестоимости программного обеспечения.
дипломная работа [590,7 K], добавлен 17.08.2011Анализ существующих алгоритмов распознавания режимов работы газотурбинного двигателя. Метод группового учета аргументов, метод Байеса. Применение технологий системного моделирования на этапе проектирования интеллектуальной системы распознавания режимов.
курсовая работа [1,4 M], добавлен 11.04.2012Прогнозирование валютных курсов с использованием искусственной нейронной сети. Общая характеристика среды программирования Delphi 7. Существующие методы прогнозирования. Характеристика нечетких нейронных сетей. Инструкция по работе с программой.
курсовая работа [2,2 M], добавлен 12.11.2010Технологии решения задач с использованием нейронных сетей в пакетах расширения Neural Networks Toolbox и Simulink. Создание этого вида сети, анализ сценария формирования и степени достоверности результатов вычислений на тестовом массиве входных векторов.
лабораторная работа [352,2 K], добавлен 20.05.2013Нейронные сети как средство анализа процесса продаж мобильных телефонов. Автоматизированные решения на основе технологии нейронных сетей. Разработка программы прогнозирования оптово-розничных продаж мобильных телефонов на основе нейронных сетей.
дипломная работа [4,6 M], добавлен 22.09.2011