Чтение онлайн

ЖАНРЫ

Как предсказать курс доллара. Поиск доходной стратегии с языком R
Шрифт:

# > начало(Мои.данные)

# смотрим первые 6 строк с загруженными данными – см. рис. 4

Рис. 4

>tail(Мои.данные)

# tail в переводе на русский означает хвост, задняя часть

# Смотрим последние 6 строк с загруженными данными– см. рис. 5

Рис. 5

> dim(Мои.данные)

[1] 5852 15

#

смотрим количество строк и колонок в загруженном файле.

# всего загружено 5852 строки и 15 колонок с 15 переменными.

> День_торгов.мес<-(Мои.данные[1:5831, 1])

# переменные будем обозначать на кириллице, хотя, как правило, используют латиницу

# в квадратных скобках укажем сначала номера загружаемых строк, а затем номер столбца

# символ 1:5831 означает номера строк сверху вниз по порядку 1,2 … 5830, 5831.

# строки 5832: 5852 с данными за апрель 2018 года пока не будем использовать

# неиспользованные данные будут нам нужны для последующего тестирования

> Долл.США_Руб <-Мои.данные[1:5831, 2]

# Долл.США_Руб <-Мои.данные [1:5831 наблюдений, 2-й столбец загруженного файла]

> Евро_Руб <-Мои.данные[1:5831, 3]

> Евро_Долл.США<-Мои.данные[1:5831, 4]

> Нефть<-Мои.данные[1:5831, 14]

> Золото<-Мои.данные[1:5831, 15]

# присваиваем названия тем загруженным данным, которые сейчас будем использовать

Далее построим уравнение регрессии, включив в него в качестве зависимой переменной Долл.США_Руб, а в качестве независимых переменных – фундаментальные факторы, которые, по нашему мнению, влияют на его курс – Евро_Долл.США, Евро_Руб, Нефть и Золото.

Как известно, задачей регрессионного анализа является расчет формулы, описывающей связь между зависимой переменной Y (ее называют также результативным признаком) и независимыми (их называют также факторными) переменными X1, X2, … , Xn. При этом формула связи результативного признака Y с факторами X1, X2, … , Xn, либо с одним фактором X, получила название уравнения регрессии.

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

Подробнее о том, как решить уравнение регрессии, можно прочитать в моей книге «Как предсказать курс доллара. Эффективные методы прогнозирования с использованием Excel и EViews» -см. главу 2. «Метод наименьших квадратов и решение уравнения регрессии в Excel», а также в другой моей книге «Как предсказать курс доллара. Расчеты в Excel для снижения риска проигрыша» – см. главу 2. «Как в Excel решить однофакторное уравнение регрессии для линейного тренда».

Решение уравнения регрессии с одной зависимой переменной Долл.США_Руб и четырьмя независимыми переменными, обозначающими воздействие на эту валюту четырех фундаментальных факторов, в R примет следующий вид:

> Уравн1<-lm(Долл.США_Руб~Евро_Долл.США+Евро_Руб+Нефть+Золото)

# решаем уравнение регрессии

#сокращение lm означает уравнение, решаемое методом наименьших квадратов

# символ ~ отделяет зависимую переменную Долл.США_Руб от независимых переменных

#

между зависимыми переменными ставится знак +.

> summary(Уравн1)

# summary означет краткий вывод, итоги решения уравнения

В результате получаем табл. 1 с выводом данных по итогам решения этого уравнения регрессии.

Табл. 1. Вывод данных по итогам решения уравнения регрессии

Call:

lm(formula = Долл.США_Руб ~ Евро_Долл.США + Евро_Руб + Нефть + Золото)

Residuals:

Min 1Q Median 3Q Max

–3.745 -0.580 -0.061 0.385 6.123

Coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept) 26.6701534 0.1319762 202.08 <0.0000000000000002 ***

Евро_Долл.США -22.5209932 0.1194950 -188.47 <0.0000000000000002 ***

Евро_Руб 0.8717064 0.0010245 850.84 <0.0000000000000002 ***

Нефть -0.0168154 0.0008252 -20.38 <0.0000000000000002 ***

Золото 0.0001949 0.0000611 3.19 0.0014 **

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1 on 5826 degrees of freedom

Multiple R-squared: 0.996, Adjusted R-squared: 0.996

F-statistic: 3.83e+05 on 4 and 5826 DF, p-value: <0.0000000000000002

Источник: расчеты автора

Проверим решение уравнения 1 на статистическую значимость. Судя по табл. 1, F-statistic у данного уравнения регрессии имеет p -value: <0.0000000000000002, то есть уровень его надежности более 99% = ((1-0.0000000000000002)*100). Таким образом можно сделать вывод, что в целом мы получили статистически значимое уравнение регрессии. Также близки к нулю p -value и у константы этого уравнения регрессии (Intercept) и у коэффициентов переменных Евро_Долл.США, Евро_Руб, Нефть и Золото, следовательно, из этого можно сделать вывод, что они также статистически значимы с 99% уровнем надежности.

Случайный (стохастический) процесс Х называют стационарным в сильном смысле, если совместное распределение вероятностей всех его лаговых переменных Х1, Х2, …, Хn, точно такое же, как и для переменных Х1+t, Х2+t, …, Хn+t. Заметим, что стационарных процессов в сильном смысле на финансовых рынках практически нет, а вот стационарные процессы в более широком слабом смысле активно используются для прогнозирования динамики финансовых активов. Под стационарным процессом в слабом смысле понимается случайный процесс, в котором его среднее значение и дисперсия (разброс, отклонения от средней) не зависят от рассматриваемого времени, а автоковариация (корреляционная связь) зависит только от длины лага между лаговыми переменными.

Далее проверим все переменные (временные ряды), включенные в уравнение 1 на стационарность. С этой целью будем использовать расширенный тест Дикки-Фуллера. Как известно, временной ряд считается стационарным в слабом смысле, если построенное на основе его уравнение первого порядка имеет коэффициент регрессии <1. Например, уравнение Хt= 0.975*Хt-1 +С, – свидетельствует о том, что временной ряд Хt с константой С и коэффициентом = 0.975 < 1 является стационарным в слабом смысле. Поэтому в этом временном ряде иногда может возникать сильная волатильность, но в случае стационарности в широком смысле она постепенно затухает. Соответственно, если бы коэффициент был бы больше 1, то тогда этот временной ряд считался бы нестационарным, а, следовательно, волатильность в этом ряде не имела бы тенденции с течением времени не затухать.

Поделиться с друзьями: