Как предсказать курс доллара. Поиск доходной стратегии с языком R - стр. 24
>tail(Уравн1$residuals, 20)
# по умолчанию команда tail дает только 6 последних наблюдений
# поэтому цифра 20 специально указана в команде tail
Табл. 4. Вывод остатков, полученных после решения уравнения 1.
Источник: расчеты автора
Как известно, в статистической науке остатками называют разницу между фактическим и расчетным значением переменной, найденным после решения уравнения регрессии. Судя по табл. 4, все остатки за 20 дней торгов марта 2018 года были со знаком минус, то есть отрицательные. Таким образом можно сделать вывод, что курс доллара к рублю с точки зрения воздействия на него фундаментальных факторов оказался недооцененным. Причем, в период с 1 марта по 30 марта 2018 года эта недооценка американского доллара выросла с -1.969 руб. до -2.263 руб.
По итогам тестирования мы также выяснили, что остатки, полученные по итогам решения уравнения 1, являются стационарными, то есть имеют тенденцию колебаться вокруг их среднего значения, равного нулю. В связи с этим, имеет смысл найти среднюю полуамплитуду их колебаний вокруг 0, то есть найти среднестатистическое время, в течение которого остатки, опустившись до своего локального минимума, поднимаются до своего очередного локального максимума. Найдем эту полуамплитуду таким образом:
коэф.возврата<– summary(Долл.США_Руб.ост_адф)@testreg$coefficients[1,1]
# коэффициент @testreg$coefficients[1,1] берем из summary(Долл.США_Руб.ост_адф)
полупериод.средней <-(-log(2)/коэф.возврата)
# log(2) – натуральный логарифм от 2
полупериод.средней
# [1] 92.33331
Таким образом, средняя полуамплитуда колебаний остатков по курсу доллара к рублю составляет 92.33 торговых дня. По мнению Ernest P. Chan, автора книги «Algorithmic Trading. Winning Strategies and Their Rationale», pp 46-47 (Эрнест П. Чан. «Алгоритмическая торговля. Стратегии выигрыша и их обоснование», стр. 46-47), знание полуамплитуды колебания позволяет инвестору оценить период возврата его вложений в валюту. На наш взгляд, на практике сделать это очень непросто, поскольку фактические полуамплитуды колебаний значительно отличаются от их среднего значения. Чтобы это наглядно показать читателю, построим график колебаний остатков за период с 30 июня 1992 г. по 30 марта 2018 г. С этой целью введем следующий код:
plot(Уравн1$residuals[1:5831], main='Полупериоды колебания остатков', xlab='Годы', type='l')
# строим график остатков
# plot означает график
abline(h=0, lwd=4)
# приставка ab означает от, а line – линия
# строим линию =0 с толщиной lwd=4
# lwd сокращение от line width, что означает ширину линии