Как предсказать курс доллара. Эффективные методы прогнозирования с использованием Excel и EViews - Владимир Брюков 15 стр.


Мы уже проверяли остатки на стационарность (см. алгоритм действий № 9 «Как проверить в EViews остатки на стационарность модели»), В этом случае будем действовать аналогичным образом, однако вместо файла RESID откроем файл USDOLLAR, после чего воспользуемся опциями VIEW/UNIT ROOT TEST (посмотреть/ тест на единичный корень), в результате чего появится диалоговое мини-окно UNIT ROOT TEST (рис. 6.1). Его мы заполним следующим образом. Параметр TEST TYPE (тип теста) установим на опции AUGMENTED DICKEY-FULLER (расширенный тест Дикки — Фуллера), a TEST FOR UNIT ROOT IN (тест на единичный корень для…) следует установить на опции LEVEL (исходный уровень ряда), так как мы проводим исследование исходного уровня временнoго ряда на стационарность. Параметр INCLUDE IN TEST EQUATION (включить в тестовое уравнение) установим на опции INTERCEPT (включить константу), поскольку мы предполагаем, что в исследуемом временном ряде может присутствовать свободный член уравнения (константа). Параметр LAG LENGTH (длина лага) установим на опции AUTOMATIC SELECTION (автоматический выбор), что позволит EViews самостоятельно выбрать длину лага. Вполне естественно, что при необходимости длину лага можно задать самому.

После щелчка мышкой кнопки ОК в диалоговом мини-окне Unit Root test получим табл. 6.1 с результатами решения теста на стационарность. Однако полученный уровень значимости (Prob.*) одностороннего f-критерия (t-Statistic), который равен 0,6166, свидетельствует, что нулевая гипотеза о наличии единичного корня не опровергается, а следовательно, исходный временной ряд нестационарен.

Напомним, что альтернативная гипотеза об отсутствии единичного корня и стационарности исходного временного ряда может быть принята лишь при уровне значимости менее 0,05. В принципе, можно попробовать получить стационарный ряд, включив в тестовое уравнение (INCLUDE IN TEST EQUATION) вместо опции константа (INTERCEPT) другую опцию TREND AND INTERCEPT (тренд и константа) (см. рис. 6.1). Однако в результате у нас получился бы еще более высокий уровень значимости ^-критерия = 0,9033, который с еще большим уровнем надежности подтвердил бы нулевую гипотезу о наличии единичного корня и нестационарности временного ряда.

Чтобы получить стационарный ряд, попробуем взять логарифмы от исходного уровня временного ряда. С этой целью нужно открыть файл USDOLLAR и воспользоваться опциями PROC/GENERATE BY EQUATION (выполнить/создать с помощью уравнения), после чего на экране появится диалоговое мини-окно GENERATE SERIES BY EQUATION (создать временной ряд по уравнению) (рис. 6.2), которое мы должны заполнить таким образом: USDOLLAR1 = log(USDOLLAR). В результате у нас появится новый логарифмический временной ряд, который поместим в файле USDOLLAR1.

Следующей задачей будет тестирование логарифмического временного ряда на стационарность. С этой целью откроем файл USDOLLAR1 и воспользуемся опциями VIEW/UNIT ROOT TEST (посмотреть/тест на единичный корень). Далее будем действовать таким же образом, как и в алгоритме действий № 21. При этом параметр INCLUDE IN TEST EQUATION (включить в тестовое уравнение) установим на опции INTERCEPT (включить константу). В результате диалоговое мини-окно UNIT ROOT TEST приобретет следующий вид (рис. 6.3).

Нажав на кнопку ОК, получим следующий вывод итогов по результатам расширенного теста Дикки — Фуллера (табл. 6.2). В результате удается получить уровень значимости (Prob. *) одностороннего ^-критерия (t-Statistic), равный нулю. Таким образом, нулевая гипотеза о наличии единичного корня и нестационарности логарифмического временного ряда опровергается и принимается альтернативная гипотеза о его стационарности.

6.2. Построение модели авторегрессии со скользящей средней и стационарной ARMA-структурой

Нам удалось выяснить, что созданный логарифмический временной ряд стационарен. Однако нужно еще построить уравнение авторегрессии со стационарной ARMA-структурой, что очень важно с точки зрения получения устойчивых (к воздействию внешних шоков) коэффициентов регрессии и получения надежных прогнозов. Этой проблемой мы уже занимались (см. алгоритм действий № 13 «Тестирование стационарности авторегрессионного процесса, описываемого уравнением USDOLLAR = а × USDOLLAR(-l) + b × USDOLLAR(-2), путем нахождения корней характеристического уравнения»), но тогда нам не удалось получить уравнение авторегрессии со стационарной ARMA-структурой.

Мы уже довольно много времени уделили построению нестационарной прогностической модели USDOLLAR = а × USDOLLAR(-l) + b × USDOLLAR(-2). Поскольку при этом нам приходилось учиться, то все процедуры, необходимые для построения этой модели, вводились не сразу, а постепенно, чтобы облегчить их усвоение. Теперь перед нами стоит задача построить стационарную прогностическую модель. При этом мы будем пользоваться теми же процедурами, которые использовались при создании прогностической модели USDOLLAR = а × USDOLLAR(-l) + b × USDOLLAR(-2). Чтобы не останавливаться на уже пройденном, но вместе с тем более четко структурировать полученные ранее знания, перечислим основные статистические процедуры, которые необходимо использовать при построении любой авторегрессионной (AR) или авторегрессионной со скользящей средней (ARMA) прогностической модели (алгоритм действий № 22).

Алгоритм действий № 22 Перечень действий, необходимых для построения статистической модели, представляющей собой уравнения авторегрессии (AR) или уравнения авторегрессии со скользящей средней (ARMA)

1. Построение коррелограммы в EViews с целью определения параметров р и q в модели ARMA(p, q). Коррелограмма поможет нам определить лаговые переменные в уравнении авторегрессии (см. алгоритм действий № 5 «Как построить коррелограмму в EViews»).

2. Решение уравнения регрессии и проверка значимости всех его параметров. Этот вопрос можно считать самым важным из всего нашего перечня (см. алгоритм действий № 3 «Как решить уравнение регрессии в Excel», алгоритм действий № 4 «Оценка статистической значимости уравнения регрессии и его коэффициентов» и алгоритм действий № 6 «Как решить уравнение регрессии в EViews»).

3. Тестирование AR- или ARMA-структуры уравнения на стационарность (см. алгоритм действий № 13 «Тестирование на стационарность AR-структуры уравнения USDOLLAR = а × USDOLLAR(-1) + b × USDOLLAR(-2) путем нахождения корней характеристического уравнения»). Тестирование исходного (а при необходимости и логарифмического) временного ряда на стационарность (см. алгоритм действий № 21 «Как провести тест на стационарность исходного уровня временно го ряда»),

4. Тестирование AR- или ARMA-структуры уравнения на импульсный ответ (см. алгоритм действий № 14 «Тестирование на импульсный ответ AR-структуры нестационарного процесса, описываемого уравнением USDOLLAR = а × USDOLLAR(-1) + b × USDOLLAR(-2)»).

5. Проверка остатков, полученных в результате решения уравнения регрессии, на наличие в них автокорреляции (см. алгоритм действий № 7 «Как выполняется LM-тест Бройша — Годфри в EViews»).

6. Проверка остатков на стационарность (см. алгоритм действий № 9 «Как в EViews проверить остатки на стационарность»),

7. Проведение анализа стандартных или стьюдентизированных остатков на наличие выбросов (в первую очередь тех, которые влияют на текущий прогноз), теста Чоу на точность прогноза (см. алгоритм действий № 17 «Диагностика в EViews влияния стьюдентизированных остатков на уравнение регрессии для прогностической модели USDOLLAR = а × USDOLLAR(-1) + b × USDOLLAR(-2)» и алгоритм действий № 19 «Методика проведения теста Чоу на точность прогноза для прогностической модели USDOLLAR = а × USDOLLAR(-1) + b × USDOLLAR(-2)»).

8. Если мы получили стационарные остатки и автокорреляция в остатках не выявлена (в противном случае над уравнением регрессии придется снова поработать), то следующим нашим шагом будет оценка точности полученного уравнения регрессии (см. алгоритм действий № 8 «Как оценить точность статистической модели в EViews»).

9. Если точность прогностической модели нас устроила (см. алгоритм действий № 11 «Как в EViews построить точечный прогноз»), то в этом случае мы проверяем остатки на нормальное распределение. А затем строим интервальные прогнозы (см. алгоритм действий № 12 «Как в EViews построить интервальные прогнозы»), проверяя уровень их надежности на соответствие нормальному распределению, на основе которого строятся доверительные интервалы.

10. Чтобы использовать прогнозы стационарной статистической модели в качестве инструмента торговой системы, необходимо на основе этой модели составить прогнозы по рекомендуемым курсам покупки и продажи валюты с односторонним ограничением риска на уровне 60–90 % надежности. При этом прогнозы по рекомендуемым курсам покупки и продажи валюты могут использоваться в качестве стоп-заявок (подробнее об этом читатель узнает в главе 7).

10. Чтобы использовать прогнозы стационарной статистической модели в качестве инструмента торговой системы, необходимо на основе этой модели составить прогнозы по рекомендуемым курсам покупки и продажи валюты с односторонним ограничением риска на уровне 60–90 % надежности. При этом прогнозы по рекомендуемым курсам покупки и продажи валюты могут использоваться в качестве стоп-заявок (подробнее об этом читатель узнает в главе 7).

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

Однако далее при составлении стационарной статистической модели мы остановимся лишь на наиболее важных моментах этой работы. Первым делом нам необходимо найти с помощью EViews коррелограмму логарифмического временного ряда. С этой целью нужно открыть ранее созданный файл USDOLLAR1 с логарифмическим временным рядом и воспользоваться алгоритмом действий № 5 «Как построить коррелограмму в EViews». В результате у нас получилась табл. 6.3 с коррелограммой логарифмического временного ряда, полученного от исходного временного ряда «Курс доллара за период с июня 1992 г. по июнь 2010 г.». В полученной коррелограмме можно увидеть, как меняются коэффициенты автокорреляции (Autocorrelation, или АС) и частной автокорреляции (Partial Correlation, или РАС) в зависимости от изменения величины лага.

Судя по табл. 6.3, уровень автокорреляции (АС) между исходными уровнями временного ряда US Dollar 1 постоянно убывает, начиная с первого лага. В свою очередь уровень частной корреляции (РАС) резко снижается уже после первого лага, а после второго лага осциллирующим образом стремится к нулю (фактически колеблется вокруг нуля). Если мы хотим построить модель авторегрессионного процесса AR(p), то для определения оптимального числа р мы должны использовать частную автокорреляционную функцию. При этом следует исходить из следующего критерия: оптимальное число р в уравнении авторегрессии должно быть меньше лага, в котором частная автокорреляционная функция начинает стремиться к нулю. Судя по коррелограмме, помещенной в табл. 6.3, коэффициент частной автокорреляции для лага в один месяц (или лага 1-го порядка) равен 0,967, а для лага в два месяца (или лага 2-го порядка) = 0,005. Причем начиная с этого лага величина коэффициента колеблется вокруг нулевого уровня. Следовательно, можно сделать вывод, что для прогнозирования курса доллара с помощью модели авторегрессии необходимо использовать модель AR(1), которая примет следующий вид:

Yt =c + b1Yt-1 +et. (6.1)

В свою очередь при идентификации авторегрессионной модели со скользящей средней модели ARMA(p, q) в качестве р выбирается лаг, после которого начинает убывать частная автокорреляционная функция, а в качестве q выбирается лаг, после которого начинает убывать автокорреляционная функция. Исходя из табл. 6.3 можно легко прийти к выводу, что коэффициент автокорреляции начинает убывать уже с лага 2-го порядка. Аналогичный вывод можно сделать и относительно коэффициента частной автокорреляции. Поэтому для прогнозирования курса доллара с помощью модели авторегрессии со скользящим средним в остатках можно использовать модель ARMA(1, 1), которая примет следующий вид:

Однако попробуем обойтись меньшим числом параметров, а потому сначала будем использовать авторегрессионную модель AR(1) согласно формуле (6.1). После того как в эту формулу вместо Y будет вставлено логарифмированное значение курса USDollar, оно приобретет следующий вид:

log(USDollar) = с + а × log(USDollar(-l)) + е. (6.3)

Однако для ввода в EViews следует использовать эту формулу в понятном для программы виде:

log(USDollar) log(USDollar(-l)) с. (6.4)

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

Таким образом, мы получили следующий вывод данных по итогам решения уравнения авторегрессии log(USDollar) = с + а × log(USDollar(-l)) (табл. 6.4). При этом нетрудно увидеть, что все коэффициенты в этом уравнении регрессии оказались статистически значимыми (поскольку Prob., т. е. уровень их значимости, оказался равен нулю). После замены букв найденными коэффициентами это уравнение в логарифмическом виде приобретет следующий вид:

log(USDollar) = 0,103059 + 0,969092 × log(USDollar(-l)). (6.5)

Однако интерпретация формулы (6.5) не столь очевидна, поскольку она относится к логарифмическому ряду, поэтому с помощью потенцирования этой формулы можно перейти от логарифмов к исходному временному ряду. Поскольку в EViews при логарифмировании исходного временнoго ряда используются натуральные логарифмы, в основании которых лежит е = 2,718281…, формулу (6.5) можно преобразовать следующим образом:

EXP(log(USDollar)) = EXP (0,103059) + (EXP 0,969092 × log(USDollar(-l))). (6.6)

В частности, новое значение свободного члена (константы) в формуле (6.6) легко найти в Excel с помощью функции ЕХР(0,103059) = 1,1085568. В результате исходная линейная функция с константой 6.5, решенная относительно логарифмического временнoго ряда, станет степенной функцией с константой, которую можно применять относительно исходного временнoго ряда:

USDollar = 1,1085568 × USDollar(-l)^0,969092. (6.7)

При этом интерпретация формулы (6.7) будет следующей: рост на 1 % курса доллара в текущем месяце в среднем способствовал повышению курса доллара в прогнозируемом месяце на 0,969 % при исходном уровне курса доллара, равном 1,1086 рублей.

Проверим полученную статистическую модель на наличие автокорреляции в остатках. Для проверки будем использовать алгоритм действий № 7 «Как выполняется LM-тест Бройша — Годфри в EViews». Для выполнения теста в диалоговом мини-окне LAG SPECIFICATION (лаговая спецификация) нужно установить 1, поскольку в нашем уравнении авторегрессии есть только одна факторная переменная с одним лагом (см. формулу (6.5)). Поскольку величина задаваемого лага определяется для модели ARMA(p, q) = mах(р, q), то в этом случае она приобретает следующий вид: ARMA(1, 0) = max(l, 0) = 1.

По результатам проведения этого теста получилась табл. 6.5, из которой следует, что наблюдается автокорреляция в остатках. Об этом свидетельствует нулевой уровень значимости как основного критерия теста Obs х R-squared (Наблюдения × R2), так и дополнительного — F-statistic (F-критерия).

Чтобы устранить автокорреляцию в остатках, необходимо изменить спецификацию статистической модели. С этой целью попробуем использовать для прогнозирования курса доллара модель авторегрессии со скользящим средним в остатках ARMA(1,1) (см. формулу (6.2)). Однако ввести в EViews эту формулу необходимо в следующем виде:

log(USDollar) с log(USDollar(-l)) МА(1), (6.8)

где с — константа;

log(USDollar(-l)) — логарифм от переменной с лагом в один месяц;

МА(1) — представляет собой скользящую среднюю первого порядка.

При этом следует иметь в виду одну тонкость: в опциях диалогового мини-окна EQUATION ESTIMATION (оценка уравнения) по умолчанию устанавливается параметр BACKCAST МА TERMS (рекурсивное вычисление предыдущей ошибки в МА-процессе). В этом случае значение предыдущей ошибки (отклонения прогноза от фактического курса доллара в прошлом месяце) для точечного прогноза по первому наблюдению находится рекурсивным методом (см. ввод этой опции на рис. 6.5).

Если в параметре BACKCAST МА TERMS убрать «галочку», значение прошлой ошибки в точечном прогнозе для первого наблюдения приравнивается нулю, поскольку оно на тот момент отсутствует. В свою очередь в случае применения в статистической модели скользящей средней второго порядка прошлые ошибки при прогнозировании не только первого, но и второго наблюдений либо приравниваются нулю, либо вычисляются рекурсивным методом.

В результате ввода в диалоговое мини-окно EQUATION ESTIMATION формулы (6.7) получается следующий вывод данных (табл. 6.6). Причем все полученные коэффициенты в этом уравнении у нас получились статистически значимыми (все выделенные жирным шрифтом значения Prob. меньше 0,05). Кстати, в таблице появляется информация о рекурсивном вычислении предыдущей ошибки относительно июня 1992 г. — Backcast: 1992М06. После замены буквенных обозначений вычисленными коэффициентами получилось следующее уравнение регрессии со скользящей средней:

Назад Дальше