УДК 519.71
Информационные технологии
ОСОБЕННОСТИ ИСПОЛЬЗОВАНИЯ НЕЙРОСЕТЕВОГО ПРОГНОЗИРОВАНИЯ
ФИНАНСОВЫХ ВРЕМЕННЫХ РЯДОВ
Е.С. Подвальный, Е.В. Маслобойщиков
Рассматривается задача прогнозирования финансовых временных рядов. Предлагается использовать аппарат искусственных нейронных сетей и технический анализ
Ключевые слова: искусственные нейронные сети, веса, прогноз, индикатор
Введение. Предсказание финансовых временных рядов - необходимый элемент любой инвестиционной деятельности. Сама идея инвестиций - вложения денег сейчас с целью получения дохода в будущем - основывается на идее прогнозирования будущего. Соответственно, предсказание финансовых временных рядов лежит в основе деятельности всей индустрии инвестиций, всех бирж и не биржевых систем торговли финансовыми инструментами
[1]. Цель статьи заключается в использовании возможностей искусственной нейронной сети (ИНС) для прогнозирования финансовых временных рядов.
Достоинствами нейросетевого подхода являются следующие положения:
1. При помощи нейросетевого анализа можно строить нелинейные модели. Нелинейные модели позволяет с более высокой точностью смоделировать рынок, вследствие чего увеличить точность прогноза.
2. Нейросетевой анализ не предполагает никаких ограничений на характер входной информации. Это могут быть как индикаторы данного временного ряда, так и сведения о поведении других рыночных инструментов.
3. ИНС адаптивны. Они могут изменять свое состояние, реагируя на изменения рынка.
Прогнозирование значений временного ряда является задачей экстраполяции данных, но в действительности нейросети занимаются задачей интерполяции, что существенно повышает надежность прогноза [2].
Методика построения модели прогнозирования на основе ИНС. В качестве математической модели системы прогнозирования был выбран многослойный персептрон. Ней-
Подвальный Евгений Семенович - ВГТУ, д-р техн. наук, профессор, тел. (473) 247-74-04
Маслобойщиков Евгений Валерьевич - ВГТУ, аспирант, тел. (8908) 132-80-61
ронная сеть (НС) строит отображение входного входного вектора х в выходной вектор у, тип преобразования определяется совокупностью синаптических весов. В теории НС создаваемое отображение задается конечным множеством кортежей < х, у > , в которых каждый из векторов известен. Обучающей выборкой называется конечное множество кортежей < х, у > . Цель
обучения НС по обучающей выборке подобрать весовые коэффициенты.
1. Формирование и скид нь д данныи ни временниплу
-----------[----------
___________к__________
7. Настройка не:
_________$_________
2.1 Выб:]р фу|11шии а ктивации, структуры НС
2.2 Инициализация НС
________^_______
2-3 Обучение не:
________^_________
2.40ценка ка-еенза 1ф01 но^
Рис. 1. Схема построения модели прогнозирования на основе ИНС
1. Формирование обучающего множества по исходному временному ряду с определенной глубиной погружения происходит по
«методу окон». Метод подразумевает использование двух окон Жг и Жо (входного и выходного) с фиксированными размерами М и Ь соответственно. Получив данные из первого окна Ш, заносим их в матрицу X, представляющую собой входные образы для НС, а данные со второго окна - Жо - в матрицу У. Получающаяся на каждом шаге пара Жг ® Жо используется как элемент обучающей выборки (распознаваемый образ, или наблюдение). Каждый следующий вектор получается в результате сдвига окон Жг и Жо вправо на один шаг (1):
' x1 x2 x3 £
(N X 3 x3 4 x4 xM+1
x3 x4 x5 xM+2 ,
v xk xk+1 xk+2 xN- L J
xM+1 xM+L ^
xM+2 xM+L+1
xm+3 xM+L+2 (1)
xM +k xN J
Матрицу X, элементы которой равны Ху=Х1+].1, можно рассматривать как М-мерную выборку объема к или М-мерный временной ряд, которому соответствует М-мерная траектория - ломаная в М-мерном пространстве к-1 звена.
Заметим, что задача является многофакторной, причем предполагается наличие скрытых зависимостей во временной последовательности как множестве наблюдений, обучаясь на этих наблюдениях и настраивая свои коэффициенты, пытается извлечь эти закономерности и сформировать требуемую функцию прогноза.
В первую очередь, необходимо отметить, что перед тем как начать тренировать ИНС, входную информацию необходимо должным образом подготовить. Каждый набор входных переменных обучающего, тестового и рабочего множеств, составляющих «образ», должен обладать свойством инвариантности. Выходные сигналы, формирующиеся на выходах скрытых и выходных нейронов и подающиеся на входы нейронов следующих слоев, лежат в интервале их активационных функций. Поэтому необходимо, чтобы и входные сигналы лежали в интервале активационных функций нейронов 1- го скрытого слоя ([0, 1] - для
логистической и [-1, 1] - для гиперболического тангенса).
Предположим, что данные каждого из образов лежат в диапазоне [Min..Max], тогда способом нормирования будет иметь следующий вид (2 - 3):
~ x - Min
x =------------, для интервала [0, 1]
Max - Min
(2)
~ 2 x - Min
x =--------------1, для интервала [-1, 1] (3)
Max - Min
После такого преобразования каждый «образ» (строки одного номера из матриц X и Y) нормируется так, что все значения «образа» лежат в интервале от 0 до 1 (или от -1 до 1 при использовании (3)). При этом истинные значения утрачиваются, но при любом количестве обращений гарантируется инвариантность преобразования входной записи. Из формул нормировки можно однозначно восстановить истинное значение параметра.
В качестве входов и выходов НС не следует выбирать сами значения временного ряда (обозначим их C(t)). Действительно значимыми для предсказаний являются изменения членов ряда. Так как эти изменения обычно гораздо меньше по амплитуде, чем сами члены, между последовательными значениями членов имеется большая корреляция - наиболее вероятное значение члена в следующий момент равно его предыдущему значению
< Ct+1 >= Ct + < DCt >» Ct [1].
Безусловно, прогнозируемое значение члена временного ряда зависит не только от его предыдущих значений. Как было показано выше, данная задача является многофакторной, причем факторы могут быть различными по природе. К примеру, курс доллар\рубль зависит так же от цены на нефть и газ, состояния американской экономики. Но так как перед нами поставлена задача прогнозирования целого ряда финансовых временных рядов, то для каждого из них будет свой набор определяющих факторов. Вследствие этого к задаче прогнозирования добавится трудоемкая задача предварительной оценки значимости входных данных, что является темой отдельного исследования. На основании этого попытаемся получить новые входные данные из имеющихся значений временного ряда.
Для этого воспользуемся техническими индикаторами, которые легко получить по исходному временному ряду.
Первым типом входных данных выберем технический индикатор скользящее среднее (Moving Average) следующих видов:
1. Взвешенное скользящее среднее (weighted moving average, WMA);
2. Экспоненциальное скользящее среднее (exponential moving average, EMA).
Скользящее среднее рассчитывается по ряду изменений < AC; > .
Для расчета взвешенного скользящего среднего веса выбираются таким образом, что последние члены периода имеют больший вес. Таким образом, формула расчета WMA с периодом n имеет следующий вид:
WMA(n) = viAC° + vA<C + ■■■ + Vn ACn-1 (4)
Ь.
i=1
Коэффициенты vi могут рассчитываться по различным формулам, но в программе в качестве значений был взят порядковый номер на отрезке периода.
EMA рассчитывается по следующей формуле:
EMA. = EMAt-1 + k(A< - EMAt-1), (5)
где EMAi-1 - предыдущее значение EMA,
2
A< - текущее значение ряда, k =-------, где n
n +1
- период.
Вторым типом входных данных является технический индикатор RSI (relative strength index) индекс относительной силы, который вычисляется по формуле:
RSI (n) = 100%
U(n)
D(n) + U(n) ’
(6)
где U (n) - сумма положительных изменений значений ряда за последние n периодов, D(n) - сумма отрицательных изменений значений ряда за последние n периодов. RSI показывает, насколько сильно ряд изменяется в сторону своего движения.
Таким образом, скользящее среднее дает нам направление основного движения тренда (Тренд - это общее направление движения цен, наблюдаемое на определенном временном промежутке.), а показатель RSI показывает точки вероятного изменения в направлении движения финансового ряда.
Для обеспечения свойства инвариантности все кортежи обучающего множества должны быть нормированы в соответствии с областью значения функции активации.
2.1. Для выбранного типа НС задаются функции активации, количество слоев и нейронов в слоях.
2.2. Перед тем, как приступить к обучению нейронной сети, необходимо задать ее начальное состояние. Время за которое сеть обучится и подстроит свои веса в оптимальные значения, напрямую зависит от того насколько хорошо будут выбраны начальные значения весовых коэффициентов.
Обычно, всем весам присваиваются случайные величины, подчиняющиеся равномерному закону распределенные в диапазоне [-B,B]. Но как показали практические исследования [6], данное решение не является оптимальным, поэтому предлагается использовать метод Nguyen - Widrow [4].
Данный метод применяется для сетей, использующих сигмоидальные функции активации. В соответствии с этим алгоритмом начальные веса генерируется так, чтобы активные области нейронов были распределены равномерно относительно области входов, что обеспечивает минимизацию числа нейронов сети и время обучения.
2.3. В качестве функционала обучения (ошибки) выберем квадрат невязки:
E (w)=1Z (yN, - d,p )2
(7)
где у - реальное выходное состояние нейрона j выходного слоя N нейронной сети при подаче на ее входы р-го образа; dj - идеальное (желаемое) выходное состояние этого нейрона, а р = 1,2...к, где к - мощность обучающего множества.
Обучение НС происходит методом обратного распространения ошибки. Задача обучения НС сводится к минимизации функционала ошибки и осуществляется методом Левен-берга-Марквардта [7]. Данный метод оптимизации имеет некоторые ограничениями: наличие единственного выходного элемента сети, использование только среднеквадратичной функции ошибок и большее. Разрабатываемая НС укладывается в описанные ограничения, а преимуществом перед другими методами получается наибольшая скорость обучения сети.
Одна из наиболее серьезных трудностей изложенного подхода обучения заключается в том, что таким образом минимизируется не та ошибка, которую на самом деле нужно минимизировать, а ошибка, которую можно ожидать от сети, когда ей будут подаваться совершенно новые наблюдения. Иначе говоря, хотелось бы,
чтобы нейронная сеть обладала способностью обобщать результат на новые наблюдения. В действительности сеть обучается минимизировать ошибку на обучающем множестве, и в отсутствие идеального и бесконечно большого обучающего множества это совсем не то же самое, что минимизировать "настоящую" ошибку на поверхности ошибок в заранее неизвестной модели явления [4]. Иначе говоря, вместо того, чтобы обобщить известные примеры, сеть запомнила их. Во избежание эффекта переобучения вводится контрольное множество, данное множество не участвует напрямую в процессе обучения, а является индикатором качества обучения сети с точки зрения некоторого критерия. Все преобразования, описанные для обучающего множества, верны и для контрольного.
2.4. Характеристики качества информационной пригодности моделей прогнозирования описывают, насколько достоверна, выбранная в качестве генератора прогноза, модель описывает ретроспективу исследуемого явления. Чем точнее построенная модель объясняла прошлое, тем больше вероятность того, что она будет удачно предсказывать будущее. Надежность моделей прогнозирования оценивается путем сравнения фактических и предсказанных значений. Эта разница позволяет проверить, применима ли к конкретным данным рассматриваемая модель и те предположения, на которых она основана [5]. В качестве таких оценочных показателей рассмотрим нижеследующие:
1. Я2 - коэффициент детерминации. Характеризует долю объяснённой дисперсии отклонений зависимой переменной от её среднего значения. Рассчитывается коэффициент по следующей формуле:
MAPE
1 n е - t —100%.
R2 = -
t(у*- dt )2
t=1__________
t( у, - уУ
(8)
где n - мощность обучающего (контрольного) множества, а et = dt - yt, причем:
dt - фактическое значение выхода в момент
времени t, yt - выход модели прогноза. Чем
ближе к 1 значение R 2 , тем лучше качество подгонки [5].
2. Ошибка MAPE - (Mean Absolute Percentage Error) необходима для сопоставления модели прогноза с реальной ситуацией:
n
=і dt
(9)
где n - мощность обучающего (контрольного) множества, а et = \dt - yt |, причем:
dt - фактическое значение выхода в момент времени t, yt - выход модели прогноза. В идеале ошибка MAPE должна стремиться к нулю.
3. Процент правильно предсказанных изменений значений временного ряда - SIGN (от английского слова знак). Введем данный показатель исходя из следующих соображений: в прогнозировании финансовых рядов очень важна одинаковая направленность прогноза и истинного значения: r
SIGN
-100%,
(10)
п -1
где г - количество правильно спрогнозированных знаков, рассчитываемых как количество неотрицательных произведений (Уt -У1-1)^( -У-\) , где dt - фактическое значение выхода в момент времени t , у( и у—1 - выходы модели прогноза в момент времени t и t — 1.
Программная реализация. На основе данных теоретических положений была разработана программа «Нейросетевое прогнозирование финансовых временных рядов». На рис. 2 представлена модульная структура программы.
Рис. 2. Модульная структура программы
Входными данными для программы является временной ряд. Далее пользователь может выбрать тип преобразования над данными:
t=i
либо это изменения по входному ряду, либо это комбинация из двух технических индикаторов либо WMA и RSI либо EMA и RSI, причем период их расчета так же назначается пользователем. Также пользователь может задать ширину входного окна
В программе присутствует конструктор нейронной сети, в котором можно выбрать тип функции активации (сигмоида или гиперболический тангенс), назначить количество слоев и число нейронов в них (во всех слоях кроме последнего, так как там всегда 1 нейрон). Остановка обучения может происходить либо по достижению заданного уровня ошибки, либо по проходу заданного числа эпох.
Вычислительный эксперимент. Эксперимент был проведен с индексом S&P 500 -фондовый индекс, в корзину которого включено 500 избранных акционерных компаний США, имеющих наибольшую капитализацию. В качестве обучающего множества закрытия индекса в период с 21.12.2007 по 12.05.2009, что составляет 350 значений. В качестве контрольного множества индекс в период с 13.05.2009 по 05.05.2010 - всего получается 250 значений. Ширина входного окна 10, WMA и RSI рассчитаны согласно формулам (4) и (6) с периодом n=7. Структура сети: два скрытых слоя 4 и 5 нейронов соответственно.
График сравнении показаний нейронной сети с временным рядом
I— нейросеть — Временной ряд I
1200
§ 1100 і і її |
I 1000
5 900
л XI Ґ
■ J* vW1* {¥ V
Щ
сен-2009 ноя-2009 янв-2010 мар-2010 май-2010
Точки отсчета значений
Рис. 3. Реальные и прогнозные значения индекса S&P5GG
Данная модель имеет следующие характеристики: R2 = G,98 , MAPE = 1,12% ,
SIGN = 7G% .
Воронежский государственный технический университет
Вывод. Анализ результатов вычислительного эксперимента позволяет сказать, что аппарат ИНС может давать довольно хорошие результаты при прогнозировании финансовых временных рядов. Для улучшения качества прогноза впоследствии есть ряд направлений, которые следует рассмотреть в будущем:
1. Использовать комбинированные сети, то есть сеть, слои которой являются НС разного типа;
2. Использовать генетические алгоритмы, которые повышают вероятность попадания в область глобального минимума, а так же комбинации классических алгоритмов с генетическими;
3. Разработать процедуру формирования обучающего и контрольного множества.
В заключении хотелось бы отметить, что прогнозирование финансовых временных рядов очень ответственное дело, поэтому не стоит ограничиваться лишь данной программой. Ее цель не заменить суждение и опыт специалиста, а дать ему в руки дополнительный инструмент для своей работы.
Литература
1. Ежов А.А., Шумский С.А. Нейрокомпьютинг и его применения в экономике и бизнесе. / А.А. Ежов, С.А. Шумский - М.: МИФИ, 1998. - 224 с.
2. Ефремова Е.А., Дунаев Е.В. Применение нейронных сетей для прогнозирования финансовых временных рядов. // Доклады ТУРСУРа, 2004.- с. 192-196.
3. Fausett L.V. “Fundamentals of Neural Networks: Architectures, Algorithms and Applications: Prentice Hall, 1993. - 461 p.
4. Круглов В. В., Дли М. И., Голунов Р. Ю. Нечеткая логика и искусственные нейронные сети. / В.В. Круглов, М.И. Дли, Р.Ю. Голунов - М.: ФИЗМАТЛИТ 2001. -224 c.
5. Чамкина Е., Сравнение моделей временных рядов - http://www.basegroup.ru/solutions/scripts/details1.
6. Nguyen, D. & Widrow, B., Improving the Learning Speed of two-layer Neural Networks by Choosing Initial Values of the Adaptive Weights: Proc. IJCNN’90, 1990. - vol. 3 -pp. 21-26.
7. Гилл Ф., Мюррей У., Райт М. Практическая оптимизация. / Ф. Гилл, У. Мюррей, М. Райт - М.: Пер. с англ. Мир, 1985. - 509 c.
FEATURES OF NEURAL NETWORK PREDICTION OF FINANCIAL TIME SERIES
E.S. Podvalny, E.V. Masloboyschikov
Is consided the problem of forecasting financial time series. It is proposed to use the apparatus of artificial neural networks and technical analysis
Key words: artificial neural network, weight, weather, light