我想在R中进行GARCH建模,为此我需要将Matlab代码转换为R.我尝试了不同的包,例如rugarch。但是,我无法在R中找到正确的规范,这相当于Matlab中的规范。
Matlab代码如下:
spec = garchset('C',0,'K',0.0001,'GARCH',0.9,'ARCH',0.05,'Display','off');
[Ca,Ea,LLa,A,Sa,Suma] = garchfit(spec,data);
有人可以告诉我如何把它放在R?
答案 0 :(得分:2)
问题中陈述的两行Matlab代码可以使用 rugarch 包转换为R.首先,平均模型被设置为没有AR而没有MA部分,因此它只是一个常数。其次,方差模型是标准GARCH(sGARCH ),并且具有一个GARCH和一个ARCH组件。由于在提供的Matlab代码中所有参数都是固定的,因此需要包含fixed.pars
命令。这里,mu
,alpha1
,beta1
和omega
分别是ARCH参数,GARCH参数和方差模型的截距的无条件均值的值。
install.packages("rugarch")
require(rugarch)
spec <- ugarchspec(mean.model=list(armaOrder=c(0,0)),
variance.model=list(model = "sGARCH", garchOrder = c(1,1)),
fixed.pars=list(mu = 0, alpha1=0.05, beta1 = 0.9, omega = 0.0001))
garch_fit <- ugarchfilter(spec = spec, data = data)
然后,可以通过将以下功能应用于[Ca,Ea,LLa,A,Sa,Suma]
来找到garch_fit
中包含的信息,例如residuals(garch_fit, standardize = FALSE)
提取未标准化的残差。
coef :提取系数
拟合:提取过滤后的值
infocriteria :计算并返回各种信息标准
可能性:提取可能性。
残差:提取残差。可选的逻辑参数standardize(默认为FALSE)允许提取标准化残差
更详细的信息可以在rugarch package manual guide.
中找到