实验报告
课程名称时间序列分析
实验项目名称ARCH建模
班级与班级代码1125040
实验室名称(或课室)北4-602 专业统计学
任课教师陈根
学号:***********
*名:**
实验日期:2014年6月08日
广东财经大学教务处制
姓名实验报告成绩
评语:
指导教师(签名)
年月日说明:指导教师评分后,实验报告交院(系)办公室保存。
一.实验目的:
将Merck股票从1946年6月到2008年12月的月简单收益变换成对数收益率,并解决下列问题:
(a)对数收益率中有没有明显的相关性?用自相关系数和5%的显著性水平来
回答该问题。
如果有,则移除序列相关性。
(b)此对数收益率存在ARCH效应么?如果(a)部分中有序列相关性,则该部分
用其残差序列。
用Ljung-Box统计量,对收益率平方(或残差的平方)的6个间隔和12个间隔的自相关系数,在5%的显著性水平下回答该问题。
(c)对数据识别一个ARCH模型,然后给数据拟合被识别的模型,写出所拟合
的模型。
二.实验设备:
计算机、R-3.0.3
三.实验过程及得出的结论:
1.加载安装包并引入实验数据
2.按实验目的输入实验代码,从运行结果得出结论
(a)①对数收益率中有显著的序列相关性。
通过自相关系数和5%的显著性水平解答:
02040
6080100
0.00.20.40.60.8
1.0Lag
A C F
Series lmrk
图1 Merck 股票对数收益率的自相关系数
样本ACF 的值并没有在两个标准差之内,说明5%水平下它们与0有显著差别,对于对数收益率,Ljung-Box 统计量为Q(12)= 27.2364,对应的p 值为0.007144,p<a=0.05,拒绝原假设,即证实了Merck 股票对数收益率有显著的序列相关性。
②移除序列相关性
I.使用ar()函数对对数收益率序列识别得一个阶数为8的AR 模型:
II.月对数收益率拟合AR (8)模型得出残差序列:
算得Q (12)=8.2078,并且基于自由度为4的Χ2分布的p 值为0.084. 然而,延迟为2、3、5、6的AR 系数在5%水平下是不显著的,所以改进模型见第三步。
III .改进模型如下所示:
模型改进为:
a r
r
t
t
++++=8
-t 7
-t 4
-t 1
-t 0.1082
0.0474
0.0699
0.0826
-0.0107r
r
r
,
0698
.0^=σ
a
其中所有的估计在5%水平下都是显著的。
残差序列给出Q (12)=8.779,其p
值为0.361(基于28χ分布)。
该模型对数据的动态线性依赖性的建模是充分的。
(b )此对数收益率存在ARCH 效应。
由于(a)部分中存在序列相关性,因此需要用残差的平方做关于对数收益率的ARCH 效应检验。
使用Box-Ljung 检验的6个间隔与12个间隔的自相关系数在5%的显著性水平下对残差的平方进行检验,结果如下:
a t 序列的Ljung-Box 统计量Q (6)=22.5444,Q (12)= 33.0125,p 值都接近于0,这表明存在很强的ARCH 效应。
(c )建立ARCH 模型
用残差的平方做关于对数收益率的ARCH 效应检验图。
结果如图2所示:
图2 残差平方的PACF
由图2中的样本PACF 表明ARCH (3)模型可能是合适的,因此下面将对Merck 股票的月对数收益率具体建立一个如下形式的模型:
a r t
+=μt
,εσt
t t a =,a a a t t t t
2
3
322221102---∂∂∂∂+++=σ
5
10
15
20253035
-0.050.000.05
0.10Lag
P a r t i a l A C F
Series at^2
假定εt 是独立同分布的标准正态序列,我们得到的拟合模型为:
a r t
+=0.0120t
,a a a t t t t
2
3
222120.084140.069510.029670.00406---+++=σ
各个参数估计值的标准误差分别是0.0026,0.0003,0.0392,0.0372,0.0391,参见下面输出结果。
尽管估计值满足ARCH (3)模型的一般条件,然而∂1和∂2的估计值在5%的水平下不是统计显著的,模型需要进一步优化。
四.实验程序:
da=read.table("C:/m-mrk.txt",header=T)
da[1,]
mrk=da[,2]
lmrk=log(mrk+1)
acf(lmrk,lag=100)
Box.test(lmrk,lag=12,type='Ljung')
m1=ar(lmrk,method='mle')
m1$order
m2=arima(lmrk,order=c(8,0,0))
m2
(1+.0811-.0220+.0077-.0688-.0047-.0115-.0486-.1077)*mean(lmrk) sqrt(m2$sigma2)
Box.test(m2$residuals,lag=12,type='Ljung')
pv=1-pchisq(8.2078,4)
pv
m3=arima(lmrk,order=c(8,0,0),fixed=c(NA,0,0,NA,0,0,NA,NA,NA)) m3
(1+.0826-.0699-.0474-.1082)*mean(lmrk)
sqrt(m3$sigma2)
Box.test(m3$residuals,lag=12,type='Ljung')
pv=1-pchisq(8.779,8)
pv
at=lmrk-mean(lmrk)
Box.test(at^2,lag=6,type='Ljung')
Box.test(at^2,lag=12,type='Ljung')
pacf(at^2,lag.max=36)
library(fGarch)
arch1=garchFit(lmrk~garch(3,0),data=lmrk,trace=F) summary(arch1)。