教育部直属国家“211工程”重点建设高校股票价格模型——应用时间序列分析期末论文2013年11月一、实验目的:掌握用Box-Jeakins方法及Paudit-Wu方法建模及预测二、实验内容:应用数据1前28个数据建模,后8个数据供预测检验。
数据1 :某种股票价格的数据(单位:元)表1三、数据检验1、检验并消除数据长期趋势法一:图形检验(1)根据表中数据我们先画出序列图并对序列图进行平稳性分析。
(2)Matlab程序代码x=[10.5,10.44,9.94,10.25,11,9.88,10.5,12,13.94,12.25,12.61,13.5,13.44,12.44,13.5,15.39,15.75,13.88,14.5,15.5,16.13,14.75,11.75,15.25,17.13,20.5,19,21.5;]plot(x)xlabel('时间t');ylabel('观测值x');title('某种股票价格序列图');(3)得到图(1)图(1)(4)观察图形,发现数据存在长期向上的趋势。
表示序列是不平稳的。
(5)我们再进一步对数据进行一阶差分,利用Matlab画图。
(6)Matlab程序代码y=diff(x,1)plot(y)xlabel('时间t');ylabel('一阶差分之后的观测值y');title('某种股票价格差分之后序列图');(7)得到图(2)图(2)(8)根据图(2)初步判定一阶差分后的序列稳定法二:用自相关函数检验(1)用matlab做出原数据自相关函数的图(2)Matlab程序代码x=[10.5,10.44,9.94,10.25,11,9.88,10.5,12,13.94,12.25,12.61,13.5,13.44,12.44,13.5,15.39,15.75,13.88,14.5,15.5,16.13,14.75,11.75,15.25,17.13,20.5,19,21.5;];acf1=autocorr(x,[],2); %计算自相关函数并作图autocorr(x,[],2)acf1(3)得到图(3)图(3)(4)观察图形发现,数据是缓慢衰减的,所以序列是不平稳的。
(5)我们再进一步对数据进行一阶差分,利用Matlab画图得到差分后自相关函数图(6)Matlab程序代码x=[10.5,10.44,9.94,10.25,11,9.88,10.5,12,13.94,12.25,12.61,13.5,13.44,12.44 ,13.5,15.39,15.75,13.88,14.5,15.5,16.13,14.75,11.75,15.25,17.13,20.5,19,21.5;];y=diff(x,1); %一阶差分acf2=autocorr(y,[],2); %计算自相关函数并画图autocorr(y,[],2)acf2(7)得到图(4)图(4)(8)观察图形发现数据是迅速衰减的,所以一阶差分后的序列平稳了。
附、一阶差分之后的数据见表2一阶差分之后的数据(单位:元)表22、检验序列的季节性由图2可已看出,序列没有季节性四、零均值化数据(1)利用Matlab软件将序列零均值化(2)Matlab程序代码为x=[10.5,10.44,9.94,10.25,11,9.88,10.5,12,13.94,12.25,12.61,13.5,13.44,12.44,1 3.5,15.39,15.75,13.88,14.5,15.5,16.13,14.75,11.75,15.25,17.13,20.5,19,21.5;];y=diff(x,1); %一阶差分后的结果ave=mean(y); %均值z=y-ave %零均值化后的结果见表3零均值化之后的数据(单位:元)表3Box-Jenkins方法建模一、模型类型识别(1)由平稳时间序列自相关和偏自相关函数的统计特性来初步确定时间序列模型的类型(2)Matlab程序代码x=[10.5,10.44,9.94,10.25,11,9.88,10.5,12,13.94,12.25,12.61,13.5,13.44,12.44,1 3.5,15.39,15.75,13.88,14.5,15.5,16.13,14.75,11.75,15.25,17.13,20.5,19,21.5;];y=diff(x,1); %一阶差分后的结果ave=mean(y); %均值z=y-ave; %零均值化后的结果acf3=autocorr(z,[],2); %作自相关函数图pacf3=parcorr(z,[],2); %作偏自相关函数图autocorr(z,[],2);acf3parcorr(z,[],2)pacf3for m=2:20; %判断零均值化后的数字的自相关函数截尾性p=0;for i=2:m;p=p+(acf3(i))^2;ans=( (1/27)*(1+2*p) )^(1/2);endansend(3)通过运行程序,可以得出零均值化后的数据的自相关和偏自相关函数值,见表4表4(4)运行程序也得到了)]21(1[12^∑=+m l l N ρ2/1 的值分别为 0.1946,0.2012,0.2157, 0.2394, 0.2396,0.2532, 0.2541,0.2566,0.2593,0.2615,0.2619,0.2635,0.2644, 0.2722,0.2724, 0.2728,0.2795,0.2825, 0.2827,0.2827这20个数据计算|i k +^ρ|≤)]21(1[12^∑=+m l l N ρ2/1 ,i=1,2,3,…,M 的比例,这里的M=N ≈5(N=27)当k=4时,比例为80%,达到了68.3%,所以说k ρ在4步截尾。
(5)通过分析偏自相关函数的数据,可以得出结论,kk ϕ是拖尾的。
(6)这个时候可以初步判定这个模型为MA (4)模型。
二、模型阶数判定法一:残差方差图定阶法(1) 利用Eviews 软件可以直接求出残差方差,计算6个数据,结果分别如下图(5)(2)用Matlab软件画出残差方差图,程序代码为cf=[1.598,1.515,1.241,1.225,0.893,0.924;];plot(cf,'-k')(3)残差方差图为(图6)(4)由图可以看出,模型阶数m从1升到5时,残差方差都是减的,模型阶数继续上升时,残差方差开始有所增加,所以可以初步判断合适的模型阶数为5,即为MA(5)模型。
法二:F检验定阶法(1)对序列分别拟合1~6阶MA模型,利用Eviews软件求剩余平方和,分别为图(7)(2)MA(6)的剩余平方和已超过MA(5)的剩余平方和,因此可以从MA(5)开始考虑模型阶数是否可以降低,对于MA(4)和MA(5)模型,有F=52775938.16175938.1600051.33--=21.319694 (3) 如果取显著性水平为α=0.05,查F 分布表可得05.0F (1,22)=4.30,显然F>05.0F (1,22),所以在α=0.05的显著性水平下,MA (4)和MA (5)模型有显著差异,模型阶数不能降低,合适的模型阶数为5。
所以该模型为MA (5)模型。
三、模型参数拟合(1)由上一个步骤可知,MA (5)的模型阶数不能降低,就是为5。
(2)利用Eviews 软件,求出模型的参数,结果如下(图8)图(8)(3)综上,模型可写为:54321527.0528.0171.1866.0489.0401.0-----+-++++-=t t t t t t t a a a a a a X四、模型的适应性检验方法:相关函数法(1) 利用Eviews 软件,求出残差序列的自相关函数,结果如图9图(9)(2) 图中的AC 那一列即为代表k ^ρ的值(3) 计算公式,数据都满足|k ^ρ|≤1.96/N ,当k=1,2,…,20时。
(4) 这时得出结论:在0.05的显著性水平下接受k ρ=0的假设,认为{t a }是独立的,即表示MA (5)模型是适合的。
五、模型预测(1)利用Eviews 软件,根据后八个数据对模型进行预测,得到的预测值如下图图(10)(2)利用Matlab 软件,对得出来的预测值进行求解零均值化和一阶差分的逆过程,得到最终的预测值,程序的代码为x=[10.5,10.44,9.94,10.25,11,9.88,10.5,12,13.94,12.25,12.61,13.5,13.44,12.44, 13.5,15.39,15.75,13.88,14.5,15.5,16.13,14.75,11.75,15.25,17.13,20.5,19,21.5;]; y=diff(x,1); %一阶差分后的结果 ave=mean(y); %均值z=y-ave; %零均值化后的结果yuce1=[-1.598708,0.274822,-1.491735,0.049299,-0.657974,-0.401210, -0.401210,-0.401210;]; %预测得到的初值yuce2=yuce1+ave; %预测初值加上平均数 yuce3=[21.5,yuce2];cumsum(yuce3); %最终的预测值 (3表(5)(4)模型的相对误差较大,模型不是很好Pandit-Wu方法建模一、对时间序列零均值化之前已经有过零均值化的过程,结果见上面的表3二、拟合ARMA(2n,2n-1)模型(1)利用Eviews软件对模型依次拟合ARMA (2,1),ARMA(4,3)和ARMA(6,5)(2)相关结果见下表(表6)ARMA模型阶数表(6)(4)ARMA(8,7)的剩余平方和已超过ARMA(6,5)的剩余平方和,因此可以从ARMA (6,5)开始考虑模型阶数是否可以降低,对于ARMA (6,5)和ARMA (4,3)模型,有 F=1121476.92476.9417.14--=2.61 (5) 如果取显著性水平为α=0.05,查F 分布表可得05.0F (2,10)=4.10,显然F<05.0F (2,10),所以在α=0.05的显著性水平下,ARMA (6,5)和ARMA (4,3)模型无显著差异,模型阶数可以降低。
(6) 对于ARMA(4,3)和ARMA(2,1)模型有F=723417.142417.14730.51--=20.7 (7) 如果取显著性水平为α=0.05,查F 分布表可得05.0F (2,16)=3.63,显然F>05.0F (2,16),所以在α=0.05的显著性水平下,ARMA (4,3)和ARMA (2,1)模型有显著差异,模型阶数不可以降低。