当前位置:文档之家› GARCH模型

GARCH模型

GARCH模型
GARCH模型

GARCH模型

GARCH表示广义自回归条件异方差(Generalized Auto Regressive Conditional Heteroscedasticity),模型包括均值方程和方差方程两部分:

均值方程:

方差方程:

系数条件:

GARCH模型待估参数:

条件均值参数:

条件均值常数:C

自回归阶数:R

自回归系数:Φ(AR)

移动平均阶数:M

移动平均系数:θ(MA)

解释变量系数:β(Regress)

条件方差参数

(∑G i + ∑A j< 1)

条件方差常数:K

GARCH模型阶数:P(金融时间序列常用1) GARCH模型阶数:Q(金融时间序列常用1) (如果Q为0,则P必须为0)

GARCH系数:Gi

ARCH系数:Aj

模型结构设置

MATLAB通过命令 garchset 指定模型的结构,garchset 的语法:

Spec = garchset(param1,val1,param2,val2,...)

Spec = garchset(OldSpec, param1,val1,...)

模型参数估计

[Coeff, Errors, LLF, Innovations, Sigmas] = garchfit(Spec, Series) 输入参数

Spec 指定模型的结构

Series 为时间序列的样本观测值

输出参数

Coeff: 模型的参数估计值

Errors: 模型参数的标准差

LLF: 最大似然估计法中的对数目标函数值

Innovations: 残差向量

Sigmas:对应于Innovations 的标准差

1、选择一个或多个模型,如garch(1,1)、garch(2,1)

load garchdata

dem2gbp = price2ret(DEM2GBP);

2、估计模型参数

根据数据对每个模型进行参数估计。

估计garch(1,1)

spec11 = garchset('P',1,'Q',1,'Display','off');

[coeff11,errors11,LLF11] = garchfit(spec11,dem2gbp);

garchdisp(coeff11,errors11)

估计garch(2,1)

spec21 = garchset('P',2,'Q',1,'Display','off');

[coeff21,errors21,LLF21] = garchfit(spec21,dem2gbp);

garchdisp(coeff21,errors21)

3、选择模型

利用合适的评估方法选择合适的模型;

似然比检验

似然比检验(LRT)用来评估两个模型中那个模型更适合当前数据分析。具体来说,一个相对复杂的模型与一个简单模型比较,来检验它是不是能够显著地适合一个特定的数据集。如果可以,那么这个复杂模型的附加参数能够用在以后的数据分析中。LRT应用的一个前提条件是这些待比较的模型应

该是分级的巢式模型。具体来讲,是说相对于简单模型,复杂模型仅仅是多了一个或者多个附加参数。增加模型参数必定会导致高似然值成绩。因此根据似然值的高低来判断模型的适合度是不准确的。LRT提供了一个客观的标准来选择合适的模型。LRT检验的公式:

LR = 2*(lnL1-lnL2)其中L1为复杂模型最大似然值,L2为简单标准模型最大似然值LR近似的符合卡方分布。为了检验两个模型似然值的差异是否显著,我们必须要考虑自由度。LRT检验中,自由度等于在复杂模型中增加的模型参数的数目。这样根据卡方分布临界值表,我们就可以判断模型差异是否显著。

[h,pValue,stat,criticalValue] = lratiotest(uLL,rLL,dof)

[h,pValue,stat,criticalValue] = lratiotest(uLL,rLL,dof,alpha) [H,pValue,Stat,CriticalValue] = lratiotest(LLF21, LLF11, 1, 0.05); [H,pValue,Stat,CriticalValue]

H = 1说明在alpha = 0.05条件下支持LLF21

[H,pValue,Stat,CriticalValue] = lratiotest(LLF21,LLF11,1,0.02) [H,pValue,Stat,CriticalValue]

H = 0说明在alpha = 0.02条件下不支持LLF21

赤池信息准则(AIC)和贝叶斯信息准则(BIC)检验模型

AIC = aicbic(LLF,NumParams)

[AIC,BIC] = aicbic(LLF,NumParams,NumObs)

n11 = garchcount(coeff11)

n21 = garchcount(coeff21)

format long

[AIC,BIC] = aicbic(LLF21,n21,1974); [AIC BIC]

[AIC,BIC] = aicbic(LLF11,n11,1974); [AIC BIC]

相关主题
文本预览
相关文档 最新文档