Блог им. 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 г. выпуска :)