Сохранить результат прогноза в CSV-файл в R - PullRequest
0 голосов
/ 28 января 2019
df=structure(list(X.1 = 1:6, X = c(1L, 1L, 1L, 1L, 1L, 1L), json_data.time.updated = structure(1:6, .Label = c("Jan 19, 2019 15:18:00 UTC", 
"Jan 19, 2019 15:19:00 UTC", "Jan 19, 2019 15:51:00 UTC", "Jan 19, 2019 15:52:00 UTC", 
"Jan 19, 2019 15:54:00 UTC", "Jan 19, 2019 15:55:00 UTC"), class = "factor"), 
    json_data.time.updatedISO = structure(1:6, .Label = c("2019-01-19T15:18:00+00:00", 
    "2019-01-19T15:19:00+00:00", "2019-01-19T15:51:00+00:00", 
    "2019-01-19T15:52:00+00:00", "2019-01-19T15:54:00+00:00", 
    "2019-01-19T15:55:00+00:00"), class = "factor"), json_data.time.updateduk = structure(1:6, .Label = c("Jan 19, 2019 at 15:18 GMT", 
    "Jan 19, 2019 at 15:19 GMT", "Jan 19, 2019 at 15:51 GMT", 
    "Jan 19, 2019 at 15:52 GMT", "Jan 19, 2019 at 15:54 GMT", 
    "Jan 19, 2019 at 15:55 GMT"), class = "factor"), code = structure(c(1L, 
    1L, 1L, 1L, 1L, 1L), .Label = "USD", class = "factor"), rate = structure(c(2L, 
    3L, 6L, 1L, 5L, 4L), .Label = c("3,735.3200", "3,735.7750", 
    "3,735.9150", "3,736.0750", "3,736.7717", "3,736.9100"), class = "factor"), 
    description = structure(c(1L, 1L, 1L, 1L, 1L, 1L), .Label = "United States Dollar", class = "factor"), 
    rate_float = structure(c(2L, 3L, 6L, 1L, 5L, 4L), .Label = c("3735.32", 
    "3735.775", "3735.915", "3736.075", "3736.7717", "3736.91"
    ), class = "factor")), class = "data.frame", row.names = c(NA, 
-6L)) 

-

require(rugarch)


#We can then compute the ARMA(1,1)-GARCH(1,1) model as an example:



  spec <- ugarchspec(variance.model = list(model = "sGARCH", 
                                           garchOrder = c(1, 1), 
                                           submodel = NULL, 
                                           external.regressors = NULL, 
                                           variance.targeting = FALSE), 

                     mean.model     = list(armaOrder = c(1, 1), 
                                           external.regressors = NULL, 
                                           distribution.model = "norm", 
                                           start.pars = list(), 
                                           fixed.pars = list()))

garch <- ugarchfit(spec = spec, data = df$rate_float, solver.control = list(trace=0))


ugarchforecast(garch, n.ahead = 5)

Я буду запускать скрипт прогноза каждые 5 минут из этой строки spec <- ugarchspec (variance.model = list (model = "sGARCH ", например, скрипт был запущен в 10:10, прогноз был сделанна 5 шагов этот результат должен быть записан в CSV-файл

, затем он был запущен в 10:15, прогноз был сделан на 5 шагов, затем этот результат должен быть записан в CSV-файл с отметкой даты

затем в 10:20 и т. Д. Как добавлять прогнозы к одному CSV с меткой даты каждый раз, когда запускается скрипт?

вывод может быть таким enter image description here

1 Ответ

0 голосов
/ 28 января 2019

Просто в качестве примера:

linmod <- lm(mpg ~ hp, data = mtcars) # your model

predictions <- predict(linmod) # your vector of predictions

Перед сохранением просто cbind() со временем:

final <- cbind(date_time=format(Sys.time(), format="%Y/%m/%d %H:%M"),
               predictions = predictions)

Теперь вы можете сохранить final с помощью write.csv().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...