所以我試圖複製這篇文章哥倫比亞股票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