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

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

Рубрика Банковское, биржевое дело и страхование
Вид дипломная работа
Язык русский
Дата добавления 30.08.2016
Размер файла 574,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

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

Введение

нейронный сеть фондовый рынок

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

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

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

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

Как уже отмечалось ранее, данная тематика является относительно новым направлением научных поисков. Но методологическая основа для данной работы, исследования искусственных нейронных сетей, уже сформирована как самодостаточная теория. Активные исследования искусственных нейронных сетей, как подкласса самоорганизующихся сложных динамических систем, начались в середине двадцатого века. Фундамент дальнейших научных поисков был заложен в знаменитой работе У. МакКаллока и У. Питтса [18], в которой впервые была формально описана модель искусственной нейронной сети. Работа Хебба[44] послужила теоретической основой для обоснования возможности имитационного моделирования процессов головного мозга на основе искусственных нейронных сетей. Ну и, конечно же, знаменитая работа Розенблатта[27], в которой ученый описал базовую (и на сегодняшний день) архитектуру нейросети.

Применение искусственных нейронных сетей непосредственно для финансово-биржевого анализа подробно освещено в базовых для данного исследования работах Головочева С. [8, 9] и Ежова А., Шумского С. [14]. Используя все вышеуказанные работы в качестве методологической основы, было проведено собственное исследование эффективности применения искусственных нейронных сетей и методов предварительной обработки данных для прогнозирования направления динамики изменения финансово-временных показателей биржевых инструментов - котировок.

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

Предметом выступает анализ эффективности нейросетевой модели многослойного перцептрона для решения задач указанного класса.

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

В соответствии с целью исследования, ставятся и решаются следующие задачи:

· Выбор структуры модели искусственной нейронной сети прямого распространения для эффективного решения класса задач анализа и прогнозирования финансовых временных рядов.

· Формирование нескольких архитектур сетей на основе выбранной структуры для дальнейшего анализа их эффективности.

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

· Анализ методов первичной обработки финансово-временных данных для формирования эмпирической базы.

· Выбор метода предварительной обработки данных для повышения статистической значимости и качества «входов» нейронной сети.

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

· Реализация вышеуказанного при помощи изученного инструментария (язык программирования C#, Visual Studio 2015) для анализа эффективности предложенного метода.

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

В качестве анализируемых финансово-биржевых инструментов, выбраны акции, эмитированные российскими компаниями из различных секторов экономики и входящие в индекс РТС. В работе использовались реальные данные о котировках акций, предоставляемые брокерской компанией «Финам» (www.finam.ru). Временные рамки исследования:

· 01.01.2014 - 01.01.2016 гг. - интервал, данные об акциях на котором, использовались для обучения нейронной сети

· 01.01.2016 - 15.05.2016 гг. - котировки из этого интервала подавались на вход сети в качестве тестовой выборки.

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

1. Теоретическая часть

нейронный сеть фондовый рынок

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

Актуальность

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

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

Фундаментальный анализ основывается на экономико-факторной оценке финансового актива. Данный подход опирается на предположение, что рынок, как сложная динамическая система, не является эффективным в каждый момент времени. Попытка определить истинную стоимость актива, на основе текущих и приведенных (в соответствии со ставкой дисконтирования) будущих денежных потоков, и «опередить» рынок - основная задача фундаментального аналитика[38]. Главным недостатком такого рода анализа является высокая степень субъективности, а также, зачастую, невозможность определения конкретного момента времени для совершения сделки. Решением последней проблемы могут служить инструменты технического анализа.

Аксиоматика технического анализа основывается на постулате, что цена финансового актива является объективным отражением реального положения дел на рынке. Другими словами, все объективные факторы, характеризующие данный актив, уже заложены в текущую цену. Динамика изменения рыночной стоимости актива, в свою очередь, характеризуется как совокупная оценка участниками рынка текущих событий, а не непосредственная реакция на эти события[38]. Именно поэтому, технический подход к анализу финансовых инструментов включает в себе изучение конъюнктуры курсов и выявление скрытых закономерностей для дальнейшего прогнозирования.

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

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

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

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

Во-вторых, нейросетевой моделирование позволяет находить оптимальные решения для каждого конкретного инструмента, что является отличием от основанного на общих рекомендациях технического анализа [36, 20, 23, 24]. Более того, в силу своей адаптивности, нейросетевые стратегии легко подстраиваются по изменения рынка. Такого рода преимущество особенно ощутимо при анализе развивающихся рынков, к коим, безусловно, можно отнести российский рынок ценных бумаг.

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

Методологическая основа

Предпосылки

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

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

Рис. 1

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

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

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

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

Активные исследования искусственных нейронных сетей, как подкласса самоорганизующихся сложных динамических систем, начались в середине двадцатого века. Фундамент дальнейших научных поисков был заложен в знаменитой работе У. МакКаллока и У. Питтса [18], в которой впервые была формально описана модель искусственной нейронной сети. Работа Хебба[44], о которой уже упоминалось выше, послужила теоретической основой для обоснования возможности имитационного моделирования процессов головного мозга на основе искусственных нейронных сетей. Ну и, конечно же, знаменитая работа Розенблатта[27], в которой ученый описал базовую (и на сегодняшний день) архитектуру нейросети.

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

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

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

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

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

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

Более глубокий анализ структуры конкретных рынков и, соответственно, механизмов ценообразования на них также опровергает теорию «эффективного рынка» с той точки зрения, что доходности не подчиняются нормальному распределению. Колебания на рынке не могут рассматриваться как «белый шум», а представляют собой комбинацию случайных сепарабельных процессов и строгих детерминистских концепций [8, 9, 25]. В подтверждение этому, Р. Шиллер в своей работе определил наличие сильных выбросов на финансовых рынках, а также предсказал и описал так называемый «пузырь» (возникновение кризисной ситуации, что по своей сущности противоречит модели абсолютной эффективности фондового рынка), который сформировался на рынке ипотечного кредитования. Основываясь на данных эмпирических опровержениях, можно сделать вывод, что механизмы функционирования фондового рынка не могут быть описаны в рамках законов нормального распределения, а, напротив, подчиняются степенным законам. Данный вывод дает возможность охарактеризовать систему фондового рынка как сложную самоорганизующуюся динамическую систему.

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

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

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

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

· Адаптивность. Любая нейронная сеть умеет адаптироваться в «новой среде», подстраиваясь под изменения при помощи настройки синаптических весов между нейронами. Данное свойство дает возможность использовать системы, базирующиеся на нейросетях, в нейстационарных, то есть динамических, средах. Данное исследование основывается на отвержении гипотезы (0) о том, что рынок является информационно-эффективным. Следовательно, для анализа фондового рынка, сложной самоорганизующейся динамической системы, адаптивность искусственных нейронных сетей является первоочередным.

· Отсутствие априорных наблюдений (обучение «с нуля»). Моделирование механизмов ценообразования на фондовом рынке с привлечением априорных эмпирических наблюдений отдаляет данный подход от чисто технического. Искусственные нейронные сети позволяют строить модели, которые обучаются «с нуля» (то есть без привлечения априорных соображений!). Данное свойство обеспечивается за счет возможности прямого отображения входных данных в выходные при обучении. Аналогией подобного метода в статистике является непараметрическое обучение, то есть обучение, не основанное на конкретной модели вероятностного распределения. В подобной парадигме производится обучение нейросетей «с учителем». Как уже отмечалось ранее, данное свойство является очень важным для институциональных инвесторов, прибегающих к техническому анализу рынков при помощи нейросетевых моделей.

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

Принципы построения искусственных нейронных сетей прямого распространения.

Первым этапом работы с искусственными нейронными сетями является определение типа архитектуры сети (конструкция узлов и связей между ними). Саймон Хайкин выделяет три фундаментальных класс архитектур нейронных сетей: однослойные и многослойные сети прямого распространения, а также рекуррентные сети[36]. В данной работе для решения задачи анализа и прогнозирования финансовых временных рядов будет использоваться нейронная сеть с типом архитектуры - многослойная сеть прямого распространения. На рисунке 2 представлена структура такой сети.

Рис. 2

Данное понятие, архитектура сети, не может рассматриваться вне разреза используемых алгоритмов обучения. Многослойная сеть прямого распространения в качестве алгоритма обучения использует «алгоритм обратного распространения ошибки». То есть, для сетей такого типа характерна прямая передача сигналов между слоями - от входного к первому скрытому, от первого скрытого ко второму и так далее - и обратная передача значений ошибки сети. На рисунке 3 представлена сеть с одним скрытым слоем и показано, каким образом происходит распространение ошибки:

Рис. 3.

здесь

Также следует отметить, что нейроны скрытых слоев, а также выходные нейроны для сетей прямого распространения являются сумматорами «силы» потоков из предыдущего слоя. Под «силой» потока понимается степень влияния связанного нейрона, от которого поступает сигнал, на данный. Формальное определение функциональности нейрона описывается следующим образом (и проиллюстрировано на Рис. 4):

где n - число входов нейрона; - значение i-го входа нейрона; - вес i-го синапса.

Рис. 4

Как видно из рисунка 4, для построения полноценной сети также требуется выбрать функцию активации нейрона f(u). Существуют несколько видов функций, которые широко применяются при построении сетей прямого распространения. Простейшей такой функцией является пороговая функция, которая принимает значение 1, активно, когда сумма входных сигналов для нейрона превышает заданный порог, и 0, неактивно, в противном случае. Но подобного рода функцию невозможно применять, в качестве активационной для нейрона, при обучении сети при помощи алгоритма «обратного распространения ошибки» (которой рассматривается в качестве основного для данной работы), так как она не является дифференцируемой. Ниже приведены функции, удовлетворяющие требованиям дифференциации, и, соответственно, могут применяться при построении искусственной нейронной сети прямого распространения с алгоритмом обучения, основанном на обратном распространении ошибки (подробно о выборе функции активации для рассматриваемой в работе модели см. Глава 2):

· Экспоненциальная функция

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

· Логистическая

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

· Гиперболический тангенс

Главным отличием данной функции от логистической является смещенная область значений. Область значений гиперболического тангенса - (-1; 1), логистической функции - (0; 1).

2. Практическая часть

В данной главе рассмотрены все этапы построения конкретной нейросетевой модели для анализа и прогнозирования цен на акции эмитентов, входящих в индекс РТС.

Построение модели искусственной нейронной сети, в разрезе поставленной задачи, включает следующие этапы:

· Выбор эмпирической базы для исследования. Применительно к данной задаче:

1. Выбор временного интервала для данных, который сформируют обучающую выборку для нейронной сети

2. Выбор временного интервала для данных, на основе которых будет оцениваться эффективность прогноза модели

3. Определение «частоты» данных о котировках (тики, минутные бары, дневные котировки и тд.)

4. Определение набора инструментов, которое будут объектом анализа искусственной нейронной сети

5. Поиск релевантных данных в соответствии с пунктами 1-3.

· Формирование начальных входных данных для модели. Обработка данных из сформированной «базы данных» для подачи на вход нейронной сети.

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

· Преддоработка нормированных данных - дополнительный анализ используемых «входов» и попытка исключить очевидные тривиальные закономерности для более эффективной последующей работы сети.

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

· Анализ эффективности обученных сетей на основе тестовых адаптивных предсказаний

Модель нейронной сети

В работе рассматривается математическая модель нейронной сети многослойный персептрон. Являясь обобщением однослойного персептрона, данная модель относится к классу нейронных сетей прямого распространения. Сеть, архитектура которой представлена на рисунке 5, состоит из входного слоя (множество нейронов-сенсоров), одного (частный случай - однослойный персептрон) или нескольких скрытых слоев и одного выходного слоя.

Рис. 5

Выбор данного типа архитектуры нейронной сети для решения класса задач анализа и прогнозирования динамики цен финансовых активов основывается на практическом доказательстве эффективности данной модели [36, 4, 5, 8, 9, 13, 16, 20, 23, 25, 40]. Но возникает вопрос: является ли выбор данной модели теоретически обоснованным?

Гипотеза 1: Модель искусственной нейронной сети многослонный перцептрон способна решать задачи анализа и прогнозирования финансовых временных рядов. (1)

Модель искусственной нейронной сети многослойный перцептрон с алгоритмом обучения «алгоритм обратного распространения ошибки» является практическим механизмом реализации нелинейного отображения входных данных в выходные. То есть отношение множеств «входные данные - выходные данные» определяет отображение - мерного Евклидова пространства в - мерное (где - количество нейронов во входном слое; - количество нейроном в выходном слое). В случае, если функция активации является непрерывно дифференцируемой (в данной работе, как уже было сказано, пороговая функция активации использоваться не будет), данное отображение является также непрерывно дифференцируемым бесконечное число раз. Таким образом, гипотеза (1) вырождается в новую гипотезу:

Гипотеза 2: Модель искусственной нейронной сети многослойный перцептрон с любым количеством скрытых слоев обеспечивает аппроксимацию непрерывного отображения «вход - выход». (2)

Согласно теореме об универсальности аппроксимации [36], для любой ограниченной, не постоянной монотонно возрастающей непрерывной функции существует такое число из многомерного единичного куба и такой набор действительных чисел, которые функционально определяют аппроксимацию данной функции для любого Данная теорема может применяться к модели многослойного перцептрона, при условии, что функция активации (из списка функций, описанных в Главе 1) не является пороговой (экспоненциальная, логистическая функция и функция гиперболического тангенса удовлетворяют всем условиям, накладываемым на функцию теоремой). Таким образом, на основе теоремы об универсальности аппроксимации, можно утверждать, что один скрытый слой в модели искусственной нейронной сети многослойный перцептрон достаточен для построения равномерной аппроксимации «вход - выход» для любого обучающего множества с точностью . Гипотеза (2), и как следствие гипотеза (1), - принимаются.

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

Данные

Источник и формат входных данных

В качестве объектов нейросетевого анализа были выбраны следующие акции, входящие в индекс РТС:

· Сбербанк

· ВТБ

· Башнефть

· Роснефть

Для обучения и тестирования нейронной сети использовались данные котировок, предоставляемые брокерской компанией АО «Инвестиционный холдинг ФИНАмМ» (Сайт: http://www.finam.ru/).

Рис. 6. Интерфейс экспорта котировок

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

Рис. 7. Пример экспортированных данных, на основе которых формируются входные данные для нейронной сети

Нормирование начальных входных данных

Экспортированные данные включают следующие значения:

1. Цена открытия - цена финансового инструмента на момент заключения первой сделки в выбранном временном интервале (тики, 5 мин, час и тд.)

2. Цена закрытия - цена финансового инструмента на момент заключения последней сделки

3. Максимальная цена

4. Минимальная цена

5. Объем торгов

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

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

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

Преддоработка входных данных при помощи метода главных компонент

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

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

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

Формирование обучающей выборки при помощи «метода скользящего окна»

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

Рис. 8. Иллюстрация алгоритма формирования «окон»

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

Архитектура сети

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

Ниже приведен поэтапный процесс обучения многослойного перцептрона с обратным распространением ошибки:

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

· Формирование обучающей выборки на основе вышеописанных методов.

· Вычисление выходного сигнала сети - взвешенная сумма сигналов выходного слоя (традиционная схема функционирования многослойных сетей прямого распространения).

· Вычисление ошибки и настройка весов сети. Подстройка весов производится в соответствии с формулой:

где (t) - вес синапса, соединяющего нейрон i и j в момент времени t,

- значение выхода нейрона i,

r - скорость обучения,

- значение ошибки для нейрона j

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

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

где и - желаемый и текущий выходы нейрона j.

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

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

Логистическая функция

И функция гиперболического тангенса

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

где T - порог нейрона.

Таким образом, подводя итоги главы, общая схема реализуемого проекта выглядит следующим образом:

3. Анализ результатов

Реализация

Реализация системы для анализа эффективности работы искусственной нейронной сети многослойны перцептрон при решении задачи прогнозирования финансовых временных рядов была выполнена на языке программирования C# в Visual Studio 2015 [12].

Система состоит из трех проектов:

· DataPreparation - проект, в котором реализованы методы предварительной обработки данных: обработка Excel - файла исходного эмпирического массива данных, нормирование начальных входных данных, преддоработка при помощи метода главных компонент и формирование обучающей выборки.

· MultilayerPerceptron - реализация архитектуры многослойного перцептрона.

· MultilayerPerceptronsTrainingConsoleApplication - проект (консольное приложение), в котором реализован процесс обучения и расчет показателя точности предсказания нейросети. Следует напомнить сделанный во второй главе вывод, что для данного класса задач более важным является верно определенное направление изменения динамики цены, нежели близость прогноза к целевому по абсолютному значению. И именно поэтому, в качестве оценки эффективности нейросетевого прогнозирования использовался процент верно предсказанного направления (рост / снижение) движения котировок.

Реализация класса для работы с Excel - файлами

Методы обработки Excel - файла реализованы в проекте DataPreparation (Namespace: DataPreparation. Excel). Используемые библиотеки: DocumentFormat. OpenXml. Packaging, DocumentFormat. OpenXml. Spreadsheet. Данный модуль открывает Excel-файл с информацией о котировках биржевого инструмента, обрабатывает его и подает данные на вход модулю DataPreparation. Код реализации на языке C# с комментариями приведен в приложении [12, 43].

Реализация метода главных компонент

Реализация предварительной обработки методом главных компонент выполнена с использованием библиотеки Accord (Namespace Accord. Statistics. Analysis).

[SerializableAttribute]

public class PrincipalComponentAnalysis: IProjectionAnalysis, IMultivariateAnalysis, IAnalysis

 // Инициализация класса метода главных компонент

var pca = new PrincipalComponentAnalysis (inputDataMatrix, AnalysisMethod. Center);

pca. Compute();

 // Выделение компонент с величиной сжатия (1 - p)%

double [,] components = pca. Transform (inputDataMatrix, p, true);

Реализация архитектуры многослойного перцепетрона

Класс синапсов (связей)

Данный объект искусственной нейронной сети реализован в классе Namespace MultilayerPerceptron. Synapse [12, 42, 46]. Свойства:

· InputNeuron - объект класса Neuron, являющийся началом данной синаптической связи

· OutputNeuron - объект класса Neuron из следующего, по отношению к InputNeuron, слоя и соединяющийся с ним (InputNeuron) при помощи данной синаптической связи

· Weight - вес связи, отражающий чувствительность OutputNeuron к сигналу от InputNeuron

· WeightDelta - величина корректировка веса связи

Конструктор:

public Synapse (Neuron inputNeuron, Neuron outputNeuron)

{

InputNeuron = inputNeuron;

OutputNeuron = outputNeuron;

Weight = NeuralNetwork. NextRandom();

}

Класс нейронов

В системе реализован класс нейронов (Namespace MultilayerPerceptron. Neuron) со следующими свойствами:

· Inputs - список входных синапсов данного нейрона

· Outputs - список выходных синапсов

· Bias - смещение, сдвиг за счет дополнительного сигнала из вне

· BiasDelta - величина изменения сдвига нейрона

· Value - значение нейрона на выходе

· Gradient - «шаг» настройки синаптических весов при обратном распространении ошибки

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

public Neuron()

{

Inputs = new List<Synapse>();

Outputs = new List<Synapse>();

Bias = NeuralNetwork. NextRandom() / 100;

}

public Neuron (List<Neuron> inputLayer): this()

{

foreach (Neuron neuron in inputLayer)

{

Synapse synapse = new Synapse (neuron, this);

neuron. Outputs. Add(synapse);

Inputs. Add(synapse);

}

}

Метод, рассчитывающий выход нейрона, основывается на вычислении значения логистической функции (1) или функции гиперболического тангенса (2) в точке

public virtual double Value()

{

Value = NeuralNetwork. TgFunction (Inputs. Sum (synapse => synapse. Weight * synapse. InputNeuron. Value) - Bias);

 // или Value = NeuralNetwork. LogisticFunction (InputSynapses. Sum (synapse => synapse. Weight * synapse. InputNeuron. Value) - Bias);

return Value;

}

Метод вычисления ошибки (обоснование выбора данного расчета приведено в главе 2):

public double Error (double target)

{

return - Math. Log (1 + target * Value);

}

Метод корректировки синаптических весов для выходного и всех скрытых слоев:

public void AdjustWeights (double learningRate, double moment)

{

double oldBiasDelta = BiasDelta;

BiasDelta = learningRate * Gradient;

Bias += BiasDelta + moment * oldBiasDelta;

foreach (Synapse synapse in Inputs)

{

synapse. WeightDelta = learningRate * Gradient * synapse. InputNeuron. Value;

synapse. Weight += synapse. WeightDelta;

}

}

Класс, описывающий нейронной сеть

Namespace MultilayerPerceptron. NeuralNetwork. Свойства класса:

· LearningRate - скорость обучения, действительное число

· Moment - момент, параметр, отражающий степень влияния величины ошибки на изменение синаптических весов в процессе «эволюции» сети, действительное число

· InputLayer - нейроны входного слоя, список объектов класса Neuron

· OutputLayer - нейроны выходного слоя, список объектов класса Neuron

· FirstHiddenLayer, SecondHiddenLayer и тд - нейроны скрытых слоев, список объектов класса Neuron

Конструктор:

public NeuralNetwork (int inputSize,

int firstHiddenSize,

int secondHiddenSize,

int outputSize)

{

LearningRate = /*double*/;

Moment = /*double*/;

InputLayer = new List<Neuron>();

FirstHiddenLayer = new List<Neuron>();

SecondHiddenLayer = new List<Neuron>();

ThirdHiddenLayer = new List<Neuron>();

OutputLayer = new List<Neuron>();

for (int i = 0; i < inputSize; i++)

InputLayer. Add (new Neuron());

for (int i = 0; i < firstHiddenSize; i++)

FirstHiddenLayer. Add (new Neuron(InputLayer));

for (int i = 0; i < secondHiddenSize; i++)


Подобные документы

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

    презентация [250,5 K], добавлен 14.08.2013

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

    дипломная работа [166,7 K], добавлен 23.01.2016

  • Дифференциальное уравнение Фоккера-Планка как инструмент прогнозирования на финансовом рынке. Особенности его выведения и способы решения. Нахождение функции плотности вероятности в начальном состоянии. Расчет оптимального веса ценных бумаг в портфеле.

    дипломная работа [1,0 M], добавлен 22.10.2016

  • Моделирование интеллектуальной деятельности человека. Применение нейроматематики для трудноформализуемых и неформализуемых задач. Принятие решения о выдаче кредита клиенту на примере банка "Драгоценности Урала". Определение степени кредитного риска.

    презентация [111,8 K], добавлен 19.08.2013

  • Классификация по различным критериям (степени вероятности, однородности) и алгоритм выбора методов прогнозирования в практике бизнеса. Анализ недостатков "мягких" вычислений, генетических алгоритмов и нечеткой логики, основанных на нейронных сетях.

    контрольная работа [29,8 K], добавлен 29.01.2010

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

    курсовая работа [89,8 K], добавлен 28.11.2014

  • Деятельность коммерческих банков в Российской Федерации на рынке ценных бумаг. Основные принципы формирования портфеля инвестиций. Деятельность Сбербанка на фондовом рынке. Методика определения стоимости пакета акций. Вексельный кредит инвесторам.

    дипломная работа [786,9 K], добавлен 11.06.2014

  • На валютно-фондовом рынке обращаются такие финансовые инструменты, как ценные бумаги и валюты разных стран. Цель валютно-фондового рынка – аккумуляция финансовых ресурсов. Валютно-фондовая биржа – организатор торговли на валютно-фондовом рынке.

    курсовая работа [55,6 K], добавлен 25.12.2008

  • Рассмотрение понятий и видов профессиональной деятельности на рынке ценных бумаг. Характеристика брокерских, дилерских, клиринговых и депозитарных типов услуг на фондовом рынке. Изучение особенностей управления ценными бумагами и ведения их реестра.

    курсовая работа [38,3 K], добавлен 13.07.2010

  • Сущность российского рынка ценных бумаг. Место и роль коммерческих банков на фондовом рынке. Деятельность Сбербанка на рынке ценных бумаг с точки зрения эмиссии ценных бумаг. Характеристика инвестиционной деятельности Сбербанка на рынке ценных бумаг.

    дипломная работа [3,5 M], добавлен 14.06.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.