УДК 336.761.533 UDC 336.761.533
РАСПОЗНАВАНИЕ ФИГУР ТЕХНИЧЕСКОГО RECOGNITION OF FIGURES OF THE АНАЛИЗА С ПОМОЩЬЮ НЕЙРОННЫХ СЕТЕЙ
Шумков Евгений Александрович к.т.н.
Ботин Валерий Александрович
Карлов Дмитрий Николаевич
Кубанский Государственный Технологический Университет, Краснодар, Россия
В статье предложен подход к решению задачи распознавания фигур технического анализа с использованием искусственных нейронных сетей.
Также рассмотрена задача прогнозирования дальнейшего движения временного ряда
Ключевые слова: МНОГОСЛОЙНЫЙ ПЕРСЕПТРОН, ФОРЕКС, РАСПОЗНАВАНИЕ,
ТЕХНИЧЕСКИЙ АНАЛИЗ, ОБУЧЕНИЯ БЕЗ УЧИТЕЛЯ
Одним из наиболее популярных методов анализа финансовых временных рядов, как фондового, так и валютного рынков, является технический анализ, который можно разделить на две составляющие -технические индикаторы и фигуры технического анализа. В данной статье рассмотрим только фигуры технического анализа (далее ТА). Базовыми и наиболее распространенными фигурами ТА являются: нисходящий и восходящий треугольник, треугольник, нисходящий и восходящий каналы, нисходящий и восходящий клин, прямоугольник, голова и плечи, перевернутые голова и плечи, тройная вершина, тройное дно, флаг, вымпел, двойная вершина, двойное дно. Некоторые из данных фигур представлены на Рисунке 1. Также существуют и другие, менее распространенные фигуры ТА, например, «бриллиант» и другие [1]. Важность определения фигуры ТА состоит в том, что при окончании формирования фигуры обычно происходит либо прорыв уровня, либо цена остается в определенном канале, в зависимости от сформировавшейся фигуры. При построении механической торговой системы важными
TECHNICAL ANALYSIS BY MEANS OF NEURAL NETWORKS
Shumkov Eugene Alexandrovich Сand.Tech.Sci.
Botin Valery Alexandrovich
Karlov Dmitry Nikolaevich
Kuban State Technological University, Krasnodar, Russia
In this article, the approach to the decision of a problem of recognition of figures of the technical analysis with use of artificial neural networks is offered. Also, the problem of forecasting of the further movement of time series is considered
Keywords: MULTILAYERED PERCEPTRON, FOREX, RECOGNITION, TECHNICAL ANALYSIS, UNSUPERVISED LEARNING
являются те фигуры, которые совершают прорыв уровня, например фигуры «флаг» или «вымпел». Основная трудность при использовании методики фигур ТА является собственно их интерпретация на графике котировок. Один специалист может увидеть формирующийся нисходящий канал, другой в этот же момент времени интерпретирует нисходящий треугольник. Также отметим, что финансовые временные ряды имеют фрактальную природу [1] и на одном таймфрейме1 может формироваться фигура «флаг», а на другом, например следующем по старшинству таймфреме, может в этот же момент формироваться фигура «голова -плечи» и т.д. По сути, в каждый момент времени на рынке существует множество фигур с различными горизонтами. Существует большое количество специальной литературы и ресурсов в сети Интернет, которые излагают принципы определения фигур, при этом методы в них могут сильно отличаться, внося серьезную путаницу. Также существует большое количество программного обеспечения для помощи игрокам и в сети Интернет можно найти много отдельных скриптов для торговых терминалов, определяющих фигуры. Из отдельного программного обеспечения выделим: «Autochartist», «Wave 59» и «Elwave».
При этом отдельно укажем на следующий момент - важно определять фигуру ТА в процессе ее формирования, а не после того, как она сформировалась и временной ряд начал «рисовать» новую фигуру. То есть, по сути, прогнозировать, какая фигура формируется или какая фигура будет после.
1 Таймфрейм (англ. time - frame) - интервал времени, используемый для группировки котировок при построении элементов ценового графика (бары, японские свечи). Взято с http ://ru.wikipedia. org
У\д
Прямоугольник
7™^ 7^
Тройная вершина Двойная вершина
Рисунок 1. Фигуры технического анализа
Существует целая теория распознавания изображений (образов), являющаяся разделом кибернетики. Выделим следующие методы распознавания: распознавание методом потенциальных функций, метод множества эталонов, статистические, метод вычисления оценок, на основе исчисления высказываний, нейросетевой. Отметим нечеткозначные модели обработки графической информации в работе [3].
Для удаления субъективизма при определении фигур ТА в данной работе предлагается использовать нейронные сети. Нейронные сети в рассматриваемой задаче могут дать преимущество в связи с тем, что они:
• имеют аффинную инвариантность к представляемым данным, в частности к масштабу, углам, смещениям фигур ТА. Эти «некоторые» искажения будем считать «шумом», а нейронные сети изначально предназначались для работы с зашумленными изображениями;
• для любого курса котировок существует огромное количество входных примеров, например для курса EURUSD доступная история свыше 10 лет, то есть на минутном графике это около 4 миллионов баров ! По сути, с таким объемом информации в приемлемое время могут справиться только нейронные сети; Одним из первых вопросов при использовании нейронной сети для распознавания фигур ТА является - сколько входов должно быть у сети и, что на них подавать? Другим важным моментов является выбор типа нейронной сети, ее параметров и метода обучения. Рассматриваемая проблема относится к классу задач классификации, то есть, необходимо классифицировать к какой фигуре ТА относится текущее поведение ряда.
Одним из вариантов формирования входных образов является подача на вход «свечек», то есть цен OLHC бара: Open - цена открытия бара, Low - наименьшая цена, High - наивысшая цена, Close - цена закрытия. При этом необходимо подавать «скользящее окно», то есть значения OLHC некоторого количества баров, обычно подается от 30 до 100 баров [4].
В качестве входной информации для нейронной сети также можно использовать значения распространенного технического индикатора ZigZag [2]. То есть параметры: координаты начала отрезка, окончания отрезка и угол наклона отрезка (показано на Рисунке 2). Можно использовать только высоту отрезка и угол наклона. ZigZag с одной стороны убирает небольшие выбросы на ряде котировок, который можно трактовать как «шум», с другой стороны, возможно, этот «шум» есть элемент фигуры ТА.
2 Единицей измерения таймфреймов служит «бар» - одна японская свеча. Например, на 15-ти минутном интервале измерения, один бар равен 15 минутам.
3 Здесь возникает небольшая проблема с масштабированием по оси абсцисс, то есть шкалы времени.
Рисунок 2. Технический индикатор 7і§7а§
Сравнивая два вышеприведенных способа формирования входных образов видно, что в первом случае формируется входной вектор огромной размерности, во втором случае размерность значительно меньше. К плюсам первого метода можно отнести то, что подается полная информация о рассматриваемом участке графика, к минусам - получается нейронная сеть большой размерности, что приводит к серьезным вычислительным затратам. К плюсам второго способа можно отнести то, что убирается незначительный «шум» во входных данных и относительно малую размерность сети, к минусам - технический индикатор 71§7а§ кроме «шума» убирает также некоторые значимые именно для определения фигур ТА вершины и впадины на графике. Таким образом, перед применением к поставленной задаче необходимо немного модифицировать 71§7а§. Общая схема работы показана на Рисунке 3.
Рисунок 3. Последовательность действий при обработке временного ряда
где {X} - последовательность данных баров временного ряда, {У} -результаты работы модифицированного технического индикатора 71§7а§, ^ - одна (или несколько распознанная) нейронной сетью (или
несколькими нейронными сетями) фигура.
Покажем распределения отрезков (для ОБРИБЭ, минутный интервал) - то есть {угол; высота}, найденных с помощью
модифицированного ТА 71§7а§ (Рисунок 4).
Разпределение по уникальным отрезкам
250 -|
200 ---------------------------------------------------------------
О
ш
Номер типа отрезка
Рисунок 4. Распределение уникальных отрезков
Всего за годичный интервал найдено 43758 отрезков. Каждый отрезок характеризуется двумя параметрами - высота и угол. При этом высота в экспериментах округлялась до 4 знаков после запятой, а угол - до целого значения. В данном распределении учитывались, как отрезки направленные вверх, так и вниз. Найдено 2463 уникальных отрезка, то есть не совпадающих и по высоте и по углу. Таким образом, видно, что есть большое количество отрезков, в том числе и совпадающих, но для какой -
либо классификации их слишком много. Распределения для распространенных пар валют БИЯШВ, БИЯОБР, АИОШБ и ШБХРУ суть те же.
В рассматриваемой задаче можно выделить два пути решения. Первый - определение, какая фигура ТА в данный момент формируется или сформировалась. Назовем этот путь «Задача 1». Второй -прогнозирование дальнейшего поведения ряда («Задача 2»). Рассмотрим задачи раздельно.
Задача 1.
Рассмотрим вопрос выбора парадигмы обучения нейронной сети для Задачи 1 - с учителем или без учителя. В случае обучения с учителем необходимо перед обучением сформировать эталонные выходные образцы. Но трейдеру сформировать эталонный образец фигуры, например, «флага» очень сложно, так как формируемые временными рядами фигуры различны по масштабу, имеют искажения (наклон, растяжение по осям) и «шум». Поэтому желательно предоставить этот процесс нейронной сети обучающейся без учителя, которая сама классифицирует поданные ей участки временного ряда на фигуры. Затем по получившимся выходам трейдер сам расставляет, какой выход, за какую фигуру отвечает. При этом вполне естественно, что нейронная сеть определит новые фигуры, отличные от стандартных «учебных». Таким образом, для экспериментов был выбран стандартный многослойный персептрон обучающийся без учителя по алгоритму Хебба.
Есть еще один важный момент - неизвестно, сколько отрезков подавать на вход нейронной сети. Можно высчитать среднее количество отрезков формирующих фигуры, но это будет неправильным путем. Авторы предлагают использовать конгломерат нейронных сетей, в связи с тем, что заранее не известно, сколько отрезков формируют ту или иную фигуру. Общая схема разработанной системы представлена на Рисунке 5.
{V}
Ал/
<
* * НС ► >
* * на 4 отрезка ►-
► НС
на 5 отрезков
>
•
•
•
► НС
• * ►
♦ * » на К отрезков ►
I
н
ф
"О
Р‘ •
"О «
со ь.
—1 Р1
ш
н
о
"О
F^
V
Рисунок 5. Конгломерат нейронных сетей для распознавания фигур ТА
Как видно из Рисунка 5, система распознавания состоит из (К - 3) блоков нейронных сетей обучающихся без учителя и интерпретатора, который выбирает п фигур с наибольшей вероятностью. Блоки принципиально различаются тем, что у них разное количество входов. При обучении без учителя есть вариативный параметр - количество выходов, то есть на сколько классов разбивать входные примеры. Так как в данном случае мы не можем априори определить, на сколько классов разбивать входные примеры, то был применен принцип конкуренции нейронных сетей. Данный принцип заключается в том, что запускается несколько нейронных сетей для каждого блока, с разным количеством выходов. Количество выходов варьировалось от 4 до 10 штук. При этом возник вопрос - как трактовать выходы нейронной сети, в случае использования тангенсоиды4 в нейронах выходного слоя, который был решен, как показано в Таблице 1.
Для однозначной трактовки выходов в качестве функции активации можно было бы использовать «жесткую ступеньку», но такая функция активации сильно ограничивает емкость сети и приводит к задаче модификации метода обучения.
Таблица 1 - Трактовка выходов нейронной сети (для 2 выходных
нейронов5)
Знак выхода Знак выхода Класс
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
5 Для большего количества выходов аналогично. http://ej.kubagro.ru/2011/01/pdf/25.pdf
То есть мы видим, что увеличение информации не ведет к улучшению качества прогнозирования.
Результаты работ систем для обеих задач можно объединить, то есть система для Задачи 1 выдает какая фигура, а система для Задачи 2 выдает направление и параметры прорыва, если он прогнозируется.
Таким образом, экспериментальным путем выявлено, что нейронные сети можно применять для распознавания фигур технического анализа, а также для прогнозирования дальнейшего движения временного ряда.
Литература:
1. Акелис С. Технический анализ от А до Я. Финанс - Инвест. Электронный учебник. 1999.
2. Колби Р. Энциклопедия технических индикаторов рынка. Пер. с англ. - 2-е изд. М.: «Альпина Бизнес Букс», 2004. 837 с.
3. Леонов Е. А. Принятие решений на основе нечеткозначных моделей и алгоритмов обработки графических данных в технологии машинного обучения. Автореферат канд. техн. наук. МИСИС (ТУ). 2008. 26 с.
4. Плеханов Л., Плеханов С. Нейронные сети как инструмент распознавания фигур. Рынок ценных бумаг. №3 - 2005. с. 68-72.
5. Рутковская Д., Пилиньский М.. Рутковский Л. «Нейронные сети,
генетические алгоритмы и нечеткие системы». Пер. с польск., И.Д. Рудинского. М.: Горячая линия - Телеком, 2006. 452 с.