№>3(15)2008
В.Н. Бугорский, А.Г. Сергиенко
Использование нейронных сетей для моделирования прогноза котировок ценных бумаг
В современных условиях становления российского рынка ценных бумаг особую значимость приобретают исследования по моделированию прогнозов котировок ценных бумаг. Недавние колебания биржевых индексов, продолжающийся кризис ипотечного кредитования в США и другие потрясения рынка ценных бумаг показывают, что необходимость в данных исследованиях назрела. Как в России, так и в передовых развитых странах колебания этого рынка все менее зависят от политического влияния и влияния других нерыночных факторов, что подтверждает необходимость проведения объективных исследований в этой области. Научно-методические разработки по данной тематике могут быть полезны как для юридических, так и для физических лиц.
По мере возрастания зависимости российского рынка ценных бумаг от американского, европейского и азиатского рынков — а эта зависимость после вступления России в ВТО, размещения ценных бумаг ведущих российских фондовых игроков на мировых фондовых площадках, значительного роста притока инвестиционного капитала станет неизбежной — данная тема будет очень важной в схемах определения перспектив рынка, противодействия кризисным явлениям на рынке ценных бумаг.
Значительная часть населения Российской Федерации владеет ценными бумагами, а в последнее время под влиянием государства происходит «народное» размещение ценных бумаг, особенно акций крупных предприятий и организаций (ВТБ, Сбербанк и др.).
В связи с этим благодаря созданию модели прогноза котировок любой гражданин сможет принять решение как о совершении каких-либо действий с ценными бумагами, так и о своем желании вступить в рынок ценных бумаг.
Зная состояние и возможности рынка, физическое лицо — держатель ценных бумаг может планировать доходы и расходы,
прогнозировать свое финансовое будущее, принимать важные рыночные решения.
Модель прогноза котировок ценных бумаг поможет предприятиям и организациям определить перспективы рынка, его динамику, наиболее успешное и доходное направление деятельности. Кроме того, создание модели прогнозирования может предупредить о вероятных кризисных явлениях, предопределит спад котировок ценных бумаг на тех или иных рынках.
В конечном итоге, внедрение моделирования прогноза ценных бумаг может дать определенный экономический эффект, конкретную финансовую выгоду физическим и юридическим лицам.
Почему нейронные сети?
Несмотря на то что для моделирования прогнозов котировок ценных бумаг существует много эффективных методов, такое свойство моделей нейронных сетей, как универсальность, т.е. возможность их использования для всех типов ценных бумаг, определяет необходимость исследования в данной области и тщательного их изучения.
На протяжении многих лет ключевыми были методы моделирования прогнозов ко-
N93(15)2008
тировок ценных бумаг, основой которых является линейное программирование. Однако в задачах, где линейная аппроксимация неудовлетворительна, линейные модели работают плохо. В связи с этим важное значение приобретает возможность моделей нейронных сетей быть нелинейными, что весьма существенно при моделировании прогнозов.
Модели нейронных сетей относятся к интеллектуальным системам, они позволяют улучшить результаты благодаря самообучению. При этом от пользователя, конечно, требуются определенные теоретические знания о том, как следует подготавливать данные, выбирая нужную архитектуру сети, и интерпретировать полученные результаты. Однако минимально необходимый уровень знаний для использования модели нейронных сетей гораздо скромнее, чем, | например, при использовании традиционно ных методов статистики. | Независимо от типа данных или специфики наблюдаемого явления модель ней* ронной сети является неким абстрактным § подходом в отличие от традиционных. Обыч-| но аналитик специально подготавливает * данные для машины таким образом, чтобы | она смогла решить поставленную задачу. о В отличие от технического анализа, нейро-^ сетевой анализ не налагает ограничений на ;§ характер входной информации. <5 Кроме того, нейронные сети способны | находить индикаторы и строить по ним опти-5 мальную стратегию прогноза для типового « экономического инструмента. Более того, Л эти стратегии могут быть адаптивными, ме-К няясь вместе с рынком, что особенно важно ^ для молодых, активно развивающихся рын-| ков, в частности для российского. Л Влияние случайных факторов колебания ■ё значений котировок ценных бумаг, вызван-| ных непредсказуемыми изменениями эко-| номической ситуации в целом, воздействия 2 государства, а также других факторов пред-§ сказать практически невозможно. Кроме 5а того, нужно учитывать область распределения возможных фактических значений коти-4
ровок ценных бумаг, а также ряда других факторов, которые будут находиться в определенном интервале, гарантирующем определенную вероятность прогноза.
Нейронные сети обратного распространения — это современный инструмент моделирования, позволяющий эффективно решать задачи поиска закономерностей, прогнозирования, качественного анализа с учетом указанных особенностей.
Описание модели
Для построения модели прогноза используется нейронная сеть, состоящая из трех блоков (рис. 1):
1) входные данные;
2) вычислительный и анализирующий блок;
3) выходные данные.
Рис. 1. Блок-схема модели нейронной сети
Входные данные представляют собой выборку, элементы которой содержат следующую информацию:
• данные о котировках ценных бумаг;
• период для анализа значений котировок;
• различного рода корреляционные показатели взаимодействия ценных бумаг;
• неэкономические составляющие, влияющие на изменение значений котировок;
• другая информация, необходимая для построения модели.
В вычислительном и анализирующем блоке происходят все вычислительные, корректирующие и анализирующие процессы обработки входной выборки. Рассчитанные нейронной сетью показатели подаются в выходные данные, которые необходимы аналитику для принятия каких-либо решений.
\ щ » Е |/ц 7,
/ \\Ки /
№3(15)2008
\
Ут
Уг
гя1// //
у №пт ^ 2 Г Чщ > 2
Ь
Рис. 2. Модель нейронной сети обратного распространения
Рассмотрим подробнее схему работы модели нейронной сети обратного распространения (рис. 2).
Матрицу весовых коэффициентов от входов обозначим W, матрицу весовых коэффициентов, следующих за слоем W, — V. Для индексов примем следующие обозначения: входы будем нумеровать только индексом /, следующий за /-м слой — индексом у, а выходы — соответственно индексом к. Число входов сети равно п, число нейронов в следующем за п слое — т, число нейронов в выходном слое — р. Сеть обучается на выборке
(х,О'), '=17,
гдеX' = х\,х2,...,хП — примеры входных образов;
О' = ,б2,...,б'п — примеры выходных образов;
7 — количество входных образов.
При обучении нейронной сети ставится задача минимизации целевой функции ошибки, которая находится по методу наименьших квадратов:
ж;
--т
дБ
' 3 Ж/;
дБ
' д Ук'
5
I
с
I
эё со
Б№ V) = 1 £(Ук - бк )2,
2 к=1
где ук — полученное реальное значение к-го выхода нейросети при подаче на нее одного из входных образов обучающей выборки;
бк — требуемое (целевое) значение к-го выхода для этого образа.
Обучение нейросети производится известным оптимизационным методом градиентного спуска, т. е. на каждой итерации изменение веса производится по формулам:
где а — параметр, определяющий скорость обучения;
N —число итераций при обучении нейронной сети.
В качестве активационной функции в сети обратного распространения обычно используется логистическая функция 1 (в) = —1—,
1 + е- 8
где в — взвешенная сумма входов нейрона.
№>3(15)2008
Эта функция удобна для вычислений в градиентном методе, так как имеет простую производную:
¡'(в) =
(1 + е"
■ = Ш1 - 1 (в)).
Функция ошибки в явном виде не содержит зависимости от весовых коэффициентов и w¡¡, поэтому для вычисления произ-дБ дБ
водных
дЦк дw¡j
I
43
1 *
о со
о &
<0 3 Е
0 &
1 <0 со
I
I
I
I
о §
л
ми дифференцирования сложной функции:
д В _ д В дук д вк
д ук дук двк дук '
где вк — взвешенная сумма входных сигналов к-го нейрона выходного слоя.
Обозначим ус — значение выхода /-го нейрона скрытого слоя. Тогда
т
вк УкУс
/_1
д вк с - _ Ус
д У к
дУк
Аналогично
дВ
дБ дус дв,
д w¡j ду[с дв/ дw¡i
п
Здесь в, _^ w¡/x¡, поэтому
дв:
_ XI (х —
¡ _1 д Щ ' '
¡-я компонента поданного на вход образа
ду с с с
обучающей выборки); —'— _ ус(1 -ус). Так
дв
как функция ошибки не зависит в явном виде от выходов скрытого слоя у с, то произ-
дВ
водная —— имеет вид:
д УС
дБ
дуС
дБ дук двк _ д ук двк дуС
Из полученных ранее выражений для , ^^ и вк имеем:
дук двк
дБ -А
(ук - ак)ук (1 - ук)Ук.
ду1 к _1 Введем обозначение
дБ дук дук двк
воспользуемся формула- тогда
дБ
ду к
= 8 куС
дБ
дW':
= ( ук - )ук (1 - ук),
8кУк 1ус(1 -ус )х.
Так как ук _ 1 (вк), то _ 1 (вк)(1 - 1 (вк)) _ двк
дБ
_ук(1 -ук). Наконец,-_ук- бк. Таким обра-
дук
зом, мы получили выражение для производной:
дБ с
— _ (ук - ^к )ук(1 - ук )ус.
д Ук '
Алгоритм обучения сети обратного распространения проходит в несколько этапов. В первую очередь происходит инициализация сети — весовым коэффициентам присваиваются малые случайные значения — например, из диапазона (-0,3, 0,3) задаются: б — параметр точности обучения, а — параметр скорости обучения (как правило, « 0,1, и он может еще уменьшаться в процессе обучения), Ытах — максимально допустимое число итераций. Затем вычисляется текущий выходной сигнал. На вход сети подается один из образов обучающей выборки и определяются значения выходов всех нейронов нейросети.
В качестве образов для обучения нейронной сети используется выборка, состоящая из значений котировок ценных бумаг, различных числовых характеристик, влияющих на котировки ценных бумаг.
Затем производится операция настройки синаптических весов:
к к
V/к -а
дБ
ду к'
где
дБ
д V ш
_8 кус, 8 к _ (ук - ^к) ук (1 - ук).
wf1 _ wN -а
где
дБ
дW'
дБ
дw¡¡
_\Ъ8 ус (1 - у;) *!■
/ \к _1
Операции обучения повторяются для всех обучающих векторов. Обучение завер-
6
в
е
к
к _1
№3(15)2008
шается по достижении для каждого из обучающих образов значения функции ошибки, не превосходящего б, или после максимально допустимого числа итераций.
Следует учесть, что векторы из обучающей последовательности лучше предъявлять на вход в случайном порядке. Во многих случаях желательно наделять каждый нейрон обучаемым смещением. Это позволяет сдвигать начало отсчета логистической функции, что дает эффект, аналогичный подстройке порога персептронного нейрона, и приводит к ускорению процесса обучения. Такая возможность может быть легко введена в обучающий алгоритм с помощью добавляемого к каждому нейрону веса, присоединенного к +1. Этот вес обучается также, как и все остальные веса, за исключением того, что подаваемый на него сигнал всегда равен +1, а не выходу нейрона предыдущего слоя.
Выходы каждого нейрона сети лежат в диапазоне (0,1) — области значений логистической функции. Это надо учитывать при формировании обучающей выборки. Если необходимо получить от сети бинарный выход, то, как правило, вместо 0 используют
0,1, а вместо 1 —0,9, так как границы интервала недостижимы.
Модификации алгоритма обратного распространения связаны с использованием различных функций ошибки, других актива-ционных функций, различных процедур определения направления и величины шага.
Пример применения модели
Для моделирования прогноза нейронная сеть использует знания о значениях котировок за предшествующий период. Например, анализируя цены акций за январь, февраль, март, апрель, нейронная сеть прогнозирует цену за май с определенной долей вероятности. Таким образом, для построения прогноза необходимо знать значения котировок прошлых временных периодов. Для тестирования модели нейронной сети использовались котировки ценных бумаг ФБ «СПб. "Газпром"» за период с 11.01.2007 по 30.01.2007 (табл. 1).
В табл. 1 представлен набор дат и цен котировок на каждую дату, которые являются обучающей выборкой нейронной сети. Входные значения котировок ценных бу-
Обучающая выборка
Входные значения
Целевое значение
Дата Цена (у.е.) Дата Цена (у.е.) Дата Цена (у.е.)
11.01.2007 262,58 12.01.2007 259,92 15.01.2007 267,80
12.01.2007 259,92 15.01.2007 267,80 16.01.2007 263,46
15.01.2007 267,80 16.01.2007 263,46 17.01.2007 256,51
16.01.2007 263,46 17.01.2007 256,51 18.01.2007 255,29
17.01.2007 256,51 18.01.2007 255,29 19.01.2007 255,89
18.01.2007 255,29 19.01.2007 255,89 22.01.2007 258,85
19.01.2007 255,89 22.01.2007 258,85 23.01.2007 258,77
22.01.2007 258,85 23.01.2007 258,77 24.01.2007 258,71
23.01.2007 258,77 24.01.2007 258,71 25.01.2007 261,64
24.01.2007 258,71 25.01.2007 261,64 26.01.2007 258,82
25.01.2007 261,64 26.01.2007 258,82 29.01.2007 256,26
26.01.2007 258,82 29.01.2007 256,26 30.01.2007 255,26
29.01.2007 256,26 30.01.2007 255,26 31.01.2007 256,03
30.01.2007 255,26 31.01.2007 256,03 01.02.2007 261,07
I
с
I
эё со
Таблица 1
7
N93(15)2008
I
но
1 *
о со
о &
<0 3 Е
0 &
1 <0 со
I t
IE
i I
s
0
to
1 Л
маг — это значения, которые подаются на вход нейронной сети. Целевые значения — это значения, к которым должна стремиться нейронная сеть при обучении.
Исходя из имеющихся данных, сеть должна получить набор весовых коэффициентов, отражающих зависимость изменений котировок за указанный период.
Ошибка между реальным и полученным значениями нейронной сети составляет 0,01. Если разница между реальным значением и значением на выходе будет меньше, то обучение прекращается. Однако если данная точность не будет достигнута, то ограничением на продолжительность обучения служит порог в 10 000 итераций.
Для проведения тестирования использовались программный продукт Neural Network Wizard (рис. 3) и библиотека классов Neural Network Wizard для работы с моделями нейронных сетей, разработанные в среде программирования Delphi 7 компанией BaseGroup Labs1.
Рассмотрим параметры тестовой задачи. Число нейронов во входном слое равно 10, в скрытом слое — 5. Число скрытых сло-
neural network wizard
демонстрационна!; веоеия программы
' 9 ЖшЭРИ
Разработчик: Дизайн: " © 2000 - продукт
лаборатория BaseGroup студия lU-Стиль охраняется гаконанк
www.basegroup.ruwww.design.ryazan.ru об авторским правам
Рис. 3. Программный продукт Neural Network Wizard
ев нейросети равно 1. Активационная функция представлена сигмоидальной функцией (рис. 4) с параметром, равным 1.
Обучение нейронной сети происходит за 10 000 итераций.
Для проверки точности обучения необходимо подать на вход значения обучающей выборки. Проанализировав их, нейронная сеть должна выдать на выходе значения, близкие к реальным. Об успешности обуче-
Рис. 4. Параметры модели нейронной сети
1 Компания BaseGroup Labs, созданная в 1995 году в Рязани, — профессиональный поставщик программных продуктов и решений в области анализа данных. — Прим. ред. по материалам сайта www.basegroup.ru
8
№>3(15)2008
Таблица 2 §
I
Значения на выходе нейронной сети для прогнозируемой выборки ¡5
Данные для обучения нейронной сети Реальное значение Выход
Дата Цена (у.е.) Дата Цена (у.е.) Дата Цена (у.е.) нейронной сети (у.е.)
11.01.2007 262,58 12.01.2007 259,92 15.01.2007 267,80 267,19
12.01.2007 259,92 15.01.2007 267,80 16.01.2007 263,46 263,45
15.01.2007 267,80 16.01.2007 263,46 17.01.2007 256,51 256,53
16.01.2007 263,46 17.01.2007 256,51 18.01.2007 255,29 255,52
17.01.2007 256,51 18.01.2007 255,29 19.01.2007 255,89 255,78
18.01.2007 255,29 19.01.2007 255,89 22.01.2007 258,85 259,91
19.01.2007 255,89 22.01.2007 258,85 23.01.2007 258,77 258,91
22.01.2007 258,85 23.01.2007 258,77 24.01.2007 258,71 260,12
23.01.2007 258,77 24.01.2007 258,71 25.01.2007 261,64 260,10
24.01.2007 258,71 25.01.2007 261,64 26.01.2007 258,82 258,89
25.01.2007 261,64 26.01.2007 258,82 29.01.2007 256,26 256,41
26.01.2007 258,82 29.01.2007 256,26 30.01.2007 255,26 255,30
29.01.2007 256,26 30.01.2007 255,26 31.01.2007 256,03 256,09
30.01.2007 255,26 31.01.2007 256,03 01.02.2007 261,07 260,08
ния можно судить по степени различия прогнозируемого и реального значений котировок. Значения, приведенные в табл. 2, показывают, что степень различия небольшая, это свидетельствует о малой погрешности и успешном обучении сети.
Значения котировки < ценных бумаг, руб. 268
267 266 265 264 263 262 261 260 259 258 257 256 255 254
Для визуального отражения зависимостей реального значения и значения на выходе нейронной сети построим с помощью пакета МаШСаС 2000 гистограмму: ось X — временной промежуток, ось У —значение цены котировки ценной бумаги (рис. 5).
Значения на выходе нейронной сети — Реальное значение котировки ц.б.
Абстрактный
0 1 2 3 4 5 6 7 8 9 10 11 12 13 временной период Рис. 5. Гистограмма реальных значений котировок и значений котировок на выходе нейронной сети
9
№3(15) 2008
Таблица 3
Значения на выходе нейронной сети для изучаемой выборки
Данные для моделирования прогноза Реальное значение Выход
Дата Цена (у.е.) Дата Цена (у.е.) Дата Цена (у.е.) нейронной сети (у.е.)
31.01.2007 256,03 01.02.2007 261,07 02.02.2007 261,21 257,40
01.02.2007 261,07 02.02.2007 261,21 05.02.2007 263,66 267,50
02.02.2007 261,21 05.02.2007 263,66 06.02.2007 265,51 267,64
05.02.2007 263,66 06.02.2007 265,51 07.02.2007 263,8 | 266,51
06.02.2007 265,51 07.02.2007 263,8 Ц 08.02.2007 257,03 267,24
07.02.2007 263,80 08.02.2007 257,03 09.02.2007 258,08 256,64
08.02.2007 257,03 09.02.2007 258,08 12.02.2007 249,6 Н 260,16
09.02.2007 258,08 12.02.2007 249,6 | 13.02.2007 252,55 255,27
12.02.2007 249,6 Н 13.02.2007 252,55 14.02.2007 255,51 260,02
13.02.2007 252,55 14.02.2007 255,51 15.02.2007 253,84 259,55
14.02.2007 255,51 15.02.2007 253,84 16.02.2007 255,29 255,30
15.02.2007 253,84 16.02.2007 255,29 19.02.2007 256,6 | 260,22
16.02.2007 255,29 19.02.2007 256,6 Н 20.02.2007 253,04 260,21
19.02.2007 256,6 Н 20.02.2007 253,04 21.02.2007 254,76 255,30
I
43
1 *
о со
о &
<0 3 Е
0 &
1 <0 со
I
I
I
I
I
о §
л
Гистограмма показывает не только близость реального значения и значения на выходе нейронной сети, но и направление изменения значений — при увеличении или уменьшении реального значения значения выхода нейронной сети изменяются в том же направлении на тот же порядок.
Теперь оценим точность прогноза. Для этого выберем следующие за периодами обучающей выборки периоды значения котировок ценных бумаг ФБ «СПб. "Газпром"» (табл. 3), которые подадим на вход нейронной сети. Получив на выходе определенное значение, можем численно оценить точность прогнозирования.
Обработав данные тестируемой выборки, нейронная сеть получила на выходе значения котировок ценных бумаг, представленные в табл. 3.
Обозначим реальное значение котировки ценной бумаги через Р, а значение, полученное на выходе нейронной сети, через Р'. Тогда для каждой даты абсолютная и относительная погрешности представимы в виде набора значений, представленных в табл. 4.
10
Абсолютная погрешность прогнозирования А определяется по формуле:
д = \Р -Р'I.
Таблица 4
Абсолютная и относительная погрешности прогнозирования котировок ценных бумаг
Дата Погрешность Абсолютная 1 Относительная
31.01.2007 3,810 0,015
01.02.2007 3,840 0,015
02.02.2007 2,130 0,008
05.02.2007 2,710 0,010
06.02.2007 10,210 0,040
07.02.2007 1,440 0,006
08.02.2007 10,560 0,042
09.02.2007 2,720 0,011
12.02.2007 4,510 0,018
13.02.2007 5,710 0,022
14.02.2007 0,010 0
15.02.2007 3,620 0,014
16.02.2007 7,170 0,028
19.02.2007 0,540 0,009
№3(15)2008
Относительная погрешность прогнозирования б определяется по формуле:
д
б = —. P
Среднее значение относительной погрешности для п значений котировок ценных бумаг определяется следующим образом:
Средневзвешенное значение относительной погрешности для п значений котировки ценной бумаги можно определить по следующей формуле:
.10е
Ба
IQ
Дата Объем продаж (акций)
31.01.2007 31 122 196
01.02.2007 50 970 891
02.02.2007 21 083 492
05.02.2007 18 964 83 ^^
06.02.2007 36 100 019
07.02.2007 35 064 557
08.02.2007 43 423 193
09.02.2007 30 159 299
12.02.2007 43 504 181
13.02.2007 58 589 784
14.02.2007 53 961 942
15.02.2007 29 258 526
16.02.2007 35 021 882
19.02.2007 30 844 985
Рассчитав таким образом среднее и средневзвешенное значения котировок ценных бумаг, имеем:
Б = 0,016,
: 0,018.
где О — объем продаж (табл. 5) для каждой ценной бумаги за указанную дату.
Таблица 5
Объем продаж ценных бумаг ФБ «СПб. "Газпром"» за период с 31.01.2007 года по 19.02.2007 года
Точность результата измерений является характеристикой качества измерения, отражающей близость к нулю погрешности ее результата. Так как наиболее выраженными показателями корреляции изменения котировок ценных бумаг являются среднее и средневзвешенное значения относительной погрешности, можно сделать вывод, что погрешность результатов прогнозирования составляет 0,017.
Кроме того, рассмотрев направление движения цен в сторону возрастания и убывания, а также показаний на выходе нейронной сети, можно сделать вывод о том, что моделью безошибочно показаны вероятностные направления изменений котировок ценных бумаг, что немаловажно для экономических аналитиков.
Полученные результаты показывают, что использование модели нейронных сетей повышает экономическую эффективность прогнозирования, при этом обеспечивается достоверность информации с определенной долей вероятности прогноза, необходимой для принятия обоснованных экономических решений. Таким образом, использование системы экономико-математических моделей нейронных сетей и соответствующих инструментальных средств является весьма эффективным инструментом для практического решения актуальной задачи моделирования прогнозирования котировок ценных бумаг.
Список литературы
1. Каширина И.Л. Искусственные нейронные сети. Учебное пособие. Воронеж: Изд-во ВГУ, 2005.
2. Уоссермен Ф. Нейрокомпьютерная техника: теория и практика. М.: Мир, 1992.
3. Введение в теорию нейронных сетей (http:// www.orc.ru/~stasson/neurox.html)
4. Введение в сети встречного распространения (http://www.intuit.ru/department/ds/neuronnets/6/)
5. Короткий С. Нейронные сети: алгоритм обратного распространения (http://www.gotai.net/ download/file-nn-003.zip)
11
! <2 с
I
эё со
Q
n