- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
金融时间序列的线性模型——自回归R实例
例2.3
> setwd("C:/Users/Mr.Cheng/Desktop/课件/金融数据分析导论基于R/DataSets/ch2data")%设置工作目录
> da=read.table("q-gnp4710.txt",header=T)
> head(da)
Year Mon Dat VALUE
1 1947 1 1 238.1
2 1947 4 1 241.5
3 1947 7 1 245.6
4 1947 10 1 255.6
5 1948 1 1 261.7
6 1948 4 1 268.7
> G=da$VALUE
> LG=log(G)
> gnp=diff(LG)
> dim(da)
[1] 253 4
> tdx=c(1:253)/4+1947 %创建一个时间序列指数,从1947开始,每次增加一个季度,一共253个季度。
> par(mfcol=c(2,1))画两行一列的小图
> plot(tdx,LG,xlab='year',ylab='GNP',type="l
> plot(tdx[2:253],gnp,type='l',xlab='year',ylab='growth')
> acf(gnp,lag=12)%画滞后12阶的对数增长率的自相关图
> pacf(gnp,lag=12)%画滞后12阶的对数增长率的偏自相关图
> m1=arima(gnp,order=c(3,0,0))%计算AR(3)
> m1
Call:
arima(x = gnp, order = c(3, 0, 0))
Coefficients:
ar1 ar2 ar3 intercept
0.4386 0.2063 -0.1559 0.0163
s.e. 0.0620 0.0666 0.0626 0.0012
sigma^2 estimated as 9.549e-05: log likelihood = 808.56, aic = -1607.12
> tsdiag(m1,gof=12)%模型检验
> p1=c(1,-m1$coef[1:3])%设置多项式方程的系数:
1-0.438z-0.206z2+0.156z3=0
> r1=polyroot(p1)%解多项式方程得到特征根
> r1
[1] 1.616116+0.864212i -1.909216-0.000000i 1.616116-0.864212i
> Mod(r1)%计算特征根的模
[1] 1.832674 1.909216 1.832674
> k=2*pi/acos(1.616116/1.832674)%计算周期
> k
[1] 12.79523
> mm1=ar(gnp,method='mle')%用AIC准则自动为AR(P)定阶,方法为极大似然估计
> mm1$order%查看阶数
[1] 9
> names(mm1)%得到mm1的名字
[1] "order" "ar" "var.pred" "x.mean" "aic"
[6] "n.used" "order.max" "partialacf" "resid" "method"
[11] "series" "frequency" "call" "asy.var.coef"
> print(mm1$aic,digits = 3)%查看mm1中的aic值,保留三位小数
0 1 2 3 4 5 6 7 8 9 10 11
77.767 11.915 8.792 4.669 6.265 5.950 5.101 4.596 6.541 0.000 0.509 2.504
12
2.057
> aic=mm1$aic
> length(aic)
[1] 13
> plot(c(0:12),aic,type='h',xlab='order',ylab='aic')%画aic竖线图
> lines(0:12,aic,lty=2)%画aic连线图(虚线)
> vw=read.table('m-ibm3dx2608.txt',header=T)[,3]%读取第3列数据
> t1=prod(vw+1)%计算35年后的终值
> t1
[1] 159
文档评论(0)