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

Автор: Пользователь скрыл имя, 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.3.3. Классификация рыночных ситуаций  по достижимости значимых уровней.

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

Обучающее правило для прогнозирования  достижимости значимых уровней формируется  в виде классов. Рассмотрим процесс  формирования обучающего правила для часовой динамики курса евро/доллар за 1999 год. Указанная динамика имеет следующие характеристики (за 24 часа): максимальный достигнутый верхний уровень +0.0292, средний достигнутый верхний уровень +0.0049, предельно достигнутый нижний уровень  
-0.0276, средний достигнутый нижний уровень -0.0056, т.е. в среднем за сутки цена проходит около 50 пунктов (вверх или вниз) и максимальное суточное движение цены близко к 300 пунктам (вверх или вниз). Статистически большинство значений достигнутых уровней не превосходят 80-100 пунктов. Исходя из указанных значений, можно формировать классы по достижимости ценой некоторых уровней (каждые 20 пунктов), т.е. образ попадает в первый класс, если за следующие 24 часа цена выросла/упала не более, чем на 20 пунктов, во второй класс, если цена выросла/упала более, чем на 20 пунктов, но не более, чем на 40 и т.д. Распределение количества образов по классам, при классификации по описанному принципу, представлено на рисунке 2.13.

Рис. 2.13. Распределение образов по классам при классификации по  
признаку достижимости значимых уровней (евро/доллар 1999 г.)

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

а.) для верхних уровней: x1 = 0.1125, x2 = 0.3706, x3 = 0.6162, x4 = 0.7743, x5 = 0.8635, x6 = 0.9474.

б.) для нижних уровней: x1 = 0.0810, x2 = 0.2896, x3 = 0.5229, x4 = 0.6973, x5 = 0.8126, x6 = 0.9297.

2.2.4. Аппроксимация отношения текущего  положения цены к коридору  будущих цен

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

Рассмотрим результат расчета  временного ряда, построенного по описанному правилу на основе динамики курса  евро/доллар в 1999 году при прогнозировании  на 24 часа вперед (см. рис. 2.14). Данный вид  прогнозируемой информации на выбранном коридоре обладает распределением близким к равномерному, но при условии наличия в обучающей выборке данных о периодах роста, падения и застоя прогнозируемого инструмента в равной пропорции. В 1999 году евро больше падала в цене, и на диаграмме можно заметить, что значений прогнозируемой величины, показывающих потенциал снижения цены больше (количество значений близких к максимуму).

Рис. 2.14. Распределение ожидаемых  значений при постановке задачи прогнозирования  отношения текущего положения цены к коридору будущих цен (евро/доллар 1999 г.)

2.4. Обучение искусственных нейросетей. Анализ результатов

2.4.1. Нейросетевой индикатор для  прогнозирования рынка евро/доллар

Абсолютное большинство трейдеров  при прогнозировании финансовых рынков используют технический анализ (ТА). Одним из наиболее популярных разделов ТА является анализ при помощи индикаторов. Даже если торговая система трейдера не основана на индикаторах, он все равно использует  3-5 «дежурных сигнальщиков» в своей работе. Не существует индикатора, который бы со 100% уверенностью выдавал сигналы на вход в рынок и выход из него, так как индикаторы просто представляют текущую рыночную ситуацию в удобном виде и не позволяют однозначно сказать, что будет в будущем.

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

Разработаем индикатор, которому можно  было бы доверять больше чем, например, таким популярным индикаторам как RSI или Stochastic. На способ решения задачи накладывают определенные особенности следующие условия: исследовательская деятельность, выполняемая в рамках данной работы, направлена на международный валютный рынок FOREX; стратегия торговли подразумевает торговлю на коротких периодах внутри дня.

Цель опыта: сформировать комитет  нейроэкпертов, который бы решал  задачу прогнозирования MPP, сглаженного 6-типериодной скользящей средней, построенного на основе часовой динамике курса  евро/доллар. База для формирования входной информации: часовая динамика курса евро/доллар за 1999 год. Входная информация: приращения цен закрытия за 24 часа. Выходная информация: MPP, сглаженный 6-типериодной скользящей средней.

Обучение каждой сети производилось  до тех пор, пока MSE не переставала заметно уменьшаться. MSE (Mean Squared Error) - среднеквадратическая ошибка значений, формирующихся на выходах ИНС, рассчитываемая в процессе обучения «с учителем» - один из самых распространенных критериев качества обучения нейросетей. В таблице 2.1 представлены результаты обучения 10-ти ИНС. Нейронные сети не «научились» однозначно распознать хотя бы половину образов, и, кроме того, на одном и том же обучающем множестве показали разные результаты. Особо хочется обратить внимание на то, что даже сети одинаковой конфигурации показали различные «способности» к обучению. Этот факт наглядно иллюстрирует эффект «локальных минимумов» и «первоначальной точки» при обучении методом градиентного спуска (обратного распространения ошибки).

Таблица 2.1

Характеристики нейросетей, задействованных  в эксперименте

Сеть

Конфигурация

MSE - среднеквадратическая ошибка

Процент верно распознаваемых образов (к-т допущения 0.1), %

EUR1

(24-36-1)

0.2856

30,00

EUR2

(24-40-1)

0.2915

28,53

EUR3

(24-36-1)

0.2810

28,70

EUR4

(24-49-1)

0.2620

35,04

EUR5

(24-42-1)

0.2650

34,70

EUR6

(24-24-1)

0.2824

27,93

EUR7

(24-28-1)

0.2770

29,36

EUR8

(24-47-1)

0.2680

33,70

EUR9

(24-47-1)

0.2528

36,40

EUR10

(24-48-1)

0.2600

35,12


 

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

Среднее значений комитета должно давать лучшие предсказания, чем средний эксперт из этого же комитета, причем, снижение ошибки может быть довольно заметным [37]. Поэтому, в предсказаниях всегда лучше опираться на средние значения всего комитета. В большинстве случаев выигрыш комитета выше, чем выигрыш каждого из экспертов. Таким образом, метод комитетов может существенно повысить качество прогнозирования.

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

Полученное среднее мнение комитета можно использовать для построения индикатора. Значения среднего мнения комитета, как и предполагалось выше (см. подраздел 2.3.2), тяготеет к нижней границе оптимальных значений, колеблется с малой амплитудой около своего среднего значения. Кроме того можно увидеть, что значения характеризуются шумом (испытывают резкие смены направлений), который затрудняет использование индикатора. Все вышесказанное наглядно демонстрирует график среднего мнения (синяя линия на рис. 2.15).

Рис. 2.15. Графики среднего мнения комитета нейроэкспертов (синяя линия) 
и индикатора  комитета (красная линия)

Более удобный вид индикатор  примет, если его значения перед  применением преобразовать так, чтобы они были более сглаженными  и колебались в интервале  [0;1]. Этого можно добиться путем некоторых преобразований, например: увеличением/уменьшением значения среднего мнения комитета на константу ("приподнимаем" график), растягиванием значения по направлению к краям (вычитаем 0,5, умножаем на коэффициент, прибавляем 0,5), применением функции-сигмоида, сглаживанием скользящей средней (в нашем примере 6 периодов) и т.п.

Полученный индикатор изображен  красной линией на рисунке 2.15. Интерпретировать его сигналы можно следующим  образом: при приближении индикатора к верхней границе интервала [0;1] необходимо покупать, при приближении индикатора к нижней границе интервала [0;1] необходимо продавать.

Для анализа «качества» индикатора построим точечную диаграмму результатов  теста комитета нейросетей на динамике курса евро/доллар за январь 2000 г., на которой ИНС не обучались. По оси абсцисс будем откладывать «ожидаемые» значения, а по оси ординат - соответствующие значения полученного индикатора (рис. 2.16). Синими точками на рисунке 2.16 показаны результаты прогнозирования, красными цветом отмечена ситуация, возникающая в случае 100% совпадения ожидаемых и фактических выходных значений.

Рис. 2.16. Диаграмма, отражающая качество распознавания комитетом рыночных ситуаций.

По показаниям диаграммы можно  сделать следующие выводы:

В том случае, когда значения, полученные в результате прогнозирования, совпадут с ожидаемыми, на диаграмме это будет изображено в виде точечной линии (красная линия на рисунке 2.16). Как видно из диаграммы (синие точки), значения индикатора «размазались» в результате преобразований (прогноз нейросетей, усреднение, растягивание), однако главные крайние значения собраны в «облака» в тех углах, в которых они и должны находиться для хороших прогнозов - «правый верхний» и «левый нижний».

Евро на протяжении 1999 года падала и уже на стадии формирования обучающей выборки было выдвинуто предположение о том, что нейросети с большей достоверностью научатся прогнозировать «продажу». Значения по оси абсцисс, лежащие в интервале [0;0.2], могут быть рассмотрены как потенциальные «продажные» сигналы, а в интервале [0.8;1] - как «покупочные». Облако в области потенциальных сигналов на продажу более концентрировано по оси ординат, а значит сигналы на продажу должны быть более точными. Будет хорошо, если при реальной работе на рынке с полученным индикатором, евро по отношению к доллару будет продолжать падать.

Средняя погрешность прогноза в  январе 2000 составила 0.2333 при единичном  интервале колебания индикатора. Это означает, что однозначных  заключений о покупке или продаже  по полученному индикатору делать нельзя, слишком велика погрешность (»46% интервала изменения величины) Реально сигналы, подаваемые индикатором комитета, можно рассматривать только как «скорее вниз, чем вверх» или «скорее вверх, чем вниз» и т.п.

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

Под простейшей торговой системой будем  понимать систему, выдающую сигналы  на открытие позиции (длинной и короткой) и закрытие позиции. Такую систему можно смоделировать, используя модуль System Tester пакета для технического анализа Equis MetaStock.

System Tester позволяет подобрать для  индикаторов оптимальные уровни, при пересечении которых возникает  сигнал на открытие или закрытие позиции. По результатам нескольких тестов значимые уровни можно расставить следующим образом (рис. 2.17):

а) 0.3 - пересечение индикатором  этого уровня сверху вниз будем интерпретировать как сигнал на "продажу";

б) 0.7 - пересечение индикатором этого уровня снизу вверх будем интерпретировать как сигнал на "покупку".

Такую стратегию можно интерпретировать следующим образом: закрываем одну позицию, открываем другую в обратном направлении. При пересечении значимых уровней (на рисунке 2.17 синие горизонтальные линии) моделируются сигналы на покупку или продажу. График сигналов, используемых при обучении (сглаженный MPP), построен на рисунке синей линией. Из графика видно как индикатор «пытается повторить» идеальный сигнал. Обучение комитета нейро-экспертов проводилось по данным 1999 года. Протестируем индикатор комитета нейросетей на часовых котировках евро/доллар за январь 2000 года, т.е. на данных, которые не использовались в процессе обучения.

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