Как предсказать курс доллара. Поиск доходной стратегии с языком R
Шрифт:
> library(urca)
> Долл.США_Руб.адф <– ur.df(Долл.США_Руб, type = "drift")
# проводим расширенный тест Дикки-Фуллера
# опция теста type = "drift" означает константу
> summary(Долл.США_Руб.адф)
# вывод итогов теста
В результате получаем табл. 2 с выводом данных по итогам выполнения теста расширенного теста Дикки-Фуллера.
Табл. 2. Вывод данных по итогам выполнения теста расширенного теста Дикки-Фуллера
###############################################
# Augmented Dickey-Fuller Test Unit Root Test #
###############################################
Test regression drift
Call:
lm(formula = z.diff ~ z.lag.1 + 1 + z.diff.lag)
Residuals:
Min 1Q Median 3Q Max
–8.165 -0.052 -0.014 0.035 6.641
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.019965 0.011019 1.81 0.07 .
z.lag.1 -0.000343 0.000327 -1.05 0.29
z.diff.lag -0.002071 0.013103 -0.16 0.87
–
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.405 on 5826 degrees of freedom
Multiple R-squared: 0.000194, Adjusted R-squared: -0.000149
F-statistic: 0.566 on 2 and 5826 DF, p-value: 0.568
Value of test-statistic is: -1.05 2.267
Critical values for test statistics:
1pct 5pct 10pct
tau2 -3.43 -2.86 -2.57
phi1 6.43 4.59 3.78
Источник:
Из табл. 2 следует, что значение тестовой статистики (Value of test-statistic) = -1.05 (рядом стоящая цифра 2.267 оценивает значимость включенной в тест константы), то есть выше критического значения tau2=-2.57 для 10% уровня значимости (или, что тоже самое для 90% уровня надежности = 100% – 10% уровень значимости). Таким образом нулевая гипотеза о наличии единичного корня не может быть отклонена, а потому временной ряд Долл.США_Руб нельзя считать стационарным. Аналогичным образом проверим на стационарность и другие временные ряды по всем факторам, включенным в уравнение регрессии 1. С этой целью введем следующие восемь строк кода:
> Евро_Долл.США.адф <– ur.df(Евро_Долл.США, type = "drift")
> summary(Евро_Долл.США.адф)
> Евро_Руб.адф <– ur.df(Евро_Руб, type = "drift")
> summary(Евро_Руб.адф)
> Нефть.адф <– ur.df(Нефть, type = "drift")
> summary(Нефть.адф)
> Золото.адф <– ur.df(Золото, type = "drift")
> summary(Золото.адф)
По итогам всех этих четырех тестов с помощью функции summary нам удалось выяснить по каждому временному ряду, включенному в уравнение регрессии 1, что все они нестационарные. Делается это аналогичным образом, как и при анализе результатов, полученных нами с помощью функции summary(Долл.США_Руб.адф). Итоги этого анализа в целях экономии места в данном случае не приводятся.
Теперь проверим на стационарность остатки, полученные после решения уравнения регрессии 1. Заметим, что под остатками в данном случае имеется в виду разница между фактическими значениями Долл.США_Руб и их расчетными значениями, найденными по уравнению регрессии 1. Остатки в нашем коде обозначим как Уравн1$residuals, а в функцию ur.df введем type = "none", то есть расширенный тест Дикки-Фуллера будет проводиться, исходя из того, что в остатках нет
>Долл.США_Руб.ост_адф <– ur.df(Уравн1$residuals, type = "none")
>summary(Долл.США_Руб.ост_адф)
По итогам тестирования команда summary(Долл.США_Руб.ост_адф) выдаст нам следующие итоги – см. табл. 3.
Табл. 3. Вывод данных по итогам выполнения расширенного теста Дикки-Фуллера по остаткам, полученным после решения уравнения 1
###############################################
# Augmented Dickey-Fuller Test Unit Root Test #
###############################################
Test regression none
Call:
lm(formula = z.diff ~ z.lag.1 – 1 + z.diff.lag)
Residuals:
Min 1Q Median 3Q Max
–1.2278 -0.0297 -0.0006 0.0274 1.2447
Coefficients:
Estimate Std. Error t value Pr(>|t|)
z.lag.1 -0.00751 0.00149 -5.03 0.0000005 ***
z.diff.lag 0.02879 0.01308 2.20 0.028 *
–
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.114 on 5827 degrees of freedom
Multiple R-squared: 0.00497, Adjusted R-squared: 0.00463
F-statistic: 14.6 on 2 and 5827 DF, p-value: 0.000000492
Value of test-statistic is: -5.031
Critical values for test statistics:
1pct 5pct 10pct
tau1 -2.58 -1.95 -1.62
Источник: расчеты автора
Как видим, значение тестовой статистики (Value of test-statistic) = -5.031, то есть ниже tau2=-2.58 – критического значения (Critical values for test statistics) для 1% уровня значимости (или, что тоже самое, для 99% уровня надежности). Следовательно, нулевая гипотеза о наличии единичного корня отклоняется с 99% уровнем надежности, а, потому остатки, полученные по итогам решения уравнения регрессии 1, носят стационарный характер. Как мы уже выяснили, эти остатки представляют собой линейную комбинацию нестационарных временных рядов, состоящих из четырех факторов (Евро_Долл.США+Евро_Руб+Нефть+Золото) с зависимой переменной Долл.США_Руб. При этом наличие стационарных остатков – при нестационарности временных рядов факторов, включенных в это уравнение регрессии – свидетельствует о наличии коинтеграции между всеми этими переменными, включенными в уравнение 1. Коинтеграция временных рядов значительно упрощает процесс их анализа, а также свидетельствует о совпадении их динамики в течение весьма длительного времени.
Таким образом для того, чтобы выявить коинтеграцию между временными рядами необходимо сделать следующее: во-первых, построить и решить статистически значимое уравнение регрессии; во-вторых, проверить временные ряды переменных, включенные в уравнение регрессии на стационарность с помощью расширенного теста Дикки-Фуллера; в-третьих, в случае, если эти временные ряды не стационарны, провести тестирование остатков уравнения регрессии на стационарность; в-четвертых, если расширенный тест Дикки-Фуллера покажет, что эти остатки стационарны, то можно сделать вывод о наличии коинтеграции между временными рядами, включенными в уравнение регрессии.