从GARCH函数到模型对象的转换
在R2014a,华宇电脑
,garch
,egarch
,gjr
模型和相关功能替代garchfit
,garchinfer
,garchplot
,garchpred
,garchsim
,garchcount
,garchdisp
,garchget
,garchset
功能。如果您使用旧的GARCH数据分析函数,那么您将收到一个错误。使用此页上的信息帮助您从旧功能转换到新功能。
假设你想分析一个单变量序列y
使用ARIMA(3,4)模型和GARCH(1,2)创新,并且您有预样本观测(y0
)、创新(e0
)和条件标准差(sigma0
).下表显示了完成这种分析的两种方法。
一步 | 旧的功能 | 新功能 |
---|---|---|
指定一个复合ARIMA-GARCH模型 |
Mdl = garchset('R',3,'M',4,…“P”,“问”,2); |
Mdl = arima(3,0,4);VarMdl = garch(1,2);Mdl。方差= VarMdl; |
检索模型属性 |
“K”garchget (Mdl) |
Mdl.Variance.Constant |
设置等式约束 |
Mdl = garchset(Mdl,…“K”,0.75,' FixK ', 1); |
mml . variance . constant = 0.75; |
估计参数 |
EstMdl = garchfit(Mdl,y,[],…e0、sigma0 y0); |
[EstMdl,EstParamCov] =…评估(E0 Mdl y“E0”,…“半”,sigma0。^ 2,Y0, Y0) |
计算拟合参数的个数 |
numParams = garchcount(…EstMdl); |
numParams = sum(any(…)EstParamCov)); |
推断条件方差(sigma2 ),得到对数似然(logL ) |
[e,sigma,logL] =…garchinfer (EstMdl y…[], e0 sigma0, y0);sigma2 = sigma.^2; |
[e,sigma2,logL] = infer(…)E0 EstMdl y“E0”,…“半”,sigma0。^ 2,Y0, Y0); |
模拟观测 |
simY = garchsim(EstMdl,100); |
simY =模拟(EstMdl,100); |
过滤干扰 |
E = randn(100,1);simY = garchsim(EstMdl,[],…[], e); |
E = randn(100,1);simY = filter(EstMdl,e); |
预测的观察 |
fY = garchpred(EstMdl,y,…15); |
fY = forecast(预测);Y0, y); |
尽管相似,但这两个功能的输入和输出结构在某些方面有所不同。这个示例展示了如何确定两者之间的一些差异,并可能帮助您完成转换。这个例子没有显示如何在模型之间重现等价的结果,因为一般来说,两个功能之间的估计可能不同。
假设你想分析一个单变量序列。您怀疑该模型是ARIMA(2,1)/GARCH(1,1)或ARIMA(1,1)/GARCH(1,1)模型,并希望测试哪个模型更适合数据。表示新功能的变量具有后缀1
(例如,Mdl1
),而那些较老的功能有后缀2
(例如,Mdl2
).
用GARCH(1,1)创新来模拟ARIMA(2,1)模型的数据。
%新方法VarMdl1 = garch(“四国”, 0.3,“拱”, 0.2,“不变”, 0.75);Mdl1 = arima(基于“增大化现实”技术的{0.5, 0.3},“马”, -0.7,“不变”0,“方差”, VarMdl1);[y1,e1,v1] =模拟(mdl1100);%旧方式Mdl2 = garchset(基于“增大化现实”技术的[0.5, 0.3],“马”, -0.7,“C”0,...“四国”, 0.3,“拱”, 0.2,“K”, 0.75);[e2,sd2,y2] = garchsim(Mdl2,100);
区别在于:
Mdl1
是一个华宇电脑
对象,Mdl2
是结构数组。模拟
返回条件方差,而garchsim
返回条件标准差。使用新功能,您必须:
使用单元格数组指定多个系数值。
使用指定方差模型
garch
,egarch
,或gjr
.
指定用于估计的模板模型。
%新方法VarMdl1 = garch(1,1);Mdl11 = arima(“ARLags”, 1“MALags”, 1“方差”, VarMdl1);Mdl12 = arima(“ARLags”1:2,“MALags”, 1“方差”, VarMdl1);%旧方式Mdl21 = garchset(“R”, 1“米”, 1“P”, 1“问”, 1“显示”,“关闭”);Mdl22 = garchset(“R”2,“米”, 1“P”, 1“问”, 1“显示”,“关闭”);
新功能具有名称-值对参数
“ARLags”
而且“MALags”
设定模型的多项式项。必须单独指定每个术语顺序,这样可以实现更灵活的规范。这些模型Mdl11
而且Mdl12
有属性P
而且问
对应于模型的自回归阶数和移动平均阶数。使每个模型适合于数据。
%新方法logL1 = [0;0];% PreallocatenumParams1 = logL1;% Preallocate[EstMdl11,EstParamCov11, log11] =估计(Mdl11,y1,“显示”,“关闭”);[EstMdl12,EstParamCov12, log12] =估计(Mdl12,y1,“显示”,“关闭”);%旧方式logL2 = [0;0];% PreallocatenumParams2 = logL2;% Preallocate[EstMdl21,~,logl12] = garchfit(Mdl21,y2);[EstMdl22,~,logl22] = garchfit(Mdl22,y2);
的
估计
功能:返回估计的参数协方差矩阵,而不仅仅是标准误差。
让您决定查看估计和优化信息,而不是在指定模型时进行设置。
计算估计模型中拟合参数的个数。
%新方法numParams11 = sum(任何(EstParamCov11));numParams21 = sum(任何(EstParamCov21));%旧方式numParams12 = garchcount(EstMdl12);numParams22 = garchcount(EstMdl22);
新功能不包含计算估计模型中拟合参数数量的函数。但是,如果在估计过程中某个参数是固定的,那么软件将相应参数估计的所有方差和协方差设置为
0
.计算拟合参数的新方法使用了这一特性。使用信息标准评估哪个模型更合适。
aic1 = aicbic(logL1,numParams1);aic2 = aicbic(logL2,numParams2);