R语言基于ARCH模型股价波动率建模分析|附代码数据

发布时间 2023-10-12 00:06:25作者: 拓端tecdat

原文链接: http://tecdat.cn/?p=3856

原文出处:拓端数据部落公众号

  最近我们被客户要求撰写关于ARCH的研究报告,包括一些图形和统计输出。

引言

金融中一个重要度量是与资产相关的风险,而资产波动率是最常用的风险度量。然而,资产波动率的类型有多种。波动率不能直接观测的性质在波动率研究和建模中有非常重要的含义。

数据选取

笔者选取1973年1月到2009年12月,英特尔公司(INTC)股票的每月收盘价数据,同时也收集同期的S&P指数数据,前六个数据样本如下所列:

 
 
## date intc sp

## 1 19730131 0.010050 -0.017111

## 2 19730228 -0.139303 -0.037490

## 3 19730330 0.069364 -0.001433

## 4 19730430 0.086486 -0.040800

## 5 19730531 -0.104478 -0.018884

## 6 19730629 0.133333 -0.006575

模型分析

①模型的结构

用rtrt表示某项资产在tt时刻的对数收益率。波动率研究的基本思想是,序列rtrt是前后不相关的或低阶前后相关的,但是序列不是独立的。作为说明,考虑Intel公司股票从1973年1月到2009年12月的月对数收益率,共有444个观察值,下图给出了该对数收益率的时序图。

收益率序列看起来是平稳且随机的。接下来,我们给出其样本自相关函数(ACF),同时也作出对数收益率的绝对值序列|rt||rt|的样本自相关函数。

对数收益率序列的ACF显示除了在滞后为7和14时有较小相关性之外,没有显著的序列前后相关性,并且序列rtrt的Ljung-Box统计量表明 18.6760744,相应的p值为 0.0966514.而对数收益率的绝对值序列|rt||rt|显示具有序列相关性,并且序列|rt||rt|的Ljung-Box统计量表明 124.9064353,相应的p值接近于 0。因此,Intel公司股票月对数收益率序列是前后不相关的,但不是独立的。我们用ARCH模型去刻画收益率序列的这种不独立性。

为了把波动率模型放在一个适当的框架中,考虑给定Ft−1Ft−1时rtrt的条件均值和条件方差,即:

μt=E(rt|Ft−1),σ2t=Var(rt|Ft−1)=E[(rt−μt)2|Ft−1]μt=E(rt|Ft−1),σt2=Var(rt|Ft−1)=E[(rt−μt)2|Ft−1]

其中,Ft−1Ft−1是在t−1t−1时刻已知的信息集。样本公司的股票收益率序列rtrt即使有前后相关性也很弱。我们假定rtrt服从简单的ARMA(p,q)模型,Ljung-Box统计量表明Intel股票的月对数收益率序列没有序列相关性。我们对对数收益率序列进行单样本检验,确认序列rtrt的均值显著不等于0.

 
 
## $statistic

## t

## 2.37881

##

## $p.value

## [1] 0.01779151

更具体地说,检验H0:μ=0和Ha:μ≠0H0:μ=0和Ha:μ≠0的t比为2.3788,p值为0.01779.因此,对Intel公司股票的对数收益率,有rt=μt+εtrt=μt+εt,其中μt=μμt=μ为常数。

②ARCH效应的检验

对于Intel公司股票的月对数收益率序列,均值方程仅仅由一个常数构成。

记εt=rt−μtεt=rt−μt为均值方程的残差。平方序列ε2tεt2可以用来检验条件异方差性,即ARCH效应,我们采用Mcleod和Li(1983)提出的将Ljung-Box统计量QQ(m)Q(m)应用于序列ε2tεt2,该检验统计量的原假设是序列ε2tεt2前m个间隔的ACF值都为0.

ε2t=α0+α1ε2t−1+⋅⋅⋅+αmε2t−m+et,t=m+1,⋅⋅⋅,Tεt2=α0+α1εt−12+···+αmεt−m2+et,t=m+1,···,T

ε2tεt2的Ljung-Box统计量Q(12)Q(12)=92.938884,其p值接近于0,因此表明有很强的ARCH效应。也可以用Engle的拉格朗日乘子法(m=12),archTest检验结果显示,F的值为4.978,相应的p值接近于0,进一步表明Intel公司股票对数收益率有很强的 ARCH效应。

③ARCH模型的建立

ARCH模型的基本思想是:1)资产收益率的扰动序列εtεt是前后不相关的,但不是独立的;2)εtεt的不独立性可以用其滞后值的简单二次函数来表述。ARCH(m)模型假定

εt=σtϵt,σ2t=α0+α1ε2t−1+⋅⋅⋅+αmε2t−mεt=σtϵt,σt2=α0+α1εt−12+···+αmεt−m2

,其中ϵtϵt是均值为0、方差为1的独立同分布(iid)随机变量序列,且α0>0α0>0,对i>0i>0有αi≥0αi≥0.系数αiαi必须满足一些正则性条件以保证εtεt的无条件方差是有限的。我们假定ϵtϵt服从标准正态分布。

上图给出了均值调整对数收益率的平方序列的样本ACF和PACF.从PACF图中,我们可以看出在间隔为1、2、3和11上有显著的相关性。为了保持模型简单,我们对波动率建立一个ARCH(3)模型。相应的,为Intel公司股票的月对数收益率建立一个如下模型:

rt=μ+εt,εt=σtϵt,σ2t=α0+α1ε2t−1+α2ε2t−2+α3ε2t−3rt=μ+εt,εt=σtϵt,σt2=α0+α1εt−12+α2εt−22+α3εt−32

假定ϵtϵt是独立同分布的标准正态序列。

我们得到的拟合模型为:rt=0.0126+εt,σ2t=0.0104+0.2329ε2t−1+0.0751ε2t−2+0.0520ε2t−3rt=0.0126+εt,σt2=0.0104+0.2329εt−12+0.0751εt−22+0.0520εt−32并且,各个参数估计值的标准误差分别是0.0055、0.0012、0.115、0.0473和0.0451,统计报告见附录。

可见,α2α2和α3α3的估计值在5%的水平下不是统计显著的。我们去掉两个不显著参数,简化模型为ARCH(1) ,重新得出如下拟合模型rt=0.0131+εt,σ2t=0.0110+0.3750ε2t−1rt=0.0131+εt,σt2=0.0110+0.3750εt−12其中,各个参数估计值的标准误差分别是0.0053、0.0021和0.1126,并且所以估计都是高度显著的,统计报告见附录。

④ARCH模型的思考

我们对于Intel公司股票波动率建立的上述模型是不是就能充分地描述给定数据的条件异方差性了呢?

以下,我们对残差进行标准化处理,得到序列{εt^εt^},{εt^εt^}的样本ACF和样本PACF图如下所示:

PACF图表明在标准化残差的平方序列的高阶间隔上仍然有序列相关性。{εt^εt^}的Ljung-Box统计量为Q(10)=16.58Q(10)=16.58,p=0.08p=0.08;Q(20)=38.81Q(20)=38.81,p=0.007p=0.007.因此,如果只是关注低阶的模型,那么在5%水平下,以上所求的ARCH(1)模型就能充分地描述给定数据的条件异方差。


最受欢迎的见解

1.HAR-RV-J与递归神经网络(RNN)混合模型预测和交易大型股票指数的高频波动率

2.R语言中基于混合数据抽样(MIDAS)回归的HAR-RV模型预测GDP增长

3.波动率的实现:ARCH模型与HAR-RV模型

4.R语言ARMA-EGARCH模型、集成预测算法对SPX实际波动率进行预测

5.GARCH(1,1),MA以及历史模拟法的VaR比较

6.R语言多元COPULA GARCH 模型时间序列预测

7.R语言基于ARMA-GARCH过程的VAR拟合和预测

8.matlab预测ARMA-GARCH 条件均值和方差模型

9.R语言对S&P500股票指数进行ARIMA + GARCH交易策略