Блог им. SciFi

> fit.arima
Series: cl.RIM6
ARIMA(0,1,0)
sigma^2 estimated as 12012: log likelihood=-984.25
AIC=1970.51 AICc=1970.53 BIC=1973.59
> fit.arima.reg
Series: cl.RIM6
ARIMA(0,1,0)
Coefficients:
BRN6.Close
1321.0798
s.e. 109.7654
sigma^2 estimated as 6337: log likelihood=-932.6
AIC=1869.19 AICc=1869.27 BIC=1875.36
#install.packages("forecast")
#install.packages("tseries")
#install.packages("quantmod")
#install.packages("rusquant", repos="http://R-Forge.R-project.org")
# Установка пакетов. Она не требуется, если уже все установлено.
library(tseries)
library(quantmod)
library(rusquant)
library(forecast)
library(arfima)
# Подключение библиотек. ARFIMA и quantmod пока не используются.
tickers = c("RIM6", "BRN6")
getSymbols(tickers, src = "Finam", from = Sys.Date()-1, period = "5min")
# Получение данных
cl.RIM6 <- Cl(RIM6)
cl.BRN6 <- Cl(BRN6)
# Цены закрытия
print("Best ARIMA Model")
fit.arima <- auto.arima(cl.RIM6)
print(fit.arima)
# Лучшая простая модель
print("Best ARIMA Model with Externeous regressor")
fit.arima.reg <- auto.arima(cl.RIM6, xreg=cl.BRN6)
print(fit.arima.reg)
# Лучшая модель с дополнительным регрессором
residuals.arima <- residuals(fit.arima)
residuals.arima.reg <- residuals(fit.arima.reg)
# Ошибки (остатки) моделей
par(mfrow=c(2,1))
# Создаем график с 2 строками и 1 столбцом
hist(residuals.arima.reg, breaks=100, col = "green", border = "black")
hist(residuals.arima, breaks=100, col = "green", border = "black")
# Гистограммы
print(predict(fit.arima, n.ahead = 1))
# Предсказание простой модели
lastPredictorValue = cl.BRN6[length(cl.BRN6)]
print(predict(fit.arima.reg, newxreg=c(lastPredictorValue)))
print("last predictor value =")
print(lastPredictorValue)
# Предсказание модели с регрессором для след. момента времени при цене на нефть 51.82
— берем n возможных предикторов (нефть, мировые индексы, eurusd, usdjpy, audjpy (тогда еще работало!:); ряд индикаторов долгового и межбанковского рынка и т.п.);
— оцениваем текущее действие каждого на целевой параметр в каком-то окне (m последних баров)
— выбираем наиболее сильные
— включаем их в auto AR модель (неважно какую из них, пофигу)
— процесс повторяется постоянно
данный вид наглого оверфиттинга кстати как ни странно работал но потом пришел кажется то ли 2006-й то ли 2007й г. с тотальным ростом emerging markets и какими-то местными процессами связанными сначала с либерализацией Газпрома, потом с РАО ЕЭС, в общем приток инвестиций, и все дело поломалось :) Потом еще раз поломалось убившись в какой-то момент волатильностью 2008-2009 г. выпуска :)