Исследование динамики финансовых рынков нейросетевыми методами
СОДЕРЖАНИЕ
ВВЕДЕНИЕ………………………………………..……………………………...3
ГЛАВА 1
ПОНЯТИЕ ИСКУССТВЕННОЙ НЕЙРОННОЙ СЕТИ
Искусственный нейрон: понятие, особенности структуры……….7
Искусственные нейронные сети: их свойства и классификация..12
Обучение нейронных сетей………………………………………..19
ГЛАВА 2
ПРИМЕНЕНИЕ ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ
2.1. Особенности применения искусственных нейронных сетей в различных областях……………………………………………………….23
2.2. Применение нейронных сетей в биржевой деятельности………..28
2.3. Ограничения и недостатки, связанные с использованием нейронных сетей на бирже……………………………………………….33
ГЛАВА 3
ИССЛЕДОВАНИЕ ДИНАМИКИ ФИНАНСОВЫХ РЫНКОВ НЕЙРОСЕТЕВЫМИ МЕТОДАМИ
Задачи и методы нейросетевого анализа и прогнозов…………...38
Нейросетевые прогнозы доходностей…………………………….44
ЗАКЛЮЧЕНИЕ………………………………………………………………...52
СПИСОК ИСТОЧНИКОВ…………………………………………………….54
ВВЕДЕНИЕ
Искусственные нейронные сети, подобно биологическим, являются вычислительной системой с огромным числом параллельно функционирующих простых процессоров с множеством связей. Несмотря на то, что при построении таких сетей обычно делается ряд допущений и значительных упрощений, отличающих их от биологических аналогов, искусственные нейронные сети демонстрируют удивительное число свойств, присущих мозгу, – это обучение на основе опыта, обобщение, извлечение существенных данных из избыточной информации.
Нейронные сети могут менять свое поведение в зависимости от состояния окружающей их среды. После анализа входных сигналов они самонастраиваются и обучаются, чтобы обеспечить правильную реакцию. Обученная сеть может быть устойчивой к некоторым отклонениям входных данных, что позволяет ей правильно «видеть» образ, содержащий различные помехи и искажения. Сегодня существует большое число различных конфигураций нейронных сетей с различными принципами функционирования, которые ориентированы на решение самых разных задач. Они активно применяются там, где обычные алгоритмические решения оказываются неэффективными или вовсе невозможными. Практика использования нейросетей показала их эффективность в таких областях, как прогнозирование, выявление зависимостей, ситуационное управление. Все это применимо на финансовых рынках. Этот инструментарий позволяет выявлять и получать новые знания о динамике стоимости ценных бумаг, об изменениях показателей экономической активности и о колебаниях обменного курса валют, включая, государственные облигации. На базе этих знаний можно выявить взаимозависимости, существующие между этими характеристиками, что в свою очередь позволяет существенным образом повысить надежность прогнозирования.
В настоящее время применение нейронных сетей к задачам биржевой деятельности особенно актуально, поскольку традиционные, ставшие уже классическими, подходы были разработаны для описания относительно устойчивого, медленно эволюционирующего и не радикально изменяющегося мира, мира – который еще не сильно отклонился от состояния равновесия. По самой своей сути эти методы и подходы не были предназначены для описания и моделирования быстрых изменений, непредсказуемых скачков и сложных взаимодействий отдельных составляющих современного мирового рыночного процесса.
Как известно, украинский рынок ценных бумаг за свою новейшую постсоветскую историю пережил много хороших и плохих времен. Финансовый кризис 1998 года почти разрушил этот сектор экономики. Однако следует понимать, что без развитого рынка ценных бумаг построить рыночную экономику невозможно. Одним из важнейших направлений развития Украины должно стать принципиальное изменение роли рынка ценных бумаг в финансовой системе государства и его хозяйственном механизме в целом. Огромные усилия государства должны быть направлены на повышение доверия инвесторов к украинской экономике. Одной из важных задач на пути стабилизации фондового рынка Украины является привлечение частных лиц для инвестирования в предприятия и крупные компании нашей страны. Для инвесторов особо необходимым и актуальным является возможность прогнозирования ситуации на рынке ценных бумаг. Прогнозирование предполагает научно-обоснованное суждение о возможных состояниях экономической системы в будущем, об альтернативных путях и сроках его осуществления, оно должно предполагать получение качественных оценок этих состояний при помощи математических и инструментальных средств реализации.
Наряду с крупными национальными фондовыми, фьючерсными, валютными биржевыми рынками, появились рынки мирового масштаба. Типичный пример – современный финансовый рынок FOREX, сегодня представляет собой всемирную сеть банков, инвестиционных фондов и брокерских домов, которая включает в себя связанную компьютерную инфраструктуру, обслуживающую клиентов, торгующих валютами, заключающих спекулятивные сделки для того, чтобы получить прибыль от ежесекундно изменяющихся курсов валют. Уже сейчас ежедневный оборот на рынке FOREX превышает один триллион долларов (что ощутимо даже в масштабах страны), а согласно прогнозам экспертов он будет увеличиваться и дальше. Известно, что примерно 99% всех сделок на финансовых рынках – спекулятивные, т.е. заключаемые исключительно с целью извлечения прибыли по схеме "купить дешевле – продать дороже". Все они основаны на предсказаниях изменений котировок участниками рынка. Для эффективного анализа рынка требуются соответствующие современным требованиям экономико-математические методы. Сегодня огромное количество "западных" ученых работают в области разработки методов прогнозирования финансовых рынков. Таким образом, исследования в области биржевых рынков – актуальное и перспективное направление деятельности и будет оставаться таковым в течение длительного периода времени.
Целью нашей работы является подробное изучение применения нейронных сетей к задачам биржевой деятельности, доказательство их эффективности в управлении капиталом и анализе финансовых рынков.
Для достижения поставленной цели необходимо решить следующие задачи: ознакомится со структурой нейронных сетей, правилами и принципами их функционирования; возможностью их применения при решении проблем предсказания, классификации, моделирования финансовых временных рядов, а также оптимизации в области финансового анализа и управления риском.
Объектом исследования является использование систем, базирующихся на искусственных нейронных сетях, активно используемых для прогнозирования финансовых рынков.
Предметом – нейронная сеть, прогнозирующая дневную динамику таких финансовых инструментов: курс доллар США – немецкая марка (обозначен как DM); ставка процента ЛИБОР по евродолларам (ED); фондовый американский индекс Стэндарт-энд-Пурс S&P500 (SP).
В курсовой работе рассмотрена способность искусственных нейронных сетей к обучению (к процессу настройки архитектуры сети и весов синаптических связей) для эффективного решения поставленной задачи, различные области их применения и использования.
В первой главе описано понятие нейрона, нейронной сети. Подробно описаны принципы работы искусственных нейронных сетей, дана их классификация.
Вторая глава даёт детальное представление этого подхода, а также его отличие от стандартных методов. Оно состоит в его способности сделать систему самообучающейся, что особенно важно для трудноформализуемых задач. Благодаря возможности работы с «зашумленными» данными (нечеткие нейроны) система получается гибкой и, хотя обычно не решает задачу со 100%-ной точностью, может принести значительную прибыль в финансовой сфере.
Третья глава демонстрирует способность интеллектуальных систем на основе искусственных нейронных сетей с успехом решать задачи прогнозирования. При этом показано, что наиболее предсказуемо направление хода цены. Более сложной задачей является прогнозирование длины хода.
Таким образом, при анализе и предсказании сложных финансовых систем в настоящее время нельзя обойтись без такого мощного инструмента как нейросетевые технологии. Нейронные сети находят все новые успешные применения в практике управления и принятия решений, в том числе – в финансовой и торговой сферах. Лежащая в их основе теория нелинейных адаптивных систем доказала свою полезность при выработке прогнозов в целом ряде отраслей экономики и финансов.
ГЛАВА 1. ПОНЯТИЕ ИСКУССТВЕННОЙ НЕЙРОННОЙ СЕТИ
Искусственный нейрон: понятие, особенности структуры
Под нейронными сетями подразумеваются вычислительные структуры, которые моделируют простые биологические процессы, обычно ассоциируемые с процессами человеческого мозга. Они представляют собой распределенные и параллельные системы, способные к адаптивному обучению путем анализа положительных и отрицательных воздействий. Элементарным преобразователем в данных сетях является искусственный нейрон или просто нейрон, названный так по аналогии с биологическим прототипом.
К настоящему времени предложено и изучено большое количество моделей нейроподобных элементов и нейронных сетей.
Искусственный нейрон является основой любой искусственной нейронной сети. Нейроны представляют собой относительно простые, однотипные элементы, имитирующие работу нейронов мозга. Каждый нейрон характеризуется своим текущим состоянием по аналогии с нервными клетками головного мозга, которые могут быть возбуждены и заторможены.
Искусственный нейрон, также как и его естественный прототип, имеет группу синапсов (входов), которые соединены с выходами других нейронов, а также аксон – выходную связь данного нейрона – откуда сигнал возбуждения или торможения поступает на синапсы других нейронов.
Общий вид нейрона представлен на рисунке 1.1., где yj – сигнал, поступающий от нейрона j; sk – скалярное произведение вектора входных сигналов и вектора весов; fk – функция возбуждения; yk – выходной сигнал нейрона.
Рис. 1.2. Искусственный нейрон – простейший элемент искусственной нейронной сети
Источник: [7, с. 22]
Таким образом, нейрон состоит из элементов трех типов: умножителей (синапсов), сумматора и нелинейного преобразователя. Синапсы осуществляют связь между нейронами, умножают входной сигнал на число, характеризующее силу связи (вес синапса). Сумматор выполняет сложение сигналов, поступающих по синаптическим связям от других нейронов, и внешних входных сигналов. Нелинейный преобразователь реализует нелинейную функцию одного аргумента - выхода сумматора. Эта функция называется функцией активации или передаточной функцией нейрона. Нейрон в целом реализует скалярную функцию векторного аргумента. Математическая модель нейрона:
S= + b (1.1)
Y= f(s) (1.2)
где Wt – вес синапса, i = 1...n; b – значение смещения; s – результат суммирования; X1 – компонент входного вектора (входной сигнал); i = 1...n; у – выходной сигнал нейрона; n – число входов нейрона; f – нелинейное преобразование (функция активации).
В общем случае входной сигнал, весовые коэффициенты и смещение могут принимать действительные значения, а во многих практических задачах – лишь некоторые фиксированные значения. Выход (у) определяется видом функции активации и может быть как действительным, так и целым.
Синаптические связи с положительными весами называют возбуждающими, с отрицательными весами – тормозящими.
Описанный вычислительный элемент можно считать упрощенной математической моделью биологических нейронов. Чтобы подчеркнуть различие нейронов биологических и искусственных, вторые иногда называют нейроноподобными элементами или формальными нейронами.
На входной сигнал (s) нелинейный преобразователь отвечает выходным сигналом f(s), который представляет собой выход у нейрона. Основные разновидности активационных функций, применяемых в
нейронных сетях, представлены на рис. 1.2.
Рис. 1.2. Активационная функция
а) пороговая; b) полулинейная; c) сигмоидальная
Источник: [2, с. 45]
В качестве активационной функции часто используется сигмоидальная (s-образная или логистическая) функция, показанная на рис. 1.2 с. Эта функция математически выражается по формуле
f(x) = (1.3)
При уменьшении α сигмоидальная функция становится более пологой, в пределе при α=0 вырождаясь в горизонтальную линию на уровне 0,5; при
увеличении α сигмоидальная функция приближается по внешнему виду к функции единичного скачка с порогом T в точке x=0. Из выражения для сигмоидальной функции видно, что выходное значение нейрона лежит в диапазоне [0,1]. Одно из полезных свойств сигмоидальной функции – простое выражение для ее производной:
f (x) = α f (x) (1- f (x)) (1.3)
Следует отметить, что сигмоидальная функция дифференцируема на всей оси абсцисс, что используется в некоторых алгоритмах обучения. Кроме того, сигмоидальная функция обладает свойством усиливать малые сигналы лучше, чем большие, тем самым предотвращая насыщение от больших сигналов, так как они соответствуют областям аргументов, где сигмоидальная функция имеет пологий наклон.
Выбор структуры нейронной сети осуществляется в соответствии с особенностями и сложностью задачи. Для решения некоторых отдельных типов задач уже существуют оптимальные, на сегодняшний день конфигурации, описанные, например, в [6, 7, 8]. Если же задача не может быть сведена ни к одному из известных типов, разработчику приходится решать сложную проблему синтеза новой конфигурации.
Теоретически число слоев и число нейронов в каждом слое нейронной сети может быть произвольным, однако фактически оно ограничено ресурсами компьютера или специализированной микросхемы, на которых обычно реализуется нейронная сеть. При этом, если в качестве активационной функции для всех нейронов сети используется функция единичного скачка, нейронная сеть называется многослойным персептроном.
В нейронных сетях, называемых персептронами, используется активационная функция единичного скачка.
Также примерами активационных функций являются: полулинейная, линейная, логистическая (сигмоидальная), гиперболический тангенс, экспоненциальная, синусоидальная, сигмоидальная (рациональная), шаговая (линейная с насыщением), пороговая, модульная, знаковая (сигнатурная), квадратичная.
1.2. Искусственные нейронные сети: их свойства и классификация
Нейронная сеть представляет собой совокупность нейроподобных элементов, определенным образом соединенных друг с другом и с внешней средой с помощью связей, определяемых весовыми коэффициентами.
В зависимости от функций, выполняемых нейронами в сети, можно выделить три их типа:
• входные нейроны, на которые подается вектор, кодирующий входное воздействие или образ внешней среды; в них обычно не осуществляется вычислительных процедур, а информация передается с входа на выход путем изменения их активации;
• выходные нейроны, выходные значения которых представляют выходы нейронной сети; преобразования в них осуществляются по выражениям (1.1) и (1.2);
• промежуточные нейроны, составляющие основу нейронных сетей, преобразования в которых выполняются также по выражениям (1.1) и (1.2).
В большинстве нейронных моделей тип нейрона связан с его расположением в сети. Если нейрон имеет только выходные связи, то это входной нейрон, если наоборот – выходной нейрон. Однако возможен случай, когда выход топологически внутреннего нейрона рассматривается как часть выхода сети. В процессе функционирования сети осуществляется преобразование входного вектора в выходной, некоторая переработка информации. Конкретный вид выполняемого сетью преобразования данных обусловливается не только характеристиками нейроподобных элементов, но и особенностями ее архитектуры, а именно топологией межнейронных связей, выбором определенных подмножеств нейроподобных элементов для ввода и вывода информации, способами обучения сети, наличием или отсутствием конкуренции между нейронами, направлением и способами управления и синхронизации передачи информации между нейронами.
С точки зрения топологии можно выделить три основных типа нейронных сетей:
• полносвязные (рис. 1.4. а);
• многослойные или слоистые (рис. 1.4. б);
• слабосвязные (с локальными связями) (рис. 1.4. в).
Рис. 1.3. Архитектуры нейронных сетей
Источник: [12, с. 35]
В полносвязных нейронных сетях каждый нейрон передает свой выходной сигнал остальным нейронам, в том числе и самому себе. Все входные сигналы подаются всем нейронам. Выходными сигналами сети могут быть все или некоторые выходные сигналы нейронов после нескольких тактов функционирования сети.
В многослойных нейронных сетях нейроны объединяются в слои. Слой содержит совокупность нейронов с едиными входными сигналами. Число нейронов в слое может быть любым и не зависит от количества нейронов в других слоях. В общем случае сеть состоит из Q слоев, пронумерованных слева направо. Внешние входные сигналы подаются на входы нейронов входного слоя (его часто нумеруют как нулевой), а выходами сети являются выходные сигналы последнего слоя. Кроме входного и выходного слоев в многослойной нейронной сети есть один или несколько скрытых слоев. Связи от выходов нейронов некоторого слоя q к входам нейронов следующего слоя (q+1) называются последовательными.
Входной слой Скрытый слой Выходной слой
Рис 1.4. Многослойная (двухслойная) сеть прямого распространения
Источник: [15, с. 55]
В свою очередь, среди многослойных нейронных сетей выделяют следующие типы.
1) Монотонные. Это частный случай слоистых сетей с дополнительными условиями на связи и нейроны. Каждый слой кроме последнего (выходного) разбит на два блока: возбуждающий и тормозящий. Связи между блоками тоже разделяются на тормозящие и возбуждающие. Если от нейронов блока А к нейронам блока В ведут только возбуждающие связи, то это означает, что любой выходной сигнал блока является монотонной неубывающей функцией любого выходного сигнала блока А. Если же эти связи только тормозящие, то любой выходной сигнал блока В является невозрастающей функцией любого выходного сигнала блока А. Для нейронов монотонных сетей необходима монотонная зависимость выходного сигнала нейрона от параметров входных сигналов
2) Сети без обратных связей. В таких сетях нейроны входного слоя получают входные сигналы, преобразуют их и передают
нейронам первого скрытого слоя, и так далее вплоть до выходного,
который выдает сигналы для интерпретатора и пользователя. Если не оговорено противное, то каждый выходной сигнал q-го слоя
подастся на вход всех нейронов (q+1)-го слоя; однако возможен
вариант соединения q-го слоя с произвольным (q+р)-м слоем.
Среди многослойных сетей без обратных связей различают полносвязанные (выход каждого нейрона q-го слоя связан с входом каждого нейрона ((q+1)-го слоя) и частично полносвязанные. Классическим вариантом слоистых сетей являются полносвязанные сети прямого распространения (рис. 1.4).
3) Сети с обратными связями. В сетях с обратными связями информация с последующих слоев передается на предыдущие.
Среди них, в свою очередь, выделяют следующие.
Слоисто-циклические, отличающиеся тем, что слои замкнуты в кольцо, последний слой передает свои выходные сигналы первому; все слои равноправны и могут как получать входные сигналы, так и выдавать выходные;
Слоисто-полносвязанные состоят из слоев, каждый из которых представляет собой полносвязную сеть, а сигналы передаются как от слоя к слою, так и внутри слоя; в каждом слое цикл работы распадается на три части: прием сигналов с предыдущего слоя, обмен сигналами внутри слоя, выработка выходного сигнала и передача к последующему слою.
Полносвязанно-слоистые по своей структуре аналогичные слоисто-полносвязанным, но функционирующим по-другому: в них не разделяются фазы обмена внутри слоя и передачи следующему, на каждом такте нейроны всех слоев принимают сигналы от нейронов как своего слоя, так и последующих.
В слабосвязных нейронных сетях нейроны располагаются в узлах прямоугольной или гексагональной решетки. Каждый нейрон связан с четырьмя (окрестность фон Неймана), шестью (окрестность Голея) или восемью (окрестность Мура) своими ближайшими соседями.
Известные нейронные сети можно разделить по типам структур нейронов на гомогенные (однородные) и гетерогенные. Гомогенные сети состоят из нейронов одного типа с единой функцией активации, а в гетерогенную сеть входят нейроны с различными функциями активации.
Существуют бинарные и аналоговые сети. Первые из них оперируют только двоичными сигналами, и выход каждого нейрона может принимать значение либо логического ноля (заторможенное состояние) либо логической единицы (возбужденное состояние).
Еще одна классификация делит нейронные сети на синхронные и асинхронные. В первом случае в каждый момент времени лишь один нейрон меняет свое состояние, во втором – состояние меняется сразу у целой группы нейронов, как правило, у всего слоя. Алгоритмически ход времени в нейронных сетях задается итерационным выполнением однотипных действий над нейронами.
Сети можно классифицировать также по числу слоев. Теоретически число слоев и число нейронов в каждом слое может быть произвольным, однако фактически оно ограничено ресурсами компьютера или специализированных микросхем, на которых обычно реализуется нейронная сеть. Чем сложнее сеть, тем более сложные задачи она может решать.
Выбор структуры нейронной сети осуществляется в соответствии с особенностями и сложностью задачи. Для решения отдельных типов задач уже существуют оптимальные конфигурации, описанные в приложении. Если же задача не может быть сведена ни к одному из известных типов, приходится решать сложную проблему синтеза новой конфигурации При этом необходимо руководствоваться следующими основными правилами.
Возможности сети возрастают с увеличением числа нейронов сети, плотности связей между ними и числом слоев.
Введение обратных связей наряду с увеличением возможностей сети поднимает вопрос о динамической устойчивости сети.
Сложность алгоритмов функционирования сети, введение нескольких типов синапсов способствует усилению мощности нейронной сети.
Вопрос о необходимых и достаточных свойствах сети для решения задач того или иного рода представляет собой целое направление нейрокомпьютерной науки. Так как проблема синтеза нейронной сети сильно зависит от решаемой задачи, дать общие подробные рекомендации затруднительно. В большинстве случаев оптимальный вариант получается на основе интуитивного подбора, хотя в литературе приведены доказательства того, что для любого алгоритма существует нейронная сеть, которая может его реализовать.
Многие задачи распознавания образов (зрительных, речевых), выполнения функциональных преобразований при обработке сигналов, управления, прогнозирования, идентификации сложных систем, сводятся к следующей математической постановке. Необходимо построить такое отображение X → У, чтобы на каждый возможный входной сигнал X формировался правильный выходной сигнал У. Отображение задается конечным набором пар (<вход>, <известный выход>). Число этих пар (обучающих примеров) существенно меньше общего числа возможных сочетаний значений входных и выходных сигналов. Совокупность всех обучающих примеров носит название обучающей выборки.
В задачах распознавания образов X - некоторое представление образа (изображение, вектор), У - номер класса, к которому принадлежит входной образ. В задачах управления X - набор контролируемых параметров управляемого объекта, У - код, определяющий управляющее воздействие, соответствующее текущим значениям контролируемых параметров. В задачах прогнозирования в качестве входных сигналов используются временные ряды, представляющие значения контролируемых переменных на некотором интервале времени. Выходной сигнал – множество переменных, которое является подмножеством переменных входного сигнала. При идентификации X и У представляют входные и выходные сигналы системы соответственно.
Вообще говоря, большая часть прикладных задач может быть сведена к реализации некоторого сложного функционального многомерного преобразования.
В результате отображения X → У необходимо обеспечить формирование правильных выходных сигналов в соответствии:
– со всеми примерами обучающей выборки;
– со всеми возможными входными сигналами, которые не вошли в обучающую выборку. Второе требование в значительной степени усложняет задачу формирования обучающей выборки. В общем виде эта задача в настоящее время ещё не решена, однако во всех известных случаях может быть найдено частное решение.
Обучение нейронных сетей
Способность к обучению является основным свойством мозга. Для искусственных нейронных сетей под обучением понимается процесс настройки архитектуры сети (структуры связей между нейронами) и весов синаптических связей (влияющих на сигналы коэффициентов) для эффективного решения поставленной задачи. Обычно обучение нейронной сети осуществляется на некоторой выборке [3]. По мере процесса обучения, который происходит по некоторому алгоритму, сеть должна все лучше и правильнее реагировать на входные сигналы.
Очевидно, что функционирование нейронной сети, т. е. действия, которые она способна выполнять, зависит от величин синоптических связей. Поэтому, задавшись структурой нейронной сети, отвечающей определенной задаче, разработчик должен найти оптимальные значения для всех весовых коэффициентов w. От того, насколько качественно будет выполнено обучение, зависит способность сети решать во время эксплуатации поставленные перед ней проблемы. Важнейшими параметрами обучения являются: качество подбора весовых коэффициентов и время, которое необходимо затратить на обучение. Как правило, два этих параметра связаны между собой обратной зависимостью и их приходится выбирать на основе компромисса.
Выделяют три парадигмы обучения: с учителем, самообучение и смешанная.
При обучении с учителем нейронной сети предъявляются значения как входных, так и выходных параметров, и она по некоторому внутреннему алгоритму подстраивает веса своих синаптических связей.
Обучение с учителем предполагает, что для каждого входного вектора существует целевой вектор, представляющий собой требуемый выход. Вместе они называются представительской или обучающей выборкой. Обычно нейронная сеть обучается на некотором числе таких выборок. Предъявляется выходной вектор, вычисляется выход нейронной сети и сравнивается с соответствующим целевым вектором, разность (ошибка) с помощью обратной связи подается в нейронную сеть, и веса изменяются в соответствии с алгоритмом, стремящимся минимизировать ошибку. Векторы обучающего множества предъявляются последовательно, вычисляются ошибки и веса подстраиваются для каждого вектора до тех пор, пока ошибка по всему обучающему массиву не достигнет приемлемо низкого уровня.
При обучении без учителя нейронной сети предъявляются только входные сигналы, а выходы сети формируются самостоятельно с учетом только входных и производных от них сигналов. Несмотря на многочисленные прикладные достижения, обучение с учителем критиковалось за свою биологическую неправдоподобность. Трудно вообразить обучающий механизм в естественном человеческом интеллекте, который бы сравнивал желаемые и действительные значения выходов, выполняя коррекцию с помощью обратной связи. Если допустить подобный механизм в человеческом мозге, то откуда тогда возникают желаемые выходы? Обучение без учителя является более правдоподобной моделью обучения в биологической системе. Развитая Кохоненом и многими другими, она не нуждается в целевом векторе для выходов и, следовательно, не требует сравнения с предопределенными идеальными ответами. Обучающее множество состоит лишь из входных векторов. Обучающий алгоритм подстраивает веса нейронной сети так, чтобы получались согласованные выходные векторы, т. е. чтобы предъявление достаточно близких входных векторов давало одинаковые выходы. Процесс обучения, следовательно, выделяет статистические свойства обучающего множества и группирует сходные векторы в классы. Предъявление на вход вектора из данного класса даст определенный выходной вектор, но до обучения невозможно предсказать, какой выход будет производиться данным классом входных векторов. Следовательно, выходы подобной сети должны трансформироваться в некоторую понятную форму, обусловленную процессом обучения. Это не является серьезной проблемой. Обычно не сложно идентифицировать связь между входом и выходом, установленную сетью.
Существует большое число алгоритмов обучения, ориентированных на решение разных задач [4]. Среди них выделяет алгоритм обратного распространения ошибки, который является одним из наиболее успешных современных алгоритмов. Его основная идея заключается в том, что изменение весов синапсов происходит с учетом локального градиента функции ошибки. Разница между реальными и правильными ответами нейронной сети, определяемыми на выходном слое, распространяется в обратном направлении – навстречу потоку сигналов. В итоге каждый нейрон способен определить вклад каждого своего веса в суммарную ошибку сети. Простейшее правило обучения соответствует методу наискорейшего спуска, то есть изменения синаптических весов пропорционально их вкладу в общую ошибку. Конечно, при таком обучении нейронной сети нет уверенности, что она обучилась наилучшим образом, поскольку всегда существует возможность попадания алгоритма в локальный минимум. Для этого используются специальные приемы, позволяющие «выбить» найденное решение из локального экстремума. Если после нескольких таких действий нейронная сеть сходится к тому же решению, то можно сделать вывод о том, что найденное решение, скорее всего, оптимально.
Итак, нейронная сеть представляет собой совокупность нейроподобных элементов, определенным образом соединенных друг с другом и с внешней средой с помощью связей, определяемых весовыми коэффициентами.
Известные нейронные сети можно разделить по типам структур нейронов на гомогенные (однородные) и гетерогенные. Гомогенные сети состоят из нейронов одного типа с единой функцией активации, а в гетерогенную сеть входят нейроны с различными функциями активации.
Существуют бинарные и аналоговые сети. Первые из них оперируют только двоичными сигналами, и выход каждого нейрона может принимать значение либо логического ноля (заторможенное состояние) либо логической единицы (возбужденное состояние).
Еще одна классификация делит нейронные сети на синхронные и асинхронные.
Выделяют три парадигмы обучения: с учителем, самообучение и смешанная.
Потенциальными областями применения искусственных нейронных сетей являются те, где человеческий интеллект малоэффективен, а традиционные вычисления трудоемки или физически неадекватны (т.е. не отражают или плохо отражают реальные физические процессы и объекты). Действительно, актуальность применения нейронных сетей многократно возрастает тогда, когда появляется необходимость решения плохо формализованных задач.
Таким, образом, искусственные нейронные сети, подобно биологическим, являются вычислительной системой с огромным числом параллельно функционирующих простых процессоров с множеством связей.
ГЛАВА 2. ПРИМЕНЕНИЕ ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ
2.1. Особенности применения искусственных нейронных сетей в различных областях
Потенциальными областями применения искусственных нейронных сетей являются те, где человеческий интеллект малоэффективен, а традиционные вычисления трудоемки или физически неадекватны (т.е. не отражают или плохо отражают реальные физические процессы и объекты). Действительно, актуальность применения нейронных сетей многократно возрастает тогда, когда появляется необходимость решения плохо формализованных задач.
Типовые задачи, решаемые с помощью нейронных сетей и нейрокомпьютеров следующие:
автоматизация процесса классификации;
автоматизация прогнозирования;
автоматизация процесса предсказания;
автоматизация процесса принятия решений;
управление;
кодирование и декодирование информации;
аппроксимация зависимостей и др.
Рассмотрим особенности применения нейронных сетей, которые показывают их преимущества посравнению с другими существующими методами при выборе модели прогноза.
1. Результативность при решении неформализованных или плохо формализованных задач. Из общеизвестных преимуществ методов на основе нейронных сетей следует выделить одно самое привлекательное – отсутствие необходимости в строгой математической спецификации модели, что особенно ценно при прогнозировании плохо формализуемых процессов. Известно, что большинство финансовых, бизнес и других подобных задач плохо формализуется.
2. Устойчивость к частым изменениям среды. Достоинства нейронных сетей становятся заметными, когда часто изменяются «правила игры»: среда, в которой существует прогнозируемый процесс, а также характер воздействия влияющих факторов. Поэтому, нейронные сети наилучшим образом подходят для решений таких задач, как прогнозирование тенденций фондового рынка, характеризующихся влиянием целого набора постоянно изменяющихся факторов.
3. Результативность при работе с большим объемом противоречивой информации. Нейронные сети будут предпочтительнее там, где имеется очень много анализируемых данных, в которых скрыты закономерности. В этом случае автоматически учитываются также различные нелинейные взаимодействия между влияющими факторами. Это особенно важно, в частности, для предварительного анализа или отбора исходных данных, выявления «выпадающих фактов» или грубых ошибок при принятии решений.
4. Результативность при работе с неполной информацией. Целесообразно использование нейронных сетей в задачах с неполной или "зашумленной" информацией, а также в задачах, для которых характерны интуитивные решения.
Уже сегодня искусственные нейронные сети используются во многих областях. В последнее время предпринимаются активные попытки объединения искусственных нейронных сетей и экспертных систем. В такой системе искусственная нейронная сеть может реагировать на большинство относительно простых случаев, а все остальные передаются для рассмотрения экспертной системе. В результате сложные случаи принимаются на более высоком уровне, при этом, возможно, со сбором дополнительных данных или даже с привлечением экспертов.
Области применения нейронных сетей весьма разнообразны – это распознавание текста и речи, семантический поиск, экспертные системы и системы поддержки принятия решений, предсказание курсов акций, системы безопасности, анализ текстов. Одной из наиболее сложных и востребованных способностей нейронных сетей является прогнозирование. Ведь оно является важнейшим элементом современных информационных технологий принятия решений в управлении. Эффективность того или иного управленческого решения оценивается по событиям, возникающим уже после его принятия. Поэтому прогноз неуправляемых аспектов таких событий перед принятием решения позволяет сделать наилучший выбор, который, без прогнозирования мог бы быть не таким удачным.
Проблемы прогнозирования связаны с недостаточным качеством и количеством исходных данных, изменениями среды, в которой протекает процесс, воздействием субъективных факторов. Прогноз всегда осуществляется с некоторой погрешностью, которая зависит от используемой модели прогноза и полноты исходных данных. При увеличении информационных ресурсов, используемых в модели, увеличивается точность прогноза, а убытки, связанные с неопределенностью при принятии решений, уменьшаются. Характер затрат, связанных с прогнозированием, таков, что за определенным пределом дополнительные затраты не приведут к снижению потерь. Это связано с тем, что объективно невозможно снизить погрешность прогнозирования ниже определенного уровня, вне зависимости от того насколько хорош примененный метод прогнозирования. Поэтому определение погрешности прогноза, наряду с самим прогнозом, позволяет значительно снизить риск при принятии решений.
Рассмотрим несколько особенно ярких и интересных примеров использования нейронных сетей в разных областях.
Техника и телекоммуникации. Одна из важнейших задач в области телекоммуникаций, которая заключается в нахождении оптимального пути пересылки трафика между узлами, может быть успешно решена с помощью нейронных сетей. В данном случае необходимо принимать во внимание то, что, во-первых, предложенное решение должно учитывать текущее состояние сети, качество связи и наличие сбойных участков, а во-вторых, поиск оптимального решения должен осуществляться в реальном времени. Нейронные сети хорошо подходят для решения задач такого рода. Кроме управления маршрутизацией потоков, нейронные сети могут использоваться и при проектировании новых телекоммуникационных сетей, позволяя получать весьма эффективные решения.
Информационные технологии. Определение тематики текстовых сообщений может служить примером успешного использования искусственных нейронных сетей.
Экономика и финансы. Нейронные сети активно применяются на финансовых рынках. Это нейросетевые предсказания, нейросетевые системы для предварительной обработки транзакций на валютных биржах ряда стран, отслеживание подозрительных сделок.
Реклама и маркетинг. При ведении бизнеса в условиях конкуренции компаниям необходимо поддерживать постоянный контакт с потребителями, обеспечивая обратную связь. Для этого некоторые компании проводят опросы потребителей, позволяющие выяснить, какие факторы являются решающими при покупке данного товара или услуги. Анализ результатов подобного опроса— непростая задача, поскольку необходимо исследовать большое количество связанных между собой параметров и выявить факторы, оказывающие наибольшее влияние на спрос. Существующие нейросетевые методы позволяют выяснить это и прогнозировать поведение потребителей при изменении маркетинговой политики, а значит, находить оптимальные стратегии работы компании.
Здравоохранение. В медицинской диагностике нейронные сети нередко используются вместе с экспертными системами.
Приведенные примеры показывают, что технологии нейронных сетей применимы практически в любой области. Повсеместное проникновение нейронных технологий в другие области— только вопрос времени. Конечно, внедрение новых наукоемких технологий— процесс сложный, однако практика показывает, что инвестиции не только окупаются и приносят выгоду, но и дают тем, кто их использует, ощутимые преимущества.
2.2. Применение нейронных сетей в биржевой деятельности
Подавляющее большинство задач прогнозирования на основе нейронных сетей так или иначе связаны со сферой бизнеса и финансов. Это – краткосрочные и долгосрочные прогнозы тенденций следующих финансовых рынков:
рынков купонных и бескупонных облигаций,
фондовых рынков (рынков акций),
валютных рынков.
Сюда же можно отнести прогнозы:
платежеспособного спроса;
продаж и выручки;
рисков кредитования;
финансирования экономических и инновационных проектов;
фьючерсных контрактов и ряд других.
К задачам прогнозирования на бирже можно отнести:
Прогнозирование краткосрочных и долгосрочных тенденций. Задачей автоматизированной системы прогнозирования краткосрочных и долгосрочных тенденций финансовых рынков является анализ некоторого набора влияющих факторов с последующим выводом о дальнейшем краткосрочном или долгосрочном поведении прогнозируемой величины. Возможными прогнозируемыми величинами для подобных систем являются доходность и ценовые показатели: средневзвешенная цена, цены закрытия и открытия, максимальная и минимальная цены. Причем прогнозироваться могут как показатели, определенные для целой группы инструментов или некоторого рынка в целом, так и показатели, определенные только для одного инструмента финансового рынка. Как для совокупности инструментов, так и для каждого индивидуально может определяться доходность; ценовые показатели определяются для каждого конкретного инструмента. Целями прогноза (прогнозируемой величиной) в области финансовых рынков могут являться, например, средневзвешенная доходность бескупонных облигаций (для группы инструментов), средневзвешенная цена акции, курс американского доллара к гривне и др. В качестве исходных данных (влияющих факторов) для такого прогноза могут использоваться различные макро- и микроэкономические показатели, информация с торговых площадок, данные, предоставляемые информационно-торговыми агентствами, экспертные оценки специалистов. Количество влияющих на прогноз факторов зависит от рассматриваемого рыночного инструмента и конкретной рыночной ситуации (временного момента). То есть одни факторы оказывают влияние на все финансовые рынки, другие – только на определенные. Кроме того, влияние факторов на рынки может меняться с течением времени (меняются рыночные тенденции). Так как в определенные моменты времени прослеживается явная взаимосвязь между финансовыми рынками и инструментами рынков, целесообразно в качестве исходных данных для прогнозирования одного рынка или его инструментов использовать информацию о тенденциях других рынков. Например, при прогнозировании цены открытия «сегодня» для любых инструментов всех финансовых рынков, этот прогноз сильно зависит от цены закрытия «вчера» и обе эти величины могут выступать как прогнозируемые.
Прогнозирование краткосрочных и долгосрочных тенденций фондового рынка включает следующие этапы.
1. Сбор и хранение статистических данных – возможной исходной информации для прогноза (либо в качестве исходных данных, либо в качестве прогнозируемой величины, либо как и то и другое);
2. Определение для рассматриваемого рынка или инструмента прогнозируемой величины и набора влияющих факторов (причем не всегда могут быть использованы данные, непосредственно хранящиеся в базе данных, зачастую требуется произвести некоторые преобразования данных: например, часто в качестве таких факторов используются относительные изменения величин);
3. Выявление зависимости между прогнозируемой величиной и набором влияющих факторов в виде некоторой функции;
4. Вычисление интересующей величины в соответствии с определенной функцией, значениями влияющих факторов на прогнозируемый момент и видом прогноза (краткосрочный или долгосрочный).
Процедура выполнения краткосрочного прогноза отличается от процедуры долгосрочного на первом и четвертом этапах. В случае краткосрочного прогноза считается, что все участвующие в нем значимые влияющие факторы на прогнозируемую дату известны и хранятся в базе данных. Горизонт краткосрочного прогноза не превышает 3–4 дня. В случае долгосрочного прогноза считается, что значимые влияющие факторы на прогнозируемую дату неизвестны и должны быть указаны ожидаемые значения и погрешности. Соответственно погрешность определения прогнозируемой величины существенно увеличивается (чем дальше горизонт прогноза, тем больше погрешность определения влияющих факторов и вероятность ошибки аналитика). Горизонт долгосрочного прогноза, как правило, превышает 3–4 дня.
Прогнозирование тенденций фондового рынка (рынка акций).
Важная область применения нейронных сетей в сфере финансов – прогнозирование ситуации на фондовом рынке. Стандартный подход к решению этой задачи (не использующий нейронные сети) базируется на жестко фиксированном наборе «правил игры», который со временем теряет свою актуальность из-за изменения условий торгов на фондовой бирже. Помимо того, системы, построенные на основе такого стандартного подхода, оказываются слишком медленными для ситуаций, требующих от трейдера (участника торгов) мгновенного принятия решений.
Рассмотрим, некоторые особенности действий на фондовом рынке. Трейдер, принимающий решения о купле–продаже акций, имеет доступ к одному или нескольким электронным источникам информации (Reuters, Dow Jones Telerate, Bloomberg, Tenfore). Он наблюдает текущие значения и графики интересующих его индексов на мировых фондовых биржах, основные кросс-курсы валют и другие показатели валютного, фондового и кредитного рынков в многооконной среде с различной степенью детализации. На принятие его решения о купле–продаже акций, естественно, влияют макроэкономические и общественно-политические события, сообщения о которых через каждые 5–10 минут появляются в текстовом окне монитора и сопровождаются комментариями экспертов, озвучивающих разнообразные слухи и прогнозы. Трейдеру также доступна дополнительная информация, такая как сообщения из Национального банка Украины и от других значащих источников об основных показателях рынков.
Обязательно учитывается психология конкурирующих трейдеров, для которых важную роль играют ожидания ряда влияющих событий. Например, в 16:00 многие украинские трейдеры внутренне готовы к изменениям тенденции поведения индекса Доу-Джонса на Нью-Йоркской фондовой бирже, которая с учетом сдвига по часовым поясам открывается лишь в 16:30 по киевскому времени.
Фондовый рынок характеризуется также следующими особенностями:
рыночные процессы весьма неоднородны во времени: например, состояние рынка осенью существенно отличается от его состояния летом того же года; поэтому не всегда имеет смысл формировать обучающие выборки большого объема;
«загрязнениями» данных и их неоднородностью;
наличием малоинформативных показателей при относительно малом объеме статистики.
В целом, задача краткосрочного прогноза котировок акций пусть и с
использованием нейронных сетей представляется достаточно сложной, особенно на стремительно изменяющемся украинском фондовом рынке.
Примером прогнозирования тенденций фондового рынка может служить нейросетевая система (компания Alela Corp.), предназначенная для прогноза изменения биржевых индексов Dow Jones, S&P500 и Merval. На сайте компании можно бесплатно воспользоваться прогнозом изменения данных индексов и, используя его в качестве дополнительной информации, убедиться, что доля верных прогнозов составляет не менее 80,0 %.
Японские компании, оперирующие на рынке ценных бумаг, также широко применяют нейронные сети (компания Mitsubishi). Для входа нейронной сети использовалась информация о деловой активности нескольких организаций, полученная за 33 года, включая также оборот, предыдущую стоимость акций, уровни дохода и т.д. Данная нейронная сеть самообучалась на реальных примерах и показала высокую точность прогнозирования, а также быстродействие. Общая результативность прогноза по сравнению с системами, использующими стандартные статистические подходы, улучшилась на 19,0 %.
2.3. Ограничения и недостатки, связанные с использованием нейронных сетей на бирже
1. Для эффективного прогнозирования, как правило, необходим некоторый минимум наблюдений (более пятидесяти и даже ста). Однако существует много задач, когда такое количество статистических данных недоступно.
2. Другим недостатком моделей на основе нейронных сетей являются значительные временные затраты для достижения удовлетворительного результата. Эта проблема не столь существенна, если исследуется небольшое число временных последовательностей, однако обычно прогнозирующая система включает от нескольких сотен до нескольких тысяч временных последовательностей.
3. Обучить и эксплуатировать нейронную сеть для решения многих задач, как правило, может и не специалист, но надежно интерпретировать результаты, а также численно оценивать значимость получаемых прогнозов способны специалисты, имеющие навыки в моделировании нейронных сетей.
Рассмотрим также ряд особенностей и затруднений, связанных с использованием программных продуктов нейросетевого моделирования:
1. На фондовом рынке лишь немногие из специалистов успешно справляются с эффективной настройкой нейросимуляторов особенно в тех случаях, когда к прогнозированию приходится привлекать малозначимые влияющие факторы и требуется правильно интерпретировать результаты настройки нейронной сети. Для эффективного использования нейросимуляторов необходимо также хорошо понимать сущность моделируемого процесса.
2. При использовании нейронной сети необходимо учитывать влияние детерминированной периодической функции называемой в теории временных рядов «аддитивной сезонной компонентой» и определяемой методами спектрального анализа. Период сезонной компоненты составляет от 7 до 14 дней. Она может учитывать, например, то, что в первые два–три дня каждого месяца обычно наблюдается локальный подъем котировок акций, а в середине месяца существуют дни, когда на денежный рынок оказывают влияние обязательства по контрактам на куплю–продажу валюты по заранее оговоренной цене и т. д. На этапе прогноза сезонная компонента может автоматически добавляться в одну из колонок электронной таблицы с данными и, таким образом, учитываться в нейросимуляторе при оценке прогнозируемого приращения котировок.
3. Практика работы с нейросимуляторами на финансовом рынке свидетельствует о том, что создание и тщательное ведение обширной, постоянно обновляемой и хорошо структурированной базы финансовых, макроэкономических и политических данных крайне важно, поскольку они существенно влияют на ситуацию и качество прогноза. Так как ситуация на рынке непрерывно изменяется, то и набор значащих влияющих факторов (или их порядок внутри этого набора) также изменяется во времени. В связи с этим, нейронную сеть необходимо время от времени настраивать и обучать заново.
4. Наличие подробной документации крайне важно при работе с нейросимулятором. Документация обычно включает подробное описание методов и примеров, индексный и предметный указатели, а также обучающий курс. Некоторые компании–разработчики нейросимуляторов поддерживают «горячую линию» по телефону и Интернет, а также проводят семинары пользователей по обучению приемам эффективной работы с нейросимуляторами.
1.6. Проблемы развития нейронных сетей
Рассмотрим ряд проблем, стоящих сегодня на пути широкого распространения нейросетевых технологий.
1. Большинство применяемых нейронных сетей представляют сети обратного распространения – наиболее популярного современного алгоритма. В свою очередь, алгоритм обратного распространения не свободен от недостатков. Прежде всего не существует гарантии, что нейронная сеть может быть обучена за конечное время: зачастую усилия и затраты машинного времени на обучение, пропадают напрасно. Когда это происходит, обучение повторяется – без всякой уверенности, что результат окажется лучше.
2. Нет также уверенности, что сеть обучится наилучшим возможным образом. Алгоритм обучения может попасть в «ловушку» так называемого локального минимума ошибки, и наилучшее решение не будет получено.
3. Разработано много других алгоритмов обучения нейронных сетей, имеющих свои преимущества, однако, следует отметить, что все они не свободны от ограничений.
4. Разработчики склонны преувеличивать свои успехи и замалчивать неудачи, создавая зачастую о нейронных сетях и нейрокомпьютерах необъективное впечатление. Поэтому предприниматели, желающие основать новые компании в области нейросетевых технологий, должны предельно четко представлять пути развития того или иного проекта и пути получения прибыли.
5. Таким образом, существует опасность, что нейросетевые технологии начнут продаваться и покупаться раньше, чем придет их время, обещая потребительские и функциональные возможности, которые пока невозможно достигнуть. Если это произойдет, то технология в целом может пострадать от потери кредита доверия и вернется к периоду невостребованности семидесятых годов.
6. Существует проблема неспособности традиционных искусственных нейронных сетей «объяснить», как они решают задачу. Это напоминает нашу неспособность объяснить, как мы узнаем человека, несмотря на расстояние, освещение и прошедшие годы.
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
Источник: составлена автором
Верхний рисунок – графики фактического и предсказанного нейросетью изменений, выраженных в процентах; рисунок в середине – совпадение знака предсказания на каждый день; нижний рисунок – модуль ошибки предсказания, выраженный в процентах. По горизонтальной оси отложены номера отсчетов (дней).
Рис. 3.3. Нейросетевые предсказания 5-дневных сглаженных относительных изменений котировки фьючерса на евродоллар – ED
Верхний рисунок – графики фактического и предсказанного нейросетью изменений, выраженных в процентах; рисунок в середине – совпадение знака предсказания на каждый день; нижний рисунок – модуль ошибки предсказания, выраженный в процентах. По горизонтальной оси отложены номера отсчетов (дней).
Рис. 3.4. Нейросетевые предсказания на рабочем множестве 5-дневных сглаженных относительных изменений котировки фьючерса на биржевой индекс S&P500 – SP
Источник: составлена автором
Верхний рисунок – графики фактического и предсказанного нейросетью изменений, выраженных в процентах; рисунок в середине – совпадение знака предсказания на каждый день; нижний рисунок – модуль ошибки предсказания, выраженных в процентах. По горизонтальной оси отложены номера отсчетов (дней).
Эффективность предсказаний нейросети проверялась сравнением фактического значения и предсказанного нейросетью.
Критериями качества предсказания служили следующие параметры:
Число эпох и время обучения – показатели, как долго сеть способна улучшать предсказания на тестовом множестве. Под эпохой обучения понимают однократное предъявление сети набора обучающих примеров. Число эпох и время обучения меняются в зависимости от заданных темпа обучения и момента, устанавливаемых из желаемой точности предсказания. Чем меньше их значения, тем более точен результат и тем дольше обучается нейросеть. В использованной сети оба параметра имели значение 0,003.
Коэффициент Q сравнивает точность нейросетевой модели с точностью модели, в которой предсказания одинаковы и совпадают со средним значением всех примеров. Для последней модели коэффициент Q равен нулю. Самый лучший результат достигается, если Q принимает значение 1, для очень хорошего результата Q близок к 1, для очень плохого - в окрестности 0. Если нейросетевое предсказание оказывается хуже, чем предсказание на основе среднего по всем примерам, то значение Q может оказаться меньше 0.
r-квадрат – коэффициент детерминации, равный отношению дисперсии предсказанных значений к дисперсии фактических, показывая, какая часть дисперсии предсказанных значений объясняется уравнением регрессии.
Средняя ошибка – усредненный по обработанным примерам модуль разности между предсказанным и фактическим значениями.
Максимальная ошибка – это максимальный модуль разности между предсказанным и фактическим значениями среди всех обработанных примеров.
% правильного предсказания знака изменения – это отношение числа примеров, для которых знак реального и предсказанного значения совпадают, и общего числа обработанных примеров, умноженное на 100.
Ниже с их помощью оценена эффективность нейросетевых предсказаний динамики фьючерсных котировок для SP, ED, DM. Результаты сведены в таблицу 1. Она состоит из трех блоков. Второй содержит статистику, относящуюся ко всем данным по трем временным рядам, а именно, к 1173 отсчетам для S&P500 и по 1170 отсчетов для марки ФРГ и евродоллара. Третий блок отражает статистику по рабочим множествам: из 77 отсчетов для S&P500 и 74 отсчетов для марки ФРГ и евродоллара.
Таблица. 3.1.
Численные характеристики качества нейросетевого прогноза международных финансовых инструментов
характеристика качества
Фьючерс на S&P500
Фьючерс на марку ФРГ
Фьючерс на евродоллар
Число эпох обучения
30512
6779
1873
Время обучения (часов округленно)
19
4
1
Число примеров для обучения
1173
1170
1170
Коэффициент Q
0,7408
0,7594
0,7436
r–квадрат
0,7431
0,7612
0,7452
Средняя ошибка, %
0,182
0,196
0,179
Мах. Ошибка, %
2,172
1,291
2,281
% правильных предсказаний знака изменения
86
83
83
Число примеров для предсказаний
77
74
74
Коэффициент Q
0,8032
0,5897
0,4517
r–квадрат
0,8062
0,6319
0,5697
Средняя ошибка, %
0.217
0,279
0,201
Мах. Ошибка, %
0.799
1,046
1,234
% правильных предсказаний знака изменения
88
86
88
Источник: составлена автором.
Мы видим, что из трех проанализированных фьючерсных котировок наилучшие предсказания достигаются на S&P500, наихудшие – на евродолларе, промежуточные - для марки ФРГ. Это следует из значений коэффициента Q на рабочем множестве (см. нижний блок табл.1), хотя визуально на рис. 2а, 2b и 2c отличие в качестве прогнозов заметить давольно трудно. Следует отметить, что несмотря на одинаковое качество обучения нейросети на SP, ED, DM (см. значения коэффициента Q в первом блоке табл.1), сеть обучалась на SP в 5 раз дольше, чем на DM, а на DM – в 4 раз дольше, чем на ED. Это, по-видимому, означает, что найти скрытые закономерности, содержащиеся во фьючерсных котировках на SP, значительно сложнее, чем соответствующие закономерности в DM и тем более в ED. В то же время, как отмечено выше, наилучшее качество прогноза достигается как раз на SP, а наихудшее – на ED. Все вместе это свидетельствует о том, что скрытые закономерности, обнаруженные нейросетью в SP, сохраняют свой характер на более длительных интервалах времени по сравнению с ED или, иными словами, фьючерсы на ED более подвержены смене внутренних закономерностей, что и приводит к наихудшему качеству прогноза.
Таким образом, отражая современные тенденции в финансовом мире, междисциплинарный подход в экономике и финансах является прорывом в комбинировании различных методов теории сложности, таких, например, как методы нелинейной и хаотической динамики, мультифрактальный анализ и нейротехнологии. Интегральной задачей этого синтеза является дизайн, развитие и построения адаптивных интеллектуальных систем, помогающих практикам выигрывать в жесткой конкурентной среде.
В главе 3 рассмотрены динамические процессы на валютном, денежном, капитальном рынках в краткосрочные периоды, спрогнозирована дневная динамика методом нейронных сетей.
Анализируемые в настоящем разделе финансовые инструменты– это фьючерсы:
на курс доллар США – немецкая марка (обозначен как DM);
на ставку процента ЛИБОР по евродолларам (ED);
на фондовый американский индекс Стэндарт-энд-Пурс S&P500 (SP)
Достигнута цель исследования – показано, что нейронные сети способны находить скрытые динамические закономерности в данных, на которых они обучаются, и (на этой основе) прогнозировать динамику, статистически оценивая результаты прогноза. Следует отметить, что хорошо обученная нейронная сеть часто находит в данных закономерности, не доступные человеку-аналитику.
Эффективность предсказаний нейросети проверялась сравнением фактического значения и предсказанного нейросетью. Из трех проанализированных фьючерсных котировок наилучшие предсказания достигаются на S&P500, наихудшие – на евродолларе, промежуточные - для марки ФРГ.
ЗАКЛЮЧЕНИЕ
В настоящее время искусственные нейронные сети уже позволили справиться с рядом непростых проблем и обещают создание новых программ и устройств, способных решать задачи, которые пока под силу только человеку. Современные нейрокомпьютеры используются в основном в программных продуктах и поэтому редко задействуют свой потенциал «параллелизма». Эпоха настоящих параллельных нейровычислений начнется с появлением на рынке большого числа аппаратных реализаций – специализированных нейрочипов и плат расширений, предназначенных для обработки речи, видео, статических изображений и других типов образной информации.
Множество надежд в отношении нейронных сетей сегодня связывают именно с аппаратными реализациями, но пока время их массового выхода на рынок, видимо, еще не пришло. Они или выпускаются в составе специализированных устройств, или достаточно дороги, а зачастую и то и другое. На их разработку тратится значительное время, за которое программные реализации на самых последних компьютерах оказываются лишь на порядок менее производительными, что делает использование нейропроцессоров нерентабельным. Но все это только вопрос времени – нейронным сетям предстоит пройти тот же путь, по которому еще совсем недавно развивались компьютеры, увеличивая свои возможности и производительность, захватывая новые сферы применения по мере возникновения новых задач и развития технической основы для их разработки.
Должен измениться и интерфейс взаимодействия пользователя с сетью, который будет основываться на интеллектуальных агентах – новом виде программного обеспечения, получившем название «Agentware». Агенты будут взаимодействовать не только со своим пользователем, но и с другими такими же агентами и со специальными сервисами. Вследствие этого в сети появится своего рода новый социум с самообучающимися агентами, которые будут принимать решения от имени пользователя, и пока еще трудно сказать, к чему это приведет.
В качестве подведения итогов хотелось бы сказать, что сегодня нейронные сети уже не являются уделом небольшой группы теоретиков. К нейросетевым приложениям подключаются инженеры и исследователи разных специальностей. Особенно радует прогресс в построении удачных нейросетевых моделей исследуемых явлений, полностью базирующихся на экспериментальных данных. Здесь наиболее полно проявляются замечательные свойства искусственных нейронных систем: массивная параллельность обработки информации, ассоциативность памяти и способность к обучению на опыте. Это открывает новые перспективы для систематизации многочисленной экспериментальной информации в таких областях знаний, где традиционно трудно приживается математический формализм, например, в медицине, психологии и истории.
В ходе выполнения данной курсовой работы была достигнута цель исследования, а именно изучено применение нейронных сетей к задачам биржевой деятельности. Также были успешно решены поставленные задачи: ознакомление со структурой нейронных сетей, правилами и принципами их функционирования. В практической части была доказана эффективность применения нейронных сетей к наиболее востребованной задаче биржевой деятельности – прогнозированию.
В дальнейших исследованиях необходимо осуществить расширение круга поставленных перед искусственной нейронной сетью задач, что может найти практическое применение в экономической деятельности субъектов хозяйствования.
СПИСОК ИСТОЧНИКОВ
Бобин А. Ю., Восьмирко С.О., Зубов М.Е. Программное обеспечение метода экстраполяции измерительных данных на основе нейронной сети. Радиотехника, электротехника и энергетика. – М.: Издательство МЭИ, 2003. – 388 с.
Богославский С.Н. Область применения искусственныхнейронных сетей иперспективы их развития. – М.: Издательство МЭИ, 2003. – 388 с.
Горбань А. Н., Россиев Д. А. Нейронные сети на персональном компьютере. – Новосибирск.: Наука, 2006. – 289 с.
Ежов А.А., Шумский С.А. Нейрокомпьютинг и его применения в экономике и бизнесе. – М.: Издательство МЭИ, 2007. – 556 с.
Крисилов В.А., Олешко Д.Н., Трутнев А.В. Применение нейронных сетей в задачах интеллектуального анализа информации // Труды Одесского политехнического университета. – 2007. – № 2.– С. 148-152.
Круг П.Г. Нейронные сети и нейрокомпьютеры: Учебное пособие по курсу «Микропроцессоры». – М.: Издательство МЭИ, 2002. – 176 с.
Малинецкий Г.Г., Потапов А.Б. Русла и джокеры: о новых методах прогноза поведения сложных систем. – М.: Издательство МЭИ, 2007. – 486 с.
Малинецкий Г.Г., Потапов А.Б. Современные проблемы нелинейной динамики. – М.: Издательство МЭИ, 2007. – 686 с.
Мариуца О.В., Колнаузов Е.С. Богданов А.В. Дегтярев А.Б. Информационно-аналитическое обеспечение проектирования систем поддержки принятия решений для финансовых рынков. – С.-П., 2007. – 545 с.
Садовой А. В. Нейронные сети. STATISTICA Neural Networks. – М., 2004. – 582 с.
Сотник С. Л. Алгоритмы обучения нейронных сетей будущего. – М., 2006. – 481 с.
Уоссермен Ф. Нейрокомпьютерная техника. – М.: Мир, 2003. – 258 с.
Baestaens D.E., Den Bergh W.-M.Van, Wood D. Neural network solutions for trading in financial markets. Pitman Publishing, 2004. – 545 р.
Cassetti M.D. A neural network system for reliable trading signals, Stocks&Commodities, 2003. – 645 р.
Cont R., Scaling and correlation in financial data, 2007. – 265 р.
Giles C.L., Lawrence S., Tsoi A.Ch., Rule inference for financial prediction using recurrent neural networks, 2006. – 365 р.
Hecht-Nielsen R., Neurocomputing.: Addison-Wesley Publishing Company, Inc., 2007. – 456 р.
Moody J., Liao, Y., Saffel, M. Performance Function and Reinforcement Learning for Trading Systems and Portfolios // Journal of Forecasting. – 2007. – № 17. – Р. 441-470.
Prokhorov D., Puskorius G., Feldkamp L. Dynamical Neural Networks for Control. In J. Kolen and S. Kremer (eds.) A Field Guide to Dynamical Recurrent Networks. – L.: IEEE Press, 2004. – P. 23-78.
Нравится материал? Поддержи автора!
Ещё документы из категории информатика:
Чтобы скачать документ, порекомендуйте, пожалуйста, его своим друзьям в любой соц. сети.
После чего кнопка «СКАЧАТЬ» станет доступной!
Кнопочки находятся чуть ниже. Спасибо!
Кнопки:
Скачать документ