Исследование динамики финансовых рынков нейросетевыми методами

Автор работы: Пользователь скрыл имя, 21 Сентября 2011 в 12:55, курсовая работа

Описание работы

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

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

Содержание работы

ВВЕДЕНИЕ………………………………………..……………………………...3

ГЛАВА 1

ПОНЯТИЕ ИСКУССТВЕННОЙ НЕЙРОННОЙ СЕТИ

Искусственный нейрон: понятие, особенности структуры……….7
Искусственные нейронные сети: их свойства и классификация..12
Обучение нейронных сетей………………………………………..19
ГЛАВА 2

ПРИМЕНЕНИЕ ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ

2.1. Особенности применения искусственных нейронных сетей в различных областях……………………………………………………….23

2.2. Применение нейронных сетей в биржевой деятельности………..28

2.3. Ограничения и недостатки, связанные с использованием нейронных сетей на бирже……………………………………………….33

ГЛАВА 3

ИССЛЕДОВАНИЕ ДИНАМИКИ ФИНАНСОВЫХ РЫНКОВ НЕЙРОСЕТЕВЫМИ МЕТОДАМИ

Задачи и методы нейросетевого анализа и прогнозов…………...38
Нейросетевые прогнозы доходностей…………………………….44
ЗАКЛЮЧЕНИЕ………………………………………………………………...52

СПИСОК ИСТОЧНИКОВ…………………………………………………….54

Файлы: 1 файл

Курсовая.doc

— 474.00 Кб (Скачать файл)

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

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

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

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

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

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

     Отсутствие  адаптированной документации и обучающего курса, включающие подробное описание методов и примеров, индексный и предметный указатели, существенно ограничивает применение ИНС на фондовой бирже.

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

  ГЛАВА 3. ИССЛЕДОВАНИЕ ДИНАМИКИ ФИНАНСОВЫХ РЫНКОВ НЕЙРОСЕТЕВЫМИ МЕТОДАМИ 

     3.1. Задачи и методы нейросетевого анализа и прогнозов

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

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

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

     Анализируемые в настоящем разделе финансовые инструменты– это фьючерсы:

  • на курс доллар США – немецкая марка (обозначен как DM);
  • на ставку процента ЛИБОР по евродолларам (ED);
  • на фондовый американский индекс Стэндарт-энд-Пурс S&P500 (SP)

     Данные  по всем фьючерсам за период 04/01/2003-31/08/2007 гг. взяты из Free Historical Futures Data, поставляемых Turtle Trader Company.

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

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

     Итак, нейронные сети – это системы искусственного интеллекта, способные к самообучению в процессе решения задач.

     Обучение  сводится к обработке сетью множества  примеров, состоящих из:

  • набора пар входов и выходов (обучение с учителем) ;
  • набора только входов (обучение без учителя).

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

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

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

     Опишем  методику нейросетевого прогнозирования  рассматриваемых в статье финансовых инструментов.

     Успех нейросетевых предсказаний зависит от типа информации, подаваемой на вход, и от того, какие характеристики выходных данных значимы в задаче прогноза. В построенной сети на один из входов подавались значения дневных доходностей анализируемых финансовых инструментов, выраженные следующим образом: изменению 1,5 % соответствовало значение 1,5. На другой вход подавались дневные доходности, усредненные за последние 5 дней. Использование сглаживающих средних было необходимо в связи с высокой шумовой компонентой в данных. Выходом сети было сдвинутое на 1 день назад значение 5-дневного скользящего среднего. Таким образом, сеть давала прогноз сглаженного 5-дневного среднего на один день в будущее.

     Из  всевозможных конфигураций нейросетей была выбрана рекуррентная нейросеть  с обратной связью от скрытого слоя ко входному (см. рис. 3.1). 

      

      Рис. 3.1. Архитектура нейронной сети Элмана-Джордана, использованной для прогноза

      Источник: составлена автором по материалам [18, с. 145; 19, с 125]

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

      Нейроны скрытого слоя сети Элмана-Джордана имеют  логистическую функцию активации f(x)=1/(1+exp(-x)), тогда как нейроны  выходного слоя обладают линейной функцией активации. Такая комбинация позволяет  аппроксимировать любую функцию  с конечным числом разрывов с заданной точностью. Мы использовали симметричную логистическую функцию активации f(x)=(2/(1+exp(-x)))-1. Это не влияло на предсказательные свойства сети, но приводило к более быстрой сходимости алгоритма обучения для данного типа временных рядов. По сути, единственным требованием к сети было достаточное число нейронов в скрытом слое, поскольку их число должно возрастать пропорционально сложности анализируемых данных (сложность данных оказалась такой, что удалось ограничиться 100 нейронами в скрытом слое).

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

      3.2. Нейросетевые прогнозы доходностей

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

      Из  каждого временного ряда выделялось 3 подмножества:

  • тренеровочное (примеры, на которых обучалась сеть) – первые 900 значений для всех фьючерсов;
  • тестовое (примеры, которые служили для предотвращения переучивания сети или калибровки) – значения фьючерсных рядов с 901 по 1100;
  • рабочее (примеры, которые сеть не видела) – последние 200 значений для фьючерсных временных рядов.

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

 

      

Рис. 3.2. Нейросетевые предсказания 5-дневных сглаженных относительных изменений котировки фьючерса на марку ФРГ – DM

Источник: составлена автором

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

Информация о работе Исследование динамики финансовых рынков нейросетевыми методами