Прогнозирование финансовых рынков с использованием искусственных нейронных сетей

Автор: Пользователь скрыл имя, 24 Апреля 2013 в 18:42, дипломная работа

Краткое описание

Целью данной работы является изучение опыта специалистов в области прогнозирования финансовых рынков с использованием искусственных нейросетей, а также разработка собственных подходов к прогнозированию рынка FOREX и проектированию торговых систем, пригодных для использования в торговом зале.
Для достижения поставленной цели в дипломной работе решаются следующие задачи:
а) проведение обзора специализированной литературы, ресурсов глобальной сети Интернет, а также рынка программных средств, реализующих нейросетевые принципы для решения задач прогнозирования;
б) постановка и выполнение оптов с целью определения этапов процесса решения задачи прогнозирования, которые нуждаются в автоматизации; сделать выводы по результатам опытов

Оглавление

ВВЕДЕНИЕ 7
1. ПРОГНОЗИРОВАНИЕ ФИНАНСОВЫХ РЫНКОВ 10
1.1. СОВРЕМЕННЫЕ ФИНАНСОВЫЕ РЫНКИ. МЕЖДУНАРОДНЫЙ ВАЛЮТНЫЙ РЫНОК FOREX 10
1.2. ПРОГНОЗИРОВАНИЕ ФИНАНСОВЫХ РЫНКОВ 12
1.2.1. Прогноз и цели его использования 12
1.2.2. Основные понятия и определения проблемы прогнозирования 13
1.2.3. Методы прогнозирования финансовых рынков 17
1.2.4. Использование систем с искусственной «памятью» для решения задач прогнозирования 22
1.3. ИСКУССТВЕННЫЕ НЕЙРОННЫЕ СЕТИ 24
1.3.1. Биологические нейронные сети 24
1.3.2. Математическая модель нейрона, искусственные нейросети 26
1.3.3. Основополагающие принципы нейровычислений 29
1.3.4. Обучение искусственных нейронных сетей 31
1.3.5. Задача прогнозирования с использованием технологии нейровычислений 33
1.4. ОБЗОР ПРОГРАММНЫХ СРЕДСТВ, РЕАЛИЗУЮЩИХ АЛГОРИТМЫ НЕЙРОВЫЧИСЛЕНИЙ ДЛЯ РЕШЕНИЯ ЗАДАЧ ПРОГНОЗИРОВАНИЯ 35
2. ПРОГНОЗИРОВАНИЕ РЫНКА FOREX С ИСПОЛЬЗОВАНИЕМ ИСКУССТВЕННЫХ НЕЙРОСЕТЕЙ 42
2.1. ПОСТАНОВКА ЗАДАЧИ ПРОГНОЗИРОВАНИЯ ФИНАНСОВЫХ РЫНКОВ С ИСПОЛЬЗОВАНИЕМ ИСКУССТВЕННЫХ НЕЙРОСЕТЕЙ 42
2.2. ОПИСАНИЕ ТЕКУЩЕЙ РЫНОЧНОЙ СИТУАЦИИ. ПРЕДСТАВЛЕНИЕ ВХОДНЫХ ДАННЫХ 45
2.2.1. Перемасштабирование графика цены в единичный интервал 45
2.2.2. Описание рыночной ситуации при помощи приращений котировок 47
2.2.3. Обобщение значений индикаторов технического анализа 51
2.3. ПРОГНОЗИРУЕМЫЕ ВЕЛИЧИНЫ. ПРЕДСТАВЛЕНИЕ ВЫХОДНЫХ ДАННЫХ 53
2.3.1. Классификация рыночных ситуаций. Шаблон максимальной прибыли 53
2.3.2. Аппроксимация прогнозируемых величин. Сглаженный шаблон максимальной прибыли 58
2.3.3. Классификация рыночных ситуаций по достижимости значимых уровней. 61
2.2.4. Аппроксимация отношения текущего положения цены к коридору будущих цен 62
2.4. ОБУЧЕНИЕ ИСКУССТВЕННЫХ НЕЙРОСЕТЕЙ. АНАЛИЗ РЕЗУЛЬТАТОВ 63
2.4.1. Нейросетевой индикатор для прогнозирования рынка евро/доллар 63
2.4.2. Классификация рыночных ситуаций 76
2.4.3. Оценка положения текущей цены в коридоре будущих котировок 80
2.4.4. Оценка достижимости ценой значимых уровней 82
2.4.5. Прогнозирование максимального и минимального уровней цены на один период вперед 85
2.4.6. Выводы 87
2.5. КОНЦЕПТУАЛЬНАЯ СХЕМА СИСТЕМЫ ПРОГНОЗИРОВАНИЯ 89
ЗАКЛЮЧЕНИЕ 96
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 98
ПРИЛОЖЕНИЯ 102

Файлы: 1 файл

2 Прогнозирование форекса с нейронными сетями - Готовый диплом.doc

— 731.00 Кб (Скачать)

Рис. 2.7. Нейросетевой анализ «японских  свечей»

2.2.3. Обобщение значений индикаторов  технического анализа

Отрицательной чертой метода «окон» является то, что его применение ограничивает «кругозор» сети. Технический  анализ же, напротив, не фиксирует окно в прошлом, и пользуется весьма далекими значениями ряда. Например, утверждается, что максимальные и минимальные значения ряда даже в относительно далеком прошлом оказывают достаточно сильное воздействие на психологию игроков, и, следовательно, должны быть значимы для предсказания. Недостаточно широкое окно погружения в лаговое пространство не способно предоставить такую информацию, что, естественно, снижает эффективность предсказания. С другой стороны, расширение окна до таких значений, когда захватываются далекие экстремальные значения ряда, повышает размерность сети, что в свою очередь, приводит к понижению точности нейросетевого предсказания из-за разрастания размера сети. Выходом из этой, казалось бы, тупиковой ситуации являются альтернативные способы кодирования прошлого поведения ряда.

Альтернативным представлением входной  информации можно считать значения индикаторов, построенные на основе ценовой динамики. Очевидные плюсы  такого подхода:

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

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

в) выборка с индикаторами обычно достаточно мала, и, соответственно, количество входных нейронов сети не велико.

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

Как было отмечено выше, значения, подаваемые на входы ИНС, должны лежать в том  же интервале, что и у активационных  функций (сигмоидов) нейронов. Т.е. в  процессе формирования обучающей выборки  необходимо перекодировать значения индикаторов  в интервал активационных функций, используемых в опытах ИНС, в том числе и с применением функций сигмоидов [37]. Наглядно процесс подготовки множества входных данных представлен на рисунке 2.8.

Рис. 2.8. Схема формирования входных  сигналов ИНС на базе 
индикаторов технического анализа

Стоит отметить, что описанный здесь  способ представления входных данных не уступает по информативности методу «окон», но допускает такое сжатие информации, которое описывает прошлое  с избирательной точностью. Подобного  рода сжатие информации является примером извлечения из непомерно большого числа входных переменных наиболее значимых для предсказания признаков.

2.3. Прогнозируемые величины. Представление  выходных данных

2.3.1. Классификация рыночных ситуаций. Шаблон максимальной прибыли

Поскольку сети с прямой связью являются универсальным средством аппроксимации  функции, их с успехом можно использовать для решения задач классификации  [1]. Богатые возможности отображения особенно важны в тех случаях, когда на основе нескольких оценок строится высокоуровневая процедура принятия решений. Известно много приложений ИНС с прямой связью к задачам классификации. Как правило, они оказываются эффективнее других методов, потому что нейронная сеть генерирует бесконечное число нелинейных регрессионных моделей.

Задача классификации может  быть решена на сети с одним выходным нейроном, достаточно только разработать  способ кодировать k классов. При применении нейронных сетей как классификаторов при прогнозировании финансовых рынков необходимо помнить о важности выбора обучающего правила и предварительной предобработке данных. Тем не менее, необходимо подчеркнуть, что классификация рыночных ситуаций в принципе возможна [1]. Ведь технический анализ стремится предсказать, главным образом, направление изменения цены (вниз, вверх, на том же уровне), а не величину этого изменения. Рассмотрим процесс формирования обучающего правила для задачи классификации рыночных ситуаций.

Пользователям программ технического анализа, в частности программы Equis MetaStock, известна встроенная система максимальной прибыли - MAXIMUM PROFIT SYSTEM (MPS). Алгоритм моделирования торговли построен по принципу «зачислять в прибыль, что возможно», будь то движение цены в течение одного часа или последовательность направленных движений в течение нескольких часов. Но, как известно, в реальной жизни невозможно «выигрывать» каждую «свечку», особенно если торговля идет на коротких периодах, например на «часовом интервале» - слишком малые и незначительные колебания совершает курс. В несколько модифицированном виде MPS может оказаться полезной в качестве обучающего правила для прогнозирующих ИНС. Попробуем разработать MPS, которая была бы более приближена к реальным условиям торговли на рынке.

Во-первых, необходимо определить, сколько  пунктов должен содержать в себе «значимый» для торговли ход цены. Среди практикующих трейдеров «взять фигуру» (100 пунктов) при игре внутри дня (т.е. на часовом интервале) практически по любой валюте считается отличным завершением удачной сделки. Несколько меньший «выигрыш» также вполне устроит любого трейдера. Таким образом, можно говорить о присутствии определенных ориентиров, на которые нацелен трейдер в своей работе. Эти ориентиры могут появиться чисто из эмпирических соображений, однако, они могут быть вполне обоснованы статистически. Рассмотрим, например, часовую динамику евро/доллар за 1999 год, нас будут интересовать абсолютные изменения курса за 24 часа:

а) максимальное изменение курса за 24 часа = 0.0277;

б) минимальное изменение курса за 24 часа = 0.0000;

в) среднее изменение курса за 24 часа = 0.0047.

Из приведенных данных видно, что  среднее значение суточного колебания  курса евро равняется примерно 50 пунктов, т.е. на них вполне можно  рассчитывать при торговле внутри дня. С учетом рисков и комиссионных положим «значимым» для торговли ход (направленное движение рынка) в 70 пунктов. Т.е. при торговле на рынке евро/доллар нас будут интересовать ходы не менее указанной цифры. На исторических данных вполне можно выполнить разметку, в каких местах следует покупать, в каких продавать, в каких ожидать покупки или продажи. Существуют предпосылки разработки алгоритма, формирующего так называемый шаблон (карту) максимальной прибыли - MAXIMUM PROFIT PATTERN (MPP). MPP - имеет сходство с индикатором, однако рассчитывается он не по прошлым данным, а по будущим. Сигналами MPP, например, могут быть:

а.) 1 - «покупка»,

б.) 0.8 - «ожидание покупки»,

в.) 0.2 - «ожидание продажи»,

г.) 0 - «продажа».

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

На исторических данных моделирование  торговли показывает максимальную прибыль, однако у «правого края» графика  невозможно продлевать MPP, поскольку  цены будущих периодов неизвестны (задача как раз и состоит в том, чтобы их прогнозировать). Однако сигналы MPP могут оказаться полезными, например в качестве обучающего правила для ИНС.

В рассмотренных источниках встречаются  постановки задач обучения ИНС, в  которых брались заведомо неоптимальные  правила для обучения, однако, по утверждению авторов, они добивались положительных результатов. Например, некоторые исследователи в качестве обучающего правила использовали значения, рассчитанные методом пересечения скользящих средних (Crossing Moving Averages - СMA) [1], в то время как известно, что торговля по такому правило редко приносит прибыль.

Рис. 2.9. График динамики курса евро/доллар (вверху), сигналы MPP  
(внизу - синяя линия), усредненное значение MPP (внизу - красная линия).

Идея состоит в том, чтобы обучить ИНС так, что на входной образ она будет реагировать сигналом: «покупать», «продавать» или «ждать», таким образом, ИНС будет работать как классификатор рыночных ситуаций и тот факт, что в качестве обучающего правила будет использоваться MPP, дает шанс надеяться на очень хорошие результаты.

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

Исходя из этих соображений, можно  предложить следующий практический метод кодирования ординальных  переменных (см. рис. 2.10). [37]. Единичный  отрезок разбивается на n отрезков - по числу классов - с длинами пропорциональными числу примеров каждого класса в обучающей

Рис. 2.10. Иллюстрация способа кодирования  ординальных переменных с учетом количества примеров каждой категории.

выборке: Dx = Pk/P, где Pk - число примеров класса k, а P - общее число примеров. Центр каждого такого отрезка будет являться численным значением для соответствующего ординального класса.

2.3.2. Аппроксимация прогнозируемых  величин. Сглаженный шаблон максимальной  прибыли

Рассмотрим перцептрон с одним  выходным нейроном. Подавая на входы этого перцептрона любые числа x1, x2, ..., xn, получим на выходе значение некоторой функции F(x1, x2, ..., xn), которое является ответом (реакцией) сети. Очевидно, что ответ сети зависит как от входного сигнала, так и от значений ее внутренних параметров - весов нейронов.

Естествен вопрос: а может ли перцептрон реализовать достаточно сложную  функцию? Этот вопрос, по своей сущности, математический - о представимости одних функций посредством других. Ученые занимались решением этой задачи долгое время и ответ был получен сравнительно недавно - в 1989 г. В результате продолжительных исследований несколькими учеными практически одновременно была сформулирована теорема, которая на языке нейросетей звучит так: «Любую непрерывную функцию нескольких переменных можно с любой точностью реализовать с помощью обычного трехслойного перцептрона с достаточным количеством нейронов в скрытом слое». Это означает, что с помощью стандартного перцептрона в принципе возможно решать любые задачи прогнозирования и оценки, в которых существуют функциональные зависимости. Здесь указывается «в принципе», так как теорема не указывает, каким способом можно подобрать веса каждого нейрона, используя набор примеров.

Если на рынке существуют функциональные зависимости, то успех решения задачи аппроксимации, кроме всего прочего, во многом будет зависеть от выбора прогнозируемой величины - обучающего правила. Рассмотрим пример формирования величины, достоверный прогноз которой позволял бы получать максимальную прибыль при торговле на рынке.

Как показано выше, в качестве обучающего правила можно взять MPP. Однако, MPP в чистом виде содержит дискретные данные, что делает задачу достаточно сложной. Кроме того, как показывает практика, для ведения оптимальной  торговли, большую часть времени на рынке приходится ожидать возможности «войти в рынок». Построенная для такого рынка MPP будет содержать большое количество сигналов на «ожидание» покупки или продажи. При обучении по такому правилу ИНС начнет «тяготеть» к формированию на выходе тех сигналов, которые чаще встречаются в обучающем множестве. Рассмотрим ряд MPP, построенный для динамики курса евро/доллар за 1999 год (см. рис. 2.11).

Рис. 2.11. Распределение желаемых выходных значений ИНС при применении в  качестве обучающего правила «необработанного» MPP

Как показывает опыт, при прогнозировании  по графическим образам добиться от сети точных данных на выходе невозможно, попытаемся облегчить для сети задачу обучения, а именно, сгладим значения MPP 6-типериодной скользящей средней. Гистограмма распределения выходного сигнала, таким образом, примет вид, изображенный  на рисунке 2.12. Фактически график значений обучающего правила примет вид, изображенный на рисунке 2.9 (красная линия).

Особо хочется отметить тот факт, что обучающее множество желательно формировать таким образом, чтобы распределение выходных сигналов тяготело к равномерному, как показывает практика. Это позволит существенно уменьшить среднеквадратическую ошибку ИНС. В нашем случае (рис. 2.12), не смотря на некоторое приближение распределения сглаженного MPP к равномерному, распределение полученной после преобразования величины далеко до равномерного.

Рис. 2.12. Распределение значений на выходе последнего нейрона ИНС при  применении в качестве обучающего правила  сглаженного (6-типериодной скользящей средней) MPP (база - евро/доллар 1999)

Кроме того, в течении 1999 года евро больше падала в цене, следовательно  сигналов на продажу и ожидание продажи  в обучающей выборке получится  больше, чем сигналов на покупку  и ожидание покупки. Сразу можно говорить о том, что обученные по такому правилу ИНС будут «тяготеть» к сигналу «ожидание продажи». Необходимо использовать алгоритм формирования обучающей выборки, который бы позволял избегать излишнего доминирования отдельных выходных значений.

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

Информация о работе Прогнозирование финансовых рынков с использованием искусственных нейронных сетей