所以我试图复制这篇文章哥伦比亚股票http://unstarched.net/2013/03/20/high-frequency-garch-the-multiplicative-component-garch-mcsgarch-model/,所以首先我做同样的事情,以了解它做了什么以及它是如何工作的。但是,当拟合mscGARCH时,我得到了我现在不知道的原因,因为我的做法和帖子一样。所有准备好问那里,但我没有得到答案,所以我来这里寻求一些帮助。 ,我有代码:乘法组件GARCH
library(rugarch)
Sys.setenv(TZ="GMT")
library(quantmod)
library(zoo)
library(TTR)
R_i=read.csv('C:/Users/Alejandro/Downloads/C_2008_1minret.csv')
R_i= xts(R_i[,2],as.POSIXct(R_i[,1]))
getSymbols("C", from="2000-01-01", to="2013-03-20")
C= adjustOHLC(C,use.Adjusted = T)
R_d= ROC(Cl(C),na.pad=F)
par(cex.main=0.85,col.main="black")
acf(abs(as.numeric(R_i)),lag.max=4000, main="1-min retornos absolutos\nCitigroup (2008 Jan-Feb)"
,cex.lab=1.5)
####################
## Implementacion ##
####################
n= length(unique(format(index(R_i),"%Y-%m-%d")))
spec_d=ugarchspec(mean.model = list(armaOrder=c(1,1)),
variance.model = list(model="eGARCH",garchOrder=c(2,1)),
distribution="nig")
roll=ugarchroll(spec_d,data=R_d["/2008-02-29"], forecast.lenght=n,
refit.every = 5,refit.window = "moving", moving.size=2000,
calculate.VaR=F)
df=as.data.frame(roll)
f_sigma=as.xts(df[,"Sigma",drop=F])
spec= ugarchspec(mean.model=list(armaOrder=c(1,1),include.mean=T),
variance.model=list(model="mcsGARCH"), distribution="nig")
fit=ugarchfit(data=R_i, spec=spec,DailyVar=f_sigma^2)
的最后一个命令是一个最让我这是错误:Error in !matchD : invalid argument type
。但我不知道自己在做什么错了
工作完全谢谢@FXQuantTrader –
我遇到了另一个我不明白的问题。在此命令之后,'forc = ugarchforecast(fit2,n.ahead = 10,n.roll = 299,DailyVar = f_sigma^2)'y得到'错误:无法分配大小为360.0的矢量Mb 另外:警告消息: 1:格式.POSIXlt(as.POSIXlt(x,tz),格式,usetz,...): 达到8169Mb的总分配:见help(memory.size)'你做错了什么?只是我的电脑没有能力来计算这个吗?或者我只需要增加R中的内存?在这种情况下,我该怎么做? –
听起来像。你看过说这个吗? http://stackoverflow.com/questions/5171593/r-memory-management-cannot-allocate-vector-of-size-n-mb – FXQuantTrader