1、第7章 时间序列预测法 7.1移动平均值预测法 7.2 指数平滑预测法 7.3 季节指数预测法 7.4 时间序列分解法 练习与提高(七)练习与提高(七)7.5 ARMA模型预测法 7.6案例分析 7.1移动平均值预测法7.1.1 一次移动平均法(1)一次移动平均法模型一次移动平均法是收集一组观察值,计算这组观察值的均值,利用这一均值作为下一期的预测值。其模型:(1)11()/tttt NMXXXN(1)1ttXM其中,为t期的实际值;N为所选数据个数,为下一期(t1)的预测值。tX1tX【例7-1】(续【例6-15】)我国2000年至2015年的全社会固定资产投资完成额数据如表6-13,试用一
2、次移动平均法预测2016年的投资完成额(取N=3)。MATLAB程序clearX=32917.7 37213.5 43499.9 55566.6 70477.4 88773.6 109998.2 137323.9 172828.4.224598.8 251683.77 311485.13 374694.74 446294.09 512020.65 562000;N=3;for t=3:length(X)M1(t)=(X(t)+X(t-1)+X(t-2)/N;%一次移动平均值 X1(t+1)=M1(t);%下一期预测值end M1,X1 t1=1:length(X);t2=4:length(X)
3、+1plot(t1,X,-+,t2,X1(4:end),-O)xlabel(时间/年)ylabel(投资完成额/亿元)legend(原始数据,预测值)预测图7.1.2 二次移动平均法二次移动平均法(1)二次移动平均法的线性模型 其中,为t期的实际值,为tT期的预测值,t为当前的时期数,T为由t至预测期的时期数。t TttXabT(1)11()/tttt NMXXXN(2)(1)(1)(1)11()/tttt NMMMMN(1)(2)2tttaMM(1)(2)2()/(1)tttbMMNtXtXt TX(【例7-2】(续【例7-1】)利用二次移动平均法预测2016年投资额(取N=3)。(1)先计
4、算一次、二次移动平均值X=32917.7 37213.5 43499.9 55566.6 70477.4 88773.6 109998.2 137323.9 172828.4.224598.8 251683.77 311485.13 374694.74 446294.09 512020.65 562000;N=3;for t=3:length(X)M1(t)=(X(t)+X(t-1)+X(t-2)/N;%一次移动平均值EndM1for t=5:length(M1)%t从5开始是因为M1的前2项为0 M2(t)=(M1(t)+M1(t-1)+M1(t-2)/N;%二次移动平均值endM2 (2)
5、给出2005年至2016年的预测值,并绘图预测图首页首页a=2*M1(5:end)-M2(5:end);b=2*(M1(5:end)-M2(5:end)/(N-1);T=1;y=a+b*Tt1=1:length(X);t2=6:length(X)+1;plot(t1,X,-+,t2,y,-O)xlabel(时间/年)ylabel(投资完成额/亿元)legend(原始数据,预测值)预测图预测图 7.2 指数平滑预测法7.2.1 一次指数平滑法(1)一次指数平滑法的基本模型)一次指数平滑法的基本模型 其中,为时间序列观测值,为观测值的指数平滑值,为平滑系数,。(1)(1)1(1)tttSXS(1)
6、1(1)110(1)(1)(1)tttttSXXXS(1)1ttXS01,nXXX(1)(1)(1)01,nSSS01【例7-3】(续例7-1)利用一次指数平滑法预测2016年的预测值(=0.7、0.8、0.9)。X=32917.7 37213.5 43499.9 55566.6 70477.4 88773.6 109998.2 137323.9 172828.4.224598.8 251683.77 311485.13 374694.74 446294.09 512020.65 562000;X0=X(1);X1=X(2:end);alpha=0.9;S0=X0;%初始值S1(1)=alph
7、a*X1(1)+(1-alpha)*S0;%指数平滑值第一项for t=1:length(X1)-1S1(t+1)=alpha*X1(t+1)+(1-alpha)*S1(t);endS1%指数平滑值全部项S=S0 S1;MSE=sum(X1-S(1:length(X1).2)./length(X1)%均方误差t1=1:length(X);t2=2:length(X)+1plot(t1,X,-+,t2,S,-O)xlabel(时间/年)ylabel(投资完成额/亿元)legend(原始数据,预测值)首页首页 7.2.2 二次指数平滑法(1)二次指数平滑法的线性模型为 t TttXabT(1)(2
8、)2tttaSS(1)(2)()1tttbSS(1)(1)1(1)tttSXS(2)(1)(2)1(1)tttSSS【例7-4】(续例7-1)用二次指数平滑法预测2016年投资额(0.9)。1)先计算一次、二次指数平滑值clearX=32917.7 37213.5 43499.9 55566.6 70477.4 88773.6 109998.2 137323.9 172828.4.224598.8 251683.77 311485.13 374694.74 446294.09 512020.65 562000;X0=X(1);X1=X(2:end);alpha=0.9;S10=X0;%S1 的
9、初始值S1(1)=alpha*X1(1)+(1-alpha)*S10;%一次指数平滑值第一项for t=1:length(X1)-1 S1(t+1)=alpha*X1(t+1)+(1-alpha)*S1(t);%一次指数平滑值第二项以后项endS1 S1 S20=X0;%S2的初始值S2(1)=alpha*S1(1)+(1-alpha)*S20;%二次指数平滑值第一项for t=1:length(S1)-1 S2(t+1)=alpha*S1(t+1)+(1-alpha)*S2(t);%二次指数平滑值第二项以后项endS2 预测2016年及以前的全部预测值a=2*S1(1:end)-S2(1:e
10、nd);b=alpha/(1-alpha)*(S1(1:end)-S2(1:end);T=1;y=a+b*TY=X0,y;t1=1:length(X);t2=2:length(X)+1;plot(t1,X,-+,t2,Y,-O)xlabel(时间/年)ylabel(投资完成额/亿元)legend(原始数据,预测值)首页首页7.3 季节指数预测法首页首页7.3.1 季节性水平模型 如果时间序列没有明显的趋势变动,而主要受季节变化和不规则变动影响时,可用季节性水平模型进行预测。预测模型的方法:(1)计算历年同季的平均数115(43)226(42)337(41)448(4)1()1()1()1()n
11、nnnrXXXnrXXXnrXXXnrXXXn(2)计算全季总平均数(3)计算各季的季节指数历年同季的平均数与全时期的季平均数之比,即:4114niiyXn,1,2,3,4iiriy若各季的季节指数之和不为4,季节指数需要调整为 4(1,2,3,4)iiiFi(4)利用季节指数法进行预测ttiiXX【例7-7】我国2001年至2007年居民消费指数(衣着类)28个季度数据,并利用2007年第4季度数据作为已知数据,预测2008年第1、第2季度居民消费物价指数。年(季)2001(1)2001(2)2001(3)2001(4)2002(1)2002(2)2002(3)指数99.399.999.81
12、00.499.299.999.6年(季)2002(4)2003(1)2003(2)2003(3)2003(4)2004(1)2004(2)指数100.399.3100.099.7100.499.599.9年(季)2004(3)2004(4)2005(1)2005(2)2005(3)2005(4)2001(1)指数99.6100.499.2100.199.9100.599.4年(季)2006(2)2006(3)2006(4)2007(1)2007(2)2007(3)2007(4)指数100.199.8100.899.3100.199.6100.5 (1)根据所给数据,画出走势图,观察季节性X=9
13、9.3 99.9 99.8 100.4 99.2 99.9 99.6 100.3 99.3 100.0 99.7 100.4 99.5 99.9 99.6 100.4 99.2 100.1 99.9 100.5 99.4 100.1 99.8 100.8 99.3 100.1 99.6 100.5;t=1:28;Y=Xplot(t,Y(:),-o)xlabel(时间)ylabel(消费指数)05101520253099.299.499.699.8100100.2100.4100.6100.8时 间消费指数(2)计算季节指数并预测r=mean(X)%同季平均数y=mean(X(:)%全部季度平均
14、数b=r./y%各季季节指数F=4/sum(b)*b%调整各季季节指数%下面以2007年第4季度作为基期X1=X(end)*(F(1)/F(4)%2008年第1季度预测值X2=X(end)*(F(2)/F(4)%2008年第2季度预测值7.3.2 季节性趋势模型季节性趋势模型 当时间序列既有季节性变动又有趋势性变动时,先建立趋势预测模型,在此基础上求得季节指数,再建立预测模型。其过程如下:(1)计算历年同季平均数r;(2)建立趋势预测模型,求趋势值(3)计算出趋势值后,再计算出历年同季的平均数R;(4)计算趋势季节指数(k);用同季平均数与趋势值同季平均数之比来计算。(5)对趋势季节指数进行修
15、正;(6)求预测值。将预测期的趋势值乘以该期的趋势季节指数,即预测模型:tkX【例7-8】我国在2006-2013年各个季度城镇居民人均消费性支出如表7-2所示,试预测2014年各个季度的人均消费性支出。季度年份123420062243.81983.82252.8 2216.220072619.62210.42565.12602.420082882.32607.99 2855.712896.820093130.12849.2 3114.43171.3 20103474.713096.09 3370.833529.8220113846.323471.853877.22 3965.52012432
16、0.13 3873.644183.434297.12013 4634.74149.6 4534.7 4704(1)根据所给数据,画出走势图,观察季节性和趋势性X=2243.81983.82252.8 2216.2 2619.62210.42565.12602.4.2882.32607.99 2855.712896.8 3130.12849.2 3114.43171.3.3474.713096.09 3370.833529.82 3846.323471.853877.22 3965.5.4320.13 3873.644183.434297.1 4634.74149.6 4534.7 4704;t
17、=1:length(X);plot(t,X,-o)xlabel(时间/季度)ylabel(人均消费性支出/亿元)走势图(2)计算各年同季平均数r1=mean(X(1:4:length(X);r2=mean(X(2:4:length(X);r3=mean(X(3:4:length(X);r4=mean(X(4:4:length(X);r=r1 r2 r3 r4%各年同季平均(3)计算趋势预测值p=polyfit(t,X,1)%拟合得长期趋势参数T=polyval(p,t)%计算长期趋势预测值(4)计算趋势值各年同季平均R1=mean(T(1:4:length(T);R2=mean(T(2:4:l
18、ength(T);R3=mean(T(3:4:length(T);R4=mean(T(4:4:length(T);R=R1 R2 R3 R4%趋势值各年同季平均(5)计算并调整趋势季节指数k=r./R%趋势季节指数K=4/sum(k)*k%调整趋势季节指数(6)预测2014年四个季度销售量t1=length(X)+1:length(X)+4%2014年1至4季度时间Y=K.*polyval(p,t1)%计算2014年预测值7.3.3 季节性环比法模型环比法是指积累历年(至少三年)各月或各季的历史资料,逐期计算环比,加以平均,求出季节指数季节预测的方法。(1)求逐期环比:将本期实际值和前期实际值
19、相比,即:第一期的环比不能计算 1tttXhX1,2,4tn(2)计算同季环比平均数1211intihhn11initihhn2,3,4i (3)计算各季连锁指数以第一季度为固定基准期,其连锁指数为 ,后面各季平均环比逐期连乘,得各季连锁指数:(4)根据趋势变动修正连锁指数如果没有趋势变动,基准期的连锁指数 应为1,若求出来的基准期(第一季度)的连锁指数不为1,则存在趋势变动的影响,应加以修正,其修正值为 11c 1iiicc h2,3,4i 1c11cdN此时 是第四季度的连锁指数乘以第一季度的平均环比,即 1c141cch各季扣除d后的修正连锁指数 应为:。第一季度 第二季度 第三季度 第
20、四季度:1c11c 22ccd 332ccd 443ccd(5)计算季节指数将各季修正连锁指数,除以全部四个季度修正连锁指数的平均数,得各季季节指数:iiicFc4114iiicc(6)配合趋势直线模型,计算趋势值结合季节指数进行预测,预测模型为:()iiyabt F【例7-9】某城市各大商场销售某种商品各季销售量如表7-4所示,,试预测2016年各个季度的销售量。季度年份1234合计20126250807026220137060958531020147555120833332015786510590338(1)先画出走势图 x=62 50 80 70 70 60 95 85 75 55 12
21、0 83 78 65 105 90;t=1:16;plot(t,x,-o)02468101214165060708090100110120时 间销售量(2)计算季节指数h=x(2:end)./x(1:end-1)%各期环比h1=mean(h(4:4:end)%第1季度同季环比平均数h2=mean(h(1:4:end)%第2季度同季环比平均数h3=mean(h(2:4:end)%第3季度同季环比平均数h4=mean(h(3:4:end)%第4季度同季环比平均数H1=h1 h2 h3 h4%四个季度同季环比平均数H2=1 h2 h3 h4%第1 季度基准期为1 四个季度%同季环比平均数c=cump
22、rod(H2)%四个季度连锁指数c1=c(4)*H1(1)%第1季度连锁指数d=(c1-1)/4%修正值C1=1%第1季度修正连锁指数C2=c(2)-d%第2季度修正连锁指数C3=c(3)-2*d%第3季度修正连锁指数C4=c(4)-3*d%第4季度修正连锁指数C=C1 C2 C3 C4%汇总修正连锁指数F=C./mean(C)%季节指数(3)求趋势值p=polyfit(t,x,1)T=polyval(p,t)(4)求2016年1-4季度预测值t1=17:20;T1=polyval(p,t1)X1=T1.*F7.4 时间序列分解法时间序列分解法(1)时间序列数据的影响因素主要有长期趋势、季节变
23、动、周期变动、不规则变动。(2)乘法分解模型tttttXTSCI为时间序列的全变动,为长期趋势,为季节变动,为循环变动,为不规则变动;tXtTtStCtI(3)确定上述各个因素的步骤1)用 分析长期趋势与循环变动;2)用分析季节性与随机性;3)用分析季节性;4)用趋势外推法分析长期趋势T;5)用分析循环变动;6)将时间序列的T、S、C分解出来后,剩余的即为不规则变动,即 在实际运算时可以不考虑随机因素,而直接用前三种因素来处理:即/IX TSCttttXTSC7.5 ARMA模型预测法7.5.1 ARMA模型的基本形式(1)自回归模型AR(p)11.nnpnpnXXX其中,是独立同分布的随机变
24、量序列 n称时间序列服从p阶自回归模型AR(p)(2)移动平均模型MA(q)11.nnnqn qX 服从q阶移动平均模型MA(q)(3)自回归移动平均模型ARMA(p,q)服从(p,q)阶自回归移动平均模型ARMA(p,q)1111nnpnpnnqn qXXX 2模型建立的条件及判定法时间序列的平稳性 自相关分析法 它可以测定时间序列的随机性和平稳性,以及时间序列的季节性。7.5.2 ARMA模型相关性分析及识别根据绘制的自相关分析图和偏自相关分析图,我们可以初步地识别平稳序列的模型类型和模型阶数。1AR(p)模型(1)AR(p)的自相关函数满足 表明 随k的增加按指数形式衰减,呈“拖尾”状。
25、11kkpkp 21|g kkg ekAR(1)模型 AR(2)模型(2)AR(p)的偏相关函数可知偏相关函数具有“截尾”状。1kk12112210112kkkkkk 111,111,112,3,10kkkjkjjkkkkjjjkkpkp1,1,kjkjkkkkj 2MA(q)模型(1)MA(q)自相关函数(2)MA(q)偏相关函数由于任何一个可逆的MA过程都可以转化为一个无限阶的系数按几何递减的AR过程,所以MA过程的偏自相关函数同AR模型一样呈缓慢衰减特征。3ARMA(p,q)模型根据AR、MA模型可知ARMA模型的自相关函数和偏自相关函数也是无限延长的,其过程也是呈缓慢衰减,是拖尾的。1
26、1222221210110kkkq kqkqkkqkq 三个基本模型的相关性特征 根据相关性特征,可利用自相关函数与偏自相关函数的截尾性来识别模型类型。并利用偏相关函数PartialACF,确定AR模型的滞后阶数;利用自相关函数ACF,确定MA模型的滞后阶数。模型自相关函数偏自相关函数AR(p)拖尾p阶截尾MA(q)q阶截尾拖尾ARMA(p,q)拖尾拖尾4自相关函数与偏相关函数的命令(2)计算并描绘时间序列的自相关函数 格式:格式:autocorr(series,nLags,M,nSTDs)%绘出自相关函数图 ACF,Lags,Bounds=autocorr(series,nLags,M,nS
27、TDs)说明:说明:series:时间序列 nLags:延迟数,默认为20个ACF。M:延迟阶数,缺省时假设为高斯白噪声。nSTDs:表示计算出的相关函数ACF估计误差的标准差;ACF:相关函数;Lags:对应于ACF的延迟;Bounds:置信区间的近似上下限,假设序列是MA(M)模型(1)计算时间序列的相关系数格式:格式:r=corrcoef(x1,x2)说明:说明:计算两时间序列x1,x2的相关系数r,其值在0,1之间。【例7-11】x=randn(1000,1);%生成1000点的Gaussian白噪声y=filter(1-1 1,1,x);%生成MA(2)过程autocorr(y,2)
28、%如图7-8所示ACF,Lags,Bounds=autocorr(y,2)%计算95置信度下的相关系数02468101214161820-0.8-0.6-0.4-0.200.20.40.60.81LagSample AutocorrelationSample Autocorrelation Function(ACF)(3)计算并描绘时间序列的偏相关函数 格式:格式:parcorrr(series)PACF,Lags,Bounds=parcorr(series,nLags,R,nSTDs)说明:说明:series:时间序列;nLags:延迟数,缺省时计算在延迟点 0,1,T (T=min(20,
29、length(series)-1)的PACF;R:表示Lags延迟阶数,缺省时假设为AR(R)过程;nSTDs:表示计算出的相关函数PACF估计误差的标准差PACF:相关函数;Lags:对应于ACF的延迟;Bounds:置信区间的近似上下限,假设序列是AR(R)过程。【例7-12】x=randn(1000,1);Gaussian白噪声 y=filter(1,1-0.6 0.08,x);%生成AR(2)过程 parcorr(y,2)%绘出偏相关函数图,PACF,Lags,Bounds=parcorr(y,2)%偏相关系数02468101214161820-0.8-0.6-0.4-0.200.20
30、.40.60.81LagSample AutocorrelationSample Autocorrelation Function(ACF)5评价时间序列模型的准则评价时间序列模型的准则FPE准则:是指最终预报误差(准则:是指最终预报误差(Final Prediction Error)的)的定阶准则。主要用于定阶准则。主要用于AR模型、模型、ARMA模型的阶,其方法是以模型的阶,其方法是以选用模型的一步误差达到最小的相应的阶作为模型的阶,用其选用模型的一步误差达到最小的相应的阶作为模型的阶,用其预报效果的优劣来确定该模型的阶数。预报效果的优劣来确定该模型的阶数。7.5.3 ARMA模型参数估计
31、1、AR(p)模型参数矩估计Yule-Walker方程 11211211221122pppppppp 利用实际时间序列数据,首先求得自相关函数 的估计值 ,代入Yule-Walker方程组,求得模型参数的估计值,kk1,p2、MA(q)模型参数估计 利用实际时间序列数据,求得自协方差函数 的估计值 求得模型参数的估计值 kr22221221122(1)0()10qkkkq kqkkqkq krkr1,p。3、ARMA(p,q)模型的参数估计先求得自相关函数 的估计值 ,代入Yule-Walker方程组,求得模型参数的估计值,kk1,p1,p再改写ARMA模型求解估计值 1111nnpnpnnq
32、n qXXX 11nnnyXXpn pX 11nnnqn qy 4、模型参数的MATLAB命令(1)AR模型参数估计模型参数估计格式:格式:m=ar(y,n)m,refl=ar(y,n,approach,window)说明:说明:y是数据结构,由是数据结构,由iddata函数得到:函数得到:y=iddata(y),后面后面y是给定的时间序列;是给定的时间序列;n是是AR阶次;阶次;approach:估计时采用的方法:估计时采用的方法:Approachfb:前向后;前向后;ls:最小二乘法;:最小二乘法;yw:Yule-Walker方方法;法;Burg:基于:基于Burg谱估计方法;谱估计方法;
33、Window:处理处理Y中缺失值的方法,中缺失值的方法,Window now:表示观察值中没有缺失值;:表示观察值中没有缺失值;Window yw:表:表示示Yule-Walker方法处理缺失值;方法处理缺失值;m:AR模型的文字形式;模型的文字形式;refl:AR 模型的系数。模型的系数。(2)ARMAX模型参数估计自回归移动平均各态历经ARMAX(AutoRegressive Moving Average eXogenous)模型,是考虑外部解释变量X 的模型。()()()()()()A q y tB q u tnkC qt1212()1nanaA qa qa qa q 121123()n
34、bnbB qbb qb qb q1212()1ncncC qc qc qc q na,nb,nc是滞后多项式的阶数,nk为延迟格式格式:Z=iddata(y)m=armax(Z,na nb nc nk)m=armax(Z,na,na,nb,nb,nc,nc,nk,nk)说明:说明:y原始序列,Z是y的数据结构;na,nb,nc是滞后多项式的阶数,nk为延迟(3)MA模型参数估计。模型参数估计。用用ARMAX模型可对模型可对MA模型进行估计,只需在模型模型进行估计,只需在模型()()()()()()A q y tB q u tnkC qtA(q)1,B(q)0 格式格式:z=iddata(y)m
35、=armax(z,nc,5)(4)ARMA模型参数估计用用ARMAX模型可对模型可对ARMA模型进行估计,只需在模型:模型进行估计,只需在模型:()()()()()()A q y tB q u tnkC qtB(q)0 格式:格式:z=iddata(y);m=armax(z,na nc);(5)ARX模型参数估计模型参数估计 A(q)y(t)=B(q)u(t-nk)+e(t)格式:格式:m=arx(data,na nb nk)m=arx(data,na,na,nb,nb,nk,nk)7.5.4 ARMA模型的预测模型的预测1AR(p)模型的预测公式)模型的预测公式预测方差 1211(1)kkk
36、pkpXXXX(2)kX122(1)kkpkpXXX()kXp1(1)kXp2(2)kXppkX()kXl1(1)kXl2(2)kXl()pkXlplp 22211()(1)klVar e lGG0110211201GGGGGGGREEN函数 2MA(q)模型预测公式模型预测公式预测方差 ()0qik l ii lklpXllp 222112221(1)()(1)lkqlqVar e llq若已知若已知 和新获得的数据和新获得的数据 ,则得的递推公式:,则得的递推公式:,,T ()kXl1kx1kX121100010001000qq kX 121kqxkX(1)kX(2)kX()kXl,1,2
37、,lq初始值可取某个时刻 00kX3ARMA(p,q)模型预测公式模型预测公式预测方差 ()1()0kkk lXllXlXl22211()(1)klVar e lGG01G*1lljljljGG1,2,lq*0jjjpjp*01,jjjpjq的递推公式:的递推公式:,,T kX(1)kX(2)kX()kXl,当时 ,上式最后一项为0 1kX121121*100010001qqqqqGGGG kX 1211kqqGGxGG*11000pjkqjj qx 1,2,lqpq4模型预测及误差的MATLAB命令格式:格式:yp=predict(m,y,k)说明:说明:m表预测模型,表预测模型,y为实际输
38、出,为实际输出,k为预测区间;为预测区间;yp为预测输出。为预测输出。当当kinf,yp(t)为模型为模型m与与y(1,2,t-k)的预测值;)的预测值;当当k=inf,yp(t)为模型为模型m的纯仿真值,默认的纯仿真值,默认k=1;在计算在计算AR模型预测时,模型预测时,k应取应取1。格式:格式:yh,fit,x0=compare(m,y,k)说明:说明:Compare的预测原理与的预测原理与predict相同相同,但对预测进行但对预测进行比较比较,并可绘出比较图并可绘出比较图 格式格式:e=pe(m,data)%pe误差计算,误差计算,说明:采用说明:采用yh=predict(m,data
39、,1)进行预测,然后计算进行预测,然后计算误差误差 e=data-yh 在无输出情况下在无输出情况下,绘出误差图,误差曲线应足够小,绘出误差图,误差曲线应足够小,黄色区域为黄色区域为99%的置信区间,误差曲线在该区域内表明通的置信区间,误差曲线在该区域内表明通过检验。过检验。格式格式:e,r=resid(m,data,mode,lags)resid(r)计算并检验误差。计算并检验误差。7.6案例分析7.6.1 利用移动平均法预测股票走势【例例7-13】我国2002年至2015年的国内生产总值(GDP)数据如表7-6,试用指数平滑法预测2016年的国内生产总值。年份200220032004200
40、5200620072008GDP121002136564.6 160714.4 185895.8 217656.6 268019.4 316751.7年份2009201020112012201320142015GDP345629.2408903484123.5534123588018.8 635910.2 676707.8第一步,先编程查找二次指数平滑系数alpha.clearX=121002136564.6160714.4185895.8217656.6268019.4316751.7.345629.2 408903484123.5534123588018.8635910.2676707.8
41、;X0=X(1);X1=X(2:end);U=;for alpha=0.1:0.1:0.9%在0.1至0.9之间查找alpha S0=X0;S1(1)=alpha*X1(1)+(1-alpha)*S0;for t=1:length(X1)-1 S1(t+1)=alpha*X1(t+1)+(1-alpha)*S1(t);end S20=X0;S2(1)=alpha*S1(1)+(1-alpha)*S20;for t=1:length(S1)-1 S2(t+1)=alpha*S1(t+1)+(1-alpha)*S2(t);enda=2*S1(1:end)-S2(1:end);b=alpha/(1-
42、alpha)*(S1(1:end)-S2(1:end);T=1;y=a+b*T;Y=X0,y;MSE=sum(X(2:end)-Y(1:end-1).2)./(length(X)-1);U=U,MSE;endR=find(U=min(U);%获得均方误差最小的最佳位置alpha=0.1:0.1:07.6.2 利用ARMA模型预测股票价格【例例7-147-14】(续(续【例例1-121-12】)招商银行招商银行2015年年9月月1日至日至12月月30日的交易日的收盘价数据如表日的交易日的收盘价数据如表1-3,试用,试用ARMA模型预模型预测未来五个交易日的股票价格。测未来五个交易日的股票价格。(
43、1)输入数据,画图观察平稳性%将给定的80个收盘价数据用X向量表示,即X=;%数据太多,在此省略plot(1:length(X),X)%画出时序图运行结果显示如图7-14所示。(2)从图7-14可知,非平稳,所以需要做差分处理化成平稳序列Y=diff(X)%差分figure(2)plot(1:length(Y),Y)xlabel(时间/日)ylabel(差分值)(3)利用自相关函数图与偏相关函数图判断模型的类型与阶次figure(3)subplot(2,1,1)autocorr(Y)subplot(2,1,2)parcorr(Y)(4)从图7-16可知,可确定为ARMA(5,5)模型Z=idd
44、ata(Y)m=armax(Z,5,5)(5)利用模型进行预测L=5%预测长度,五个交易日y=Y;zeros(L,1);%加初始窗p=iddata(y);P=predict(m,p,L)%预测但没有显示G=get(P)%获取预测值的全部结构内容PT=G.OutputData1,1(length(Y)+1:length(Y)+L,1)%显示未来长度L=5预测值D=Y;PT%全部差分值X1=cumsum(X(1);D)%全部差分值的还原值X2=X1(length(X)+1:end)%未来长度L=5预测值的还原值compare(m,Z,L)%显示预测值与原始数据比较图故2015年12月30日之后的五个交易日,招商银行股票收盘价预测值分别为18.21元、18.23元、18.31元、18.42元和18.38元。
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。