rugarch软件包R中的n.roll和n.ahead

问题描述

我想用garch(1,1)模型预测两个收益序列AAPL和MSFT的波动率。

首先,我使用getSymbols从Yahoo Finance获取数据,并通过ln(P1)-ln(P0)计算收益。

然后我用out.sample = 209拟合sgarch(1,1)。

最后,我使用ugarchforecast,其n.roll和n.ahead等于209。

我想要的是对209个观测值的预测,但是每个估计都可以使用out样本集中的每个观测值进行提前1步的预测来预测。更明确地说,我希望使用所有样本中的数据预测209个预测观察中的第一个,然后使用所有样本中的数据预测第二个预测观察,而使用样本外的第一个实际观察,以此类推。 / p>

getSymbols(c("AAPL","MSFT"))
Apple <- Ad(AAPL)
Msft <- Ad(MSFT)

datos <- data.frame("AAPL" = Apple,"MSFT" = Msft)
retornos <- datos %>% map_df(~diff(log(.x)))

retornosts <- retornos %>% xts(order.by = index(AAPL)[-1])

modelos_garch <- c()
for (i in 1:ncol(retornosts)) {
  x <- ugarchspec()
  z <- ugarchfit(spec = x,data = retornosts[,i],solver = "hybrid",out.sample = 209)
  modelos_garch <- append(modelos_garch,z)
}

pred1 <- ugarchforecast(modelos_garch[[1]],n.ahead = 209,n.roll = 209,out.sample = 209)
pred2 <- ugarchforecast(modelos_garch[[2]],out.sample = 209)

是那样的方式还是我错了?

非常感谢您的帮助,谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...