失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > arch模型 python_【时间序列】波动率建模之ARCH模型

arch模型 python_【时间序列】波动率建模之ARCH模型

时间:2019-02-09 15:10:31

相关推荐

arch模型 python_【时间序列】波动率建模之ARCH模型

1. ARCH

1.1 异方差

在传统计量经济学模型中,都假设干扰项的方差为常数(同方差)。但是在现实世界中,许多经济时间序列的波动具有丛聚性等特征。例如:股市中可能存在的涨跌,当遇到结构性风险,股票价格可能存在大涨或者大跌的情况,这种类时间序列被称为条件异方差,即使无条件异方差是恒定的,但是也会存在方差相对较高的时候,而这个波动率是通常会呈现出持续性,这被称为波动丛聚性。

1.2 ARCH过程

ARCH (atuoregressive conditional heteroskedastic,自回归条件异方差)模型可以描述一个序列阶段性的稳定和波动 :

表示白噪音过程,满足 ;相互独立,和都为常数,且

把 代入到中可得:

这便是序列的一阶自回归异方模型ARCH(1),推广到高阶则可得

我们为什么要用条件异方差呢,首先来考虑估计一个平稳的ARMA模型,则的条件均值为,用条件均值去预测下一期,则预测误差的方差为

如果使用无条件预测,结果一般是时间序列的长期均值。则无条件预测误差方差为

其中白噪音过程,,,可得

由此可得无条件预测方差大于条件预测方差,所以使用条件预测结果更好。所以针对一些时间序列的异方差性,可以使用一些模型去拟合条件方差。

1.3 ARCH性质

1.ARCH模型,误差项的条件均值和无条件均值都等于0.对于所有,因此,序列具有序列不相关性,但是误差并不相互独立(误差),换个角度看, ARCH(1) 的方差是等于AR(1)的:

2.为条件异方差将导致也为异方差,所以ARCH模型可以表示出序列中阶段性的稳定和波动

3.ARCH误差和序列的自相关参数相互作用。的变化和序列的持续较大的方差有关,越大,持续时间越长,的变化越持久。

ARCH是使用AR(P)来对条件方差建模,如果加上MA(q) 过程又会如何呢?由此衍生出了GARCH

2. GARCH

假设误差过程为:

表示白噪音过程,均值为0,方差为1,因此的条件与无条件均值都为0.

此模型将自回归以及异方差的移动平均项结合了起来。当p=0,q=1,则可得到ARCH模型。如果都等于0,则得到一个ARCH(q)模型。

3. 代码

ARCH过程建模可以利用python的arch库,这里简单贴一下官网的实例,使用简单,就不赘述了。

这些示例利用了Yahoo!的S&P 500数据。

importdatetimeasdt

importsys

importnumpyasnp

importpandasaspd

fromarchimportarch_model

importarch.data.sp500

data=arch.data.sp500.load()

market=data['AdjClose']

returns=100*market.pct_change().dropna()

am=arch_model(returns,vol='Garch',p=1,o=0,q=1,dist='Normal')

res=am.fit(update_freq=5)

forecasts=res.forecast()

参考资料

[1] Applid Econometric:Time Series (4th Editioin) ——Walter Enders

如果觉得《arch模型 python_【时间序列】波动率建模之ARCH模型》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。