主要内容

从GARCH函数到模型对象的转换

在R2014a,华宇电脑garchegarch,gjr模型和相关功能替代garchfitgarchinfergarchplotgarchpredgarchsimgarchcountgarchdispgarchget,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).

  1. 用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返回条件标准差。

    • 使用新功能,您必须:

      • 使用单元格数组指定多个系数值。

      • 使用指定方差模型garchegarch,或gjr

  2. 指定用于估计的模板模型。

    %新方法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而且对应于模型的自回归阶数和移动平均阶数。

  3. 使每个模型适合于数据。

    %新方法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);

    估计功能:

    • 返回估计的参数协方差矩阵,而不仅仅是标准误差。

    • 让您决定查看估计和优化信息,而不是在指定模型时进行设置。

  4. 计算估计模型中拟合参数的个数。

    %新方法numParams11 = sum(任何(EstParamCov11));numParams21 = sum(任何(EstParamCov21));%旧方式numParams12 = garchcount(EstMdl12);numParams22 = garchcount(EstMdl22);

    新功能不包含计算估计模型中拟合参数数量的函数。但是,如果在估计过程中某个参数是固定的,那么软件将相应参数估计的所有方差和协方差设置为0.计算拟合参数的新方法使用了这一特性。

  5. 使用信息标准评估哪个模型更合适。

    aic1 = aicbic(logL1,numParams1);aic2 = aicbic(logL2,numParams2);

另请参阅

对象

功能

相关的话题