УДК 681.513.54
МЕТОДЫ КРАТКОСРОЧНОГО ПРОГНОЗИРОВАНИЯ ФИНАНСОВЫХ РЫНКОВ
Е.В. Резниченко, Е.А. Кочегурова
Томский политехнический университет E-mail: [email protected]
Рассмотрены особенности прогнозирования финансовой информации. Проанализированы методы краткосрочного прогнозирования финансовых потоков. Даны рекомендации по возможности использования методов в различных прикладных задачах финансового анализа.
Постановка задачи
В задаче анализа состояния финансовых рынков часто возникает необходимость исследовать полученные статистические данные. Особенно большое внимание уделяется построению краткосрочного прогноза. В настоящее время существует множество различных методов прогнозирования, и все они основаны на анализе прошлых данных. В то время как на рынке вся доступная информация немедленно отражается в ценах на финансовые активы. Таким образом, прогноз финансовых рынков является достаточно трудоемким, а число возможных методов прогнозирования ограничено.
Анализ методов краткосрочного финансового прогнозирования выявил, что наиболее часто используют классические методы, такие как регрессионные алгоритмы; методы, основанные на экспоненциальном сглаживании, а также нейронные сети [1-5]. Несмотря на свою развитость, классические методы и модели, используемые для прогнозирования курсовой динамики ценных бумаг и валют, анализа рисков, управления портфелем, классификации данных и т. п., все менее эффективно работают в условиях глобализации мирового финансового пространства, расширения рынков, появления новых финансовых инструментов. Число факторов, определяющих динамику финансовых рынков, измеряется десятками и сотнями тысяч. При этом взаимосвязей между факторами неизмеримо больше.
Регрессионные уравнения позволяют эффективно использовать не более нескольких десятков переменных. При применении большего числа переменных их зашумленность, взаимная зависимость и т. п. делают практически невозможной корректную параметризацию модели, что приводит к неадекватным результатам моделирования. К важным особенностям задач анализа финансовых рынков следует также отнести наличие и существенное влияние на экономические процессы вышеупомянутых качественных факторов, что обуславливает трудность математической формализации модели. Все это приводит к необходимости разработки специальных подходов к моделированию и автоматизации решения подобных задач.
Сравнительный анализ методов краткосрочного
прогнозирования
Классические методы прогнозирования, как наиболее часто упоминаемые в литературе и используемые на практике, представляют наибольший интерес для выявления качества их работы. Например, в [6] рассмотрен вариант использования методов Винтерса и ARIMA (Auto Regression Integrated Moving Average - авторегрессия и проинтегрированное скользящее среднее, или метод Бок-са-Дженкинса) в задаче прогнозирования продаж. Тестовым материалом для методов прогнозирования был выбран исторический ряд продаж одного из продуктов компании Aspen Technology. Затем проводилось сравнение двух статистических методов прогнозирования, позволяющих учитывать сезонность. Один из них принадлежит к классу алгоритмов, основанных на экспоненциальном сглаживании (метод Винтерса), второй - к классу ре-гресионных алгоритмов (алгоритм ARIMA).
Метод Винтерса [2] основан на трехпараметрическом экспоненциальном сглаживании. При этом делается попытка учесть сезонные составляющие, присутствующие в данных. Система уравнений, описывающих метод Винтерса, выглядит следующим образом:
^t-s
Tt = (1-/3)^
S,=7^- + (l-7)Sl_s
Y,+P = (Clt + PTt)St_s+p
где Cl - значения сглаженного ряда общего уровня; /-текущий момент времени; Y— значения временного ряда; S - значения сезонных колебаний; s -коэффициент сезонности; Т - значения тренда (общее направление изменения входных данных); а, Д у- постоянные сглаживания; р - число прогнозируемых значений; Y - прогнозируемые значения временного ряда.
В приведенной системе уравнений первое из них описывает сглаженный ряд общего уровня.
Дробь в этом уравнении служит для исключения сезонности из Yt. После исключения сезонности алгоритм работает с данными, в которых нет сезонных колебаний. Появляются они в последнем уравнении, когда полученный прогноз умножается на сезонный коэффициент. Второе уравнение служит для оценки тренда. Третье уравнение определяет прогноз нар отсчетов по времени вперед. Постоянные сглаживания в методе Винтерса играют ту же роль, что и постоянная в простом экспоненциальном сглаживании. Подбираются они, например, путем перебора по этим параметрам с определенным шагом.
В отличие от методик прогнозирования временных рядов, основанных на экспоненциальном сглаживании, в методологии ARIMA не предполагается какой-либо четкой модели для прогнозирования данной временной серии. Задается лишь общий класс моделей, описывающих временной ряд и позволяющих выражать текущее значение переменной через ее предыдущие значения. Затем алгоритм, подстраивая внутренние параметры, сам выбирает наиболее подходящую модель прогнозирования.
Общая модель, предложенная Боксом и Дженкинсом [7], включает как параметры авторегрессии, так и параметры скользящего среднего. Таким образом, имеется три типа параметров модели: параметры авторегрессии р, порядок разности г, параметры скользящего среднего q. В обозначениях Бокса и Дженкинса модель записывается как ARIMA (р, q, г). Например, модель (0, 2, 1) содержит нуль параметров авторегрессии (р) и два параметра скользящего среднего (q), которые вычисляются для ряда после взятия разности с лагом 1.
Логически модель ARIMA можно определить так: AR(p)+MA(q) > ARMA (р, q) -^ARMA (р, q) (P,Q) -> -^ARIMA (p,q,r)(P,Q,R)->...,
где AR(p) - авторегрессионая модель порядка p\ MA(g) - модель со скользящим средним порядка q.
Авторегрессионная модель имеет вид:
Y(t) = f0+frY(t-1) +
+f2-Y(t-2) + ... + fp-Y(t-p) + E(t),
где Y(t) — зависимая переменная в момент времени t; f, f,fb fp - оцениваемые параметры; E(t) -ошибка от влияния переменных, которые не учитываются в данной модели.
Задача заключается в том, чтобы определить f,f, /2, Их можно оценить различными способами. Правильнее всего искать их через систему уравнений Юла-Уолкера, для составления которой потребуется расчет значений автокорреляционной функции. Можно поступить более простым способом -посчитать их методом наименьших квадратов.
Модель со скользящим средним имеет вид:
Y(t) = m+ e(t) - wl • e(t -1) --w2-e(t-2)-...-wq-e(t-q),
где Y(t) — зависимая переменная в момент времени /; щ, щ, щ, ..., - оцениваемые параметры; е(/) -
случайное воздействие в момент времени /; т -константа.
Для модели ARIMA необходимо, чтобы ряд был стационарным, это означает, что его среднее постоянно, а выборочные дисперсия и автокорреляция не меняются во времени. Поэтому обычно необходимо брать разности ряда до тех пор, пока он не станет стационарным. Число разностей, которые были взяты, чтобы достичь стационарности, определяются параметром г. Для того чтобы определить необходимый порядок разности, нужно исследовать график ряда и автокоррелограмму. Сильные изменения уровня обычно требуют взятия несезонной разности первого порядка. Сильные изменения наклона требуют взятия разности второго порядка. Сезонная составляющая требует взятия соответствующей сезонной разности. Если имеется медленное убывание выборочных коэффициентов автокорреляции в зависимости от лага, обычно берут разность первого порядка.
На этапе идентификации порядка модели также необходимо решить, как много параметров авторегрессии (р) и скользящего среднего должно присутствовать в эффективной модели процесса. На практике очень редко бывает, что число параметров р или q больше двух. Следующий, после идентификации, шаг состоит в оценивании параметров модели. Полученные оценки параметров используются на последнем этапе для того, чтобы вычислить новые значения ряда и построить доверительный интервал для прогноза. Процесс оценивания проводится по преобразованным данным (подвергнутым применению разностного оператора). До построения прогноза нужно выполнить обратную операцию (интегрировать данные). Таким образом, прогноз методологии будет сравниваться с соответствующими исходными данными.
Цель теста состояла в том, чтобы проверить, как обе методики работают в практической задаче. Оба метода не используют независимые переменные и опираются исключительно на предысторию прогнозируемого ряда, поэтому никакие дополнительные данные в задаче не использовались.
В каждую неделю, начиная со 150-ой и по 195-ую включительно, строились два прогноза на 4 недели вперед методом ARIMA и методом Винтерса соответственно. Причем в обоих случаях все исторические данные, вплоть до первой точки прогноза, использовались для настройки внутренних параметров моделей. Для метода Винтерса использовались следующие настройки:
• коэффициент сезонности 5=53;
• вес уровня а=0,2;
• вес тренда /3=0,2;
• вес сезонной составляющей у=0,2.
Для ARIMA выбрана модель ARIMA(2,1,2)(1,0,1). Таким образом, были получены 45 прогнозов, по-
строенных методом Винтерса, и 45 прогнозов, построенные алгоритмом ARIMA. В качестве оценки точности прогнозирования использовалась приведенная среднеквадратическая погрешность, выраженная в процентах.
Результаты теста показали, что в подавляющем большинстве случаев прогнозы, сделанные по методике ARIMA, точнее, чем прогнозы, сделанные по методу Винтерса: в первом случае ошибка прогнозирования составила 9,62 %, во втором случае - 16,33 %.
Другой подход к прогнозированию, широко используемый в последнее время, основан на использовании нейронных сетей [8]. Важнейшая особенность сети, свидетельствующая о ее широких возможностях и огромном потенциале, состоит в параллельной обработке информации всеми звеньями. Другое важное свойство - способность к обучению и обобщения накопленных знаний. Натренированная на ограниченном множестве данных сеть способна обобщать анализируемую информацию и получать хорошие результаты на данных, не использовавшихся в процессе обучения.
С начала 90-х гг. прошлого века начали регулярно появляться сообщения об установках нейросе-тевых систем в разных компаниях, банках, корпоративных институтах. Причем сфера использования новых технологий была очень многогранной: оценка рисков, контроль технологических процессов, управление роботами и многое другое. Одним из самых успешных приложений нейронных сетей было прогнозирование временных рядов. Причем самым массовым было прогнозирование на финансовых рынках и прогнозирование продаж.
В настоящее время сети многослойного персеп-трона (MLP - MultiLayer Perceptron) являются самыми широко используемыми. В них применяются линейная постсинаптическая функция и нелинейная функция активации. Количество слоев и нейронов в каждом слое не ограничено. Применение в выходном слое MLP линейной функции активации позволяет проводить экстраполяцию данных, т. е. строить прогнозы. Сеть MLP можно обучать многими методами. Самым известным является метод обратного распространения, разработка которого совершила прорыв в технологии нейронных сетей. В то же время, обратное распространение - самый медленный метод, «застревающий» в локальных минимумах и требующий установки множества параметров обучения.
При использовании нейронных сетей легко исследовать зависимость прогнозируемой величины от независимых переменных. Например, есть предположение, что продажи на следующей неделе ка-ким-то образом зависят от следующих параметров:
• продаж в последнюю неделю;
• продаж в предпоследнюю неделю;
• времени прокрутки рекламных роликов (TRP);
• количества рабочих дней;
• температуры и т. д.
Кроме того, продажи носят сезонный характер, имеют тренд и как-то зависят от активности конкурентов. Необходимо получить систему, которая бы все это естественным образом учитывала и строила краткосрочные прогнозы.
В такой постановке задачи большая часть классических методов прогнозирования будет несостоятельной. Можно построить систему на основе нелинейной множественной регрессии, или вариации сезонного алгоритма АЫМА, позволяющей учитывать внешние параметры, но это будут модели малоэффективные (за счет субъективного выбора модели) и крайне негибкие.
Используя даже самую простую нейросетевую архитектуру (персептрон с одним скрытым слоем) и базу данных с продажами и всеми параметрами, легко получить работающую систему прогнозирования. Причем учет или не учет системой внешних параметров будет определяться включением или исключением соответствующего входа в нейронную сеть. Более опытный эксперт может с самого начала воспользоваться каким-либо алгоритмом определения важности (например, используя нейронную сеть с общей регрессией и генетической подстройкой) и сразу определить значимость входных переменных, чтобы потом исключить из рассмотрения мало влияющие параметры.
Самый простой вариант применения искусственных нейронных сетей в задачах бизнес-прогнозирования - использование обычного персеп-трона с одним, двумя или (в крайнем случае) тремя скрытыми слоями. При этом на входы нейронной сети обычно подается набор параметров, на основе которого (по мнению эксперта) можно успешно прогнозировать. Выходом обычно является прогноз сети на будущий момент времени. Если входных параметров много, крайне рекомендуется не сбрасывать их сразу в нейронную сеть, а попытаться вначале провести предобработку данных для того, чтобы понизить их размерность или представить в правильном виде. Вообще, предобработка данных - отдельная большая тема, которой следует уделить достаточно много времени, так как это ключевой этап в работе с нейронной сетью. В большинстве практических задач по прогнозированию продаж предобработка состоит из разных частей.
При использовании многослойных нейронных сетей в бизнес-прогнозировании в общем и прогнозировании продаж в частности необходимо также помнить о том, что нужно аккуратно делать нормировку, и что для выходного нейрона лучше использовать линейную передаточную функцию. Обобщающие свойства от этого немного ухудшаются, но сеть будет намного лучше работать с данными, содержащими тренд.
Еще одной часто используемой нейросетевой архитектурой, используемой в бизнес-прогнозиро-вании, является нейронная сеть с общей регрессией. Несмотря на то, что принцип обучения и применения таких сетей в корне отличается от обыч-
ных персептронов, внешне сеть используется таким же образом, как и обычный персептрон. Говоря другими словами, это совместимые архитектуры в том смысле, что в работающей системе прогнозирования можно заменить работающий персептрон на сеть с общей регрессией, и все будет работать. При этом не потребуется проводить никаких дополнительных манипуляций с данными.
Если персептрон во время обучения запоминал предъявляемые примеры, постепенно подстраивая свои внутренние параметры, то сети с общей регрессией запоминают примеры в буквальном смысле. Каждому примеру сопоставляется отдельный нейрон в скрытом слое сети, а затем, во время применения, сеть сравнивает предъявляемый пример с примерами, которые она помнит. Затем она анализирует, на какие из них текущий пример похож и в какой степени, и на основе этого сравнения выдает ответ. Отсюда следует первый недостаток такой архитектуры. Когда база данных о продажах или других величинах, которые мы прогнозируем, велика, сеть станет слишком большой и будет медленно работать. С этим можно бороться предварительной кластеризацией базы данных. Второй недостаток таких сетей особенно заметен в задачах бизнес-прогнозирования - они совсем не способны «продлевать» тренд. Поэтому такие сети можно использовать только в случаях, когда рынок устойчивый, либо, после декомпозиции данных, тренд прогнозировать другими архитектурами нейронных сетей или любыми классическими методами.
Однако, как показывают исследования, использование только одной нейронной сети при прогнозировании дает неудовлетворительный результат. Например, в [9] был проведен соответствующий эксперимент. В качестве исходных данных взята информация о дневном курсе акций фирмы IBM. Для построения первоначальной модели использовались наиболее поздние доступные данные: с 28 октября 1999 г. по 31 июля 2001 г. Прогнозировалась цена закрытия акций на каждый следующий день в течение августа 2001 г. При этом, с поступлением ежедневной информации о торгах в течение августа 2001 г., эта информация добавлялась в обучающий набор, и сеть дообучалась.
Использовалась многослойная сеть с одним скрытым слоем. Сеть обучалась предсказывать цену закрытия акций по информации о торгах за предыдущие 8 дней, т. е. так называемая глубина погружения составляла 8. Таким образом, в качестве входных факторов использовались данные о максимальной и минимальной цене, цене закрытия и объеме сделок за предыдущие 8 дней (цена открытия для уменьшения числа переменных не использовалась, так как она зачастую совпадала с ценой закрытия предыдущего дня). В качестве выходного значения использовалась цена закрытия на следующий день. При таком подходе трудно было ожидать приемлемых результатов. И результат обучения сети очень хорошо совпал с ожиданиями.
Сеть плохо обучалась и прогнозировала «с опозданием», т. е. прогноз на следующий день у нее ассоциировался со значением текущего дня. В результате многочисленных экспериментов модель была усложнена и явилась многомерным нелинейным аналогом модели АШМА. Результаты прогнозирования приведены, в частности, на рисунке.
Цена закрытия акций. 5
и Н
Г -J V
оооооооооооо г^оооооооооооооооооооооо оооооооооооо гНСЧчЭСООт]-чЭО(\1т]-СОО СООООт—1т—1т—1(\1(\1(М(МСО
[■Прогноз □ Истинное |
Рисунок. Результаты прогнозирования на основе усложненной модели нейронной сети
Приведенная среднеквадратическая погрешность составила 2,86 %, В 19 из 23 случаев знак изменения был предсказан верно. Точность прогноза можно повысить, но для этого нужен кропотливый труд по постепенному усложнению модели с привлечением специалистов в данной области. Они могут предложить включить какие-то дополнительные экзогенные факторы. Самое очевидное, например, учесть эффект конца рабочей недели. Для этого каким-то образом нужно закодировать день недели и подать его в качестве входного фактора. Существует также мнение, что события, происходящие на рынке опционов, опережают события на рынке наличности. Эта информации также может быть включена в модель и т. д.
Рекомендации по выбору метода прогнозирования
Как показывают тесты [10], прогнозы, сделанные по методике АЫМА, точнее, чем прогнозы, сделанные по методу Винтерса. Это вполне ожидаемо, так как АЫМА - более сложный алгоритм, опирающийся на автокорреляцию. Очевидно, что он, в целом, не может работать хуже, чем алгоритм, основанный на сглаживании. Кроме того, если анализировать научные публикации последнего десятилетия, можно видеть, что в подавляющем количестве работ по прогнозированию классическими методами используется именно АШМА, как наиболее обоснованный и надежный алгоритм (из статистических).
Однако, обзор литературы позволил выявить ряд недостатков существующих методов прогнозирования. Выбор модели в каждом конкретном случае осуществляется с учетом статистических критериев, например, по дисперсии, корреляционному отношению и др. Классический метод наименьших квадратов предполагает равноценность исходной информации в модели. В то время как в реальной практике
будущее поведение процесса значительно в большей степени определяется поздними наблюдениями, чем ранними. Это обстоятельство породило так называемое дисконтирование, т. е. уменьшение ценности более ранней информации. Недостатки метода наименьших квадратов обусловлены жесткой фиксацией тренда, и надежный прогноз при этом можно получить на небольшой период упреждения. Здесь речь идет об ограниченных возможностях методов математической статистики, теории распознавания образов, теории случайных процессов и т. п., так как многие реальные процессы не могут адекватно быть описаны с помощью традиционных статистических моделей, поскольку являются существенно нелинейными и имеют либо хаотическую, либо квазиперио-дическую, либо смешанную основу.
Для метода экспоненциального сглаживания основным и наиболее трудным моментом является выбор параметров сглаживания, начальных условий и степени прогнозирующего полинома. Кроме того, для определения начальных параметров модели остаются актуальными перечисленные недостатки метода наименьших квадратов и проблема автокорреляций. Недостатки модели ARIMA связаны, прежде всего, с неоднородностью временных рядов и практической реализацией метода из-за своей сложности.
Однако, стоит заметить, что использование нейронных сетей позволило бы очень легко учесть дополнительную информацию, которую невозможно использовать описанными методами, но которая совершенно точно повысила бы точность прогнозирования и которая почти всегда есть в базах данных компаний. Речь идет о таких данных, как индексы рекламных активностей, деятельность конкурентов, цена товара, исторические данные о ситуациях out-of-stock, история продаж продуктов, влияющих на прогнозируемый результат и т. д.
В настоящее время можно с уверенностью сказать, что использование нейронных сетей при прогнозировании дает ощутимое преимущество по
СПИСОК ЛИТЕРАТУРЫ
1. Anderson O.D. Time series analysis and forecasting. - London: But-terworths, 1996. - 254 p.
2. Abraham B., Ledolter J. Statistical methods for forecasting. - New York: Wiley, 2003. - 421 p.
3. Глущенко В. В. Прогнозирование. - М.: Вузовская книга, 2000. - 205 с.
4. Montgomery D.C., Johnson L.A., Gardiner J.S. Forecasting and time series analysis. - New York: McGraw-Hill, 1990. - 368 p.
5. Бушуева Л.И. Методы прогнозирования объема продаж // Маркетинг в России и за рубежом. - 2002. - № 1. - С. 15-30.
6. Сравнение методов ARIMA и Винтерса в задаче прогнозирования продаж [Электронный ресурс]: Интернет-учебник / Ней-роПроект. - Режим доступа: www.neuroproject.ru/ARIMAWin-ters.php
сравнению с более простыми статистическими методами. Можно назвать много преимуществ нейронных сетей над остальными алгоритмами, например:
• возможность решения практически любой задачи;
• задачи могут быть плохо формализованы, иметь зашумленные и неверные входные данные;
• отсутствие требований к форме распределения данных;
• возможность комбинирования сетей;
• сочетание способности компьютера к обработке чисел и способности мозга к обобщению и распознаванию.
Еще одно серьезное преимущество нейронных сетей состоит в том, что эксперт не является заложником выбора математической модели поведения временного ряда. Построение нейросетевой модели происходит адаптивно во время обучения, без участия эксперта. При этом нейронной сети предъявляются примеры из базы данных, и она сама подстраивается под эти данные.
Недостатком нейронных сетей является их недетерминированность. Имеется в виду то, что после обучения имеется «черный ящик», который ка-ким-то образом работает, но логика принятия решений нейросетью совершенно скрыта от эксперта. В принципе, существуют алгоритмы извлечения знаний из нейронной сети, которые формализуют обученную нейронную сеть до списка логических правил, тем самым создавая на основе сети экспертную систему. К сожалению, эти алгоритмы не встраиваются в нейросетевые пакеты, к тому же наборы правил, которые генерируются такими алгоритмами, достаточно объемны. Тем не менее, для людей, умеющих работать с нейронными сетями и знающими тонкости настройки, обучения и применения, в практических задачах непрозрачность нейронных сетей не является сколько-нибудь серьезным недостатком.
7. Box G.E.P., Jenkins G.М. Time series analysis: Forecasting and control. - San Francisco: Holden-Day, 1976. - 423 p.
8. Ежов A.A., Шумский C.A. Нейрокомпьютинг и его применения в экономике и бизнесе. - М.: МИФИ, 2002. - 306 с.
9. Опыт прогнозирования финансовых рынков [Электронный ресурс]: технологии анализа данных: сборник статей / Н. Не-кипелов. - Режим доступа: basegroup.ru/neural/stockmarket.htm
10. Makridakis S., Andersen A., Carbone R., Fildes R., Hibon M., Lewandowski R., Newton J., Parzen R., Winkler R. The accuracy of extrapolation (time series) methods: Results of a forecasting competition // Journal of Forecasting. - 1982. - № 1. - P. 11-153.
Поступила 16.11.2007г.