Цель исследования – прогнозирование стоимости ценных бумаг с использованием нейронных сетей и дискретных стохастических моделей и сравнительная оценка рассмотренных методов. Актуальность данного исследования объясняется важностью получения качественных прогнозов основных индикаторов фондового рынка, а также успешным опытом применения нейронных сетей и стохастических моделей в задачах прогнозирования.
Для достижения поставленной цели необходимо:
· предварительно обработать данные для прогнозирования;
· программно реализовать многослойную нейронную сеть, выбрать структуру, параметры и алгоритм обучения для решения задачи прогнозирования динамики котировок ценных бумаг;
· построить стохастические дискретные модели, описывающие динамику котировок ценных бумаг (AR(p), MA(p), ARMA(p, q), ARIMA(p, d, q)), осуществить их идентификацию и програм- мную реализацию;
· провести сравнительный анализ построенных моделей.
Для решения поставленных задач в среде программирования Borland Delphi 7.0 разработан программный продукт, реализующий построение дискретных стохастических моделей по методике Бокса–Дженкинса и моделей нейронных сетей на основе многослойного персептрона.
Исходные данные для прогнозирования представляют собой табулированный текстовый файл, который содержит ежедневные котировки акций ОАО «Сбербанк» по цене закрытия. Файл содержит 125 записей, что соответствует временному интервалу в 6 месяцев (с 12.01 по 12.07.2009 г.).
На рисунке 1 представлены исходные данные в графическом виде.
Для улучшения качества прогноза исходный временной ряд предварительно обрабатывается (подробнее см. [1]).
На первом этапе предобработки данных использован метод сглаживания скользящим средним с периодом сглаживания p=3.
На втором этапе на основе сглаженных значений котировок zn, n=0, 1, 2, …, вычисляются изменения котировок Dzn=zn–zn–1, которые наиболее значимы при прогнозе финансовых временных рядов.
Таким образом, в качестве исходных данных для прогнозирования выбираются логарифмы относительного приращения сглаженных котировок , ведущие себя более однородно, что особенно важно для длительных временных рядов, когда уже заметно влияние инфляции.
Методика Бокса–Дженкинса. В качестве инструментария для моделирования динамики временного ряда zt, анализируемого в рамках методики Бокса–Дженкинса, используются стохастические модели авторегрессии – проинтегрированного скользящего среднего (ARIMA) вида
, (1)
где q1, q2, …, qq – параметры скользящего среднего; f1, f2, …, fp – параметры авторегрессии; at, at–1, at–2, … – белый шум [2].
Методика, предложенная Боксом и Дженкинсом для построения моделей типа ARIMA, в общем случае включает четыре этапа.
1. Идентификация стохастической модели. На основе вычисленных оценок для автокорреляционной и частной автокорреляционной функций делается предварительный вывод о порядке интеграции d, а также о значениях порядков p и q операторов авторегрессии и скользящего среднего.
2. Оценивание стохастической модели. На основе вычисленных автоковариаций для идентифицированной модели типа ARIMA(p, d, q) определяются начальные оценки параметров авторегрессии и начальные оценки параметров скользящего среднего, затем с помощью алгоритма Левенберга–Марквардта вычисляются оценки наименьших квадратов для соответствующих параметров стохастической модели.
3. Диагностика стохастической модели. Исходной информацией для диагностики служат остатки построенной стохастической модели. Проверке подлежат качество модели и некоррелированность остатков.
4. Прогнозирование с помощью стохастической модели. После определения оценок наименьших квадратов для параметров стохастической модели и ее диагностики можно прогнозировать будущие значения временного ряда. Для записи прогноза используется общая формула представления ряда в виде разностного уравнения:
(2)
Построение модели нейронной сети для прогнозирования. Для моделирования динамики временного ряда использована полносвязная нейронная сеть с одним скрытым слоем, в которой каждый нейрон слоя l связан со всеми нейронами предыдущего слоя l–1; (wji)(n) – синаптический вес, связывающий выход нейрона i с входом нейрона j на итерации n; (yi)(n) – функциональный сигнал, генерируемый на выходе нейрона i на итерации n.
Индуцированное локальное поле (sj)(n), полученное на входе функции активации, связанной с нейроном j, вычисляется по формуле
, (3)
где m – общее число входов (за исключением порога) нейрона j.
Функциональный сигнал на выходе нейрона j на итерации n будет выглядеть так:
, (4)
где jj – функция активации j-го нейрона. В качестве функции активации в работе используется функция гиперболического тангенса:
, (a, b)>0, (5)
где a и b – константы.
Нейронная сеть указанной структуры обучается по алгоритму обратного распространения ошибки в последовательном режиме, в котором корректировка весовых коэффициентов проводится после подачи каждого примера обучения вида , где x(n) – входной вектор, поступающий на вход сети; d(n) – желаемый отклик; N – общее число примеров.
Цель обучения – минимизация суммарной среднеквадратической ошибки на всем обучающем множестве:
, (6)
где d(n) – целевое значение для примера n; – прогнозное значение.
Для повышения качества прогноза направления тренда в целевой функционал I вводится штрафной коэффициент g, таким образом, целевой функционал вычисляется по формуле
, (7)
где , bÎ(0, 1).
Для практической реализации алгоритма обратного распространения ошибки будем полагать, что сходимость алгоритма достигнута, если значение целевой функции I(w)0 – заранее заданный вещественный параметр, называемый точностью обучения.
Для организации процессов обучения и тестирования нейронной сети сформированный на этапе предварительной обработки набор исходных данных делится на два множества – обучающее и тестовое. Из элементов этих множеств по методу скользящего окна формируются примеры для обучения и тестирования нейронной сети соответственно. Таким образом, обучающее множество для данной задачи состоит из 105 примеров, тестовое содержит 15 примеров.
Выбор оптимальной архитектуры нейронной сети и параметров скорости обучения h и момента a не имеет математического решения и производится опытным путем. Проведенный численный эксперимент показал, что оптимальные значения параметров скорости обучения и момента для рассматриваемого временного ряда hопт, aоптÎ(0,1; 0,5). В случае, когда параметр момента a=0, оптимальное значение параметра скорости обучения hопт®1. Также отметим, что конечная среднеквадратическая ошибка мало отличается для разных кривых, это означает, что поверхность ошибок в рассматриваемой задаче достаточно гладкая.
Для определения оптимального значения параметра точности обучения e используется метод обучения с ранним остановом, подробно описанный в [3]. В результате оптимальное значение точности обучения e для метода обратного распространения ошибки для исследуемого временного ряда e=0,06.
Согласно результатам проведенных исследований, оптимальная нейронная сеть для рассматриваемой задачи содержит один скрытый слой. Входной слой содержит 5 нейронов, скрытый – 3 нейрона, а выходной – 1 нейрон.
Критерий оценки качества прогноза котировок на рынке ценных бумаг должен учитывать отклонение прогноза от истинного значения, а также ошибку в направлении тренда на каждом шаге.
В качестве критерия для оценки отклонения прогноза от истинного значения используется ошибка, рассчитываемая по формуле
, (8)
где N – размерность тестовой выборки; – прогноз.
Для определения ошибки в направлении тренда на тестовом множестве вычисляется процент угаданных знаков по формуле
, (9)
где
Результаты прогнозирования цены закрытия по методике Бокса–Дженкинса для 15 значений временного ряда представлены в таблицах 1 и 2 и на рисунке 2.
Таблица 1
Значения критериев качества для одношагового прогноза
Модель
|
E
|
Et
|
MA(2)
|
4,89
|
20
|
AR(5)
|
3,31
|
20
|
ARIMA(1,1,1)
|
3,01
|
33,33
|
ARIMA(2,1,1)
|
3,09
|
33,33
|
ARIMA(4,1,1)
|
3,19
|
20
|
Таблица 2
Значения критериев качества для многошагового прогноза
Модель
|
Критерий
|
День
|
3-й
|
6-й
|
9-й
|
12-й
|
15-й
|
AR(2)
|
E
|
6,32
|
9,18
|
11,14
|
13,29
|
15,1
|
Et
|
33,33
|
50
|
33,33
|
33,33
|
40
|
ARIMA(1,1,1)
|
E
|
6,28
|
8,84
|
11,17
|
12,95
|
14,4
|
Et
|
33,33
|
33,33
|
33,33
|
41,67
|
46,67
|
ARIMA(2,1,1)
|
E
|
6,18
|
8,63
|
11,09
|
12,94
|
14,3
|
Et
|
33,33
|
33,33
|
33,33
|
41,67
|
46,67
|
Итоги одношагового и многошагового прогнозирования цены закрытия с помощью нейросетевой модели, обученной по алгоритму обратного распространения ошибки с целевым функционалом (7) для 15 значений временного ряда, представлены в таблице 3 и на рисунке 3.
Таблица 3
Значения критериев качества для одношагового и многошагового нейросетевого прогноза
Прогноз
|
Среднее число эпох обучения
|
E, %
|
Et, %
|
одношаговый
|
1038
|
1,9765
|
73,33
|
многошаговый
|
1078
|
7,0446
|
66,67
|
Результаты прогнозирования цены закрытия для временного ряда котировок акций ОАО «Сбербанк» на ММВБ показывают, что и стохастические модели ARIMA, и нейронные сети обеспечивают одношаговый прогноз высокой точности с ошибками E=3,01 % и E=1,9765 % соответственно.
Качество одношагового прогноза направления тренда по моделям ARIMA оказалось неудовлетворительным (Et=33,33 %), что ограничивает возможности использования данных моделей в системах принятия инвестиционных решений на фондовом рынке.
Построенная в работе нейросетевая модель показала хорошее качество прогноза направления тренда (Et=73,33 %). Это свидетельствует о применимости построенной модели к инвестиционной деятельности на фондовом рынке.
Результаты многошагового прогнозирования для нейросетевых и стохастических моделей также демонстрируют преимущество моделей на основе нейронных сетей, однако общее качество прогноза оказалось недостаточно высоким по точности, что не позволяет рекомендовать ни одну из построенных моделей для планирования среднесрочной и долгосрочной динамик индексов на фондовом рынке.
Литература
1. Кратович П.В. Нейросетевая модель прогнозирования временных рядов финансовых данных // Программные продукты и системы. 2010. № 1(89). С. 132–134.
2. Бокс Дж., Дженкинс Г. Анализ временных рядов, прогноз и управление. М.: Мир, 1974. 406 с.
3. Хайкин С. Нейронные сети: полный курс; 2-е изд.; [пер. с англ.]. М.: Издат. дом «Вильямс», 2006. 1104 с.