您好,欢迎访问三七文档
当前位置:首页 > 金融/证券 > 股票报告 > 实验一-基于AR模型的股票价格预测
第1页共10页基于AR模型的股票价格预测1.问题描述AR模型是一种线性预测,即已知N个数据,可由模型推出第N点前面或后面的数据(设推出P点),所以其本质类似于插值,其目的都是为了增加有效数据。本次实验使用从雅虎上下载的美国某股票七年共2000个收盘价格数据来进行数据分析建模,取其前1000个价格数据构建预测方程,预测剩下的股票收盘价格。2.原理简述2.1基本原理自回归模型(AutoregressiveModel,ARModel)是用自身做回归变量的过程,即利用前期若干时刻的随机变量的线性组合来描述以后某时刻随机变量的线性回归模型,它是时间序列中的一种常见形式。考虑一组随机自变量观测值与因变量观测值之间的关系,设自变量观测值为x(n),因变量观测值为Y=[y(n),y(n-1),…,y(n-N)],则依据ARModel,满足如下关系式:011NaynaynaynNxn(2.1)其中,a=[a0,a1,…aN]为各项因变量观测值系数。通常情况下,我们令a0=1。考虑到式(2.1)的迭代性,我们可以将其转化为一组自变量观测值和一个因变量观测值的形式如下:1212ynxnxnxn(2.2)其中,A=[12,,]是各项自变量观测值的系数。另外,我们假定自变量观测值的自相关函数为:2Exnxnkk(2.3)其中,2是自变量观测值的方差,k是狄拉克函数。将所得的y(n)代入可得:12EE1ynxnxnxnxn(2.4)同样,将任意的一个y(n-K)代入可得:2Eynkxnk。接下来,我们将所得各式写成向量的形式如下:第2页共10页11,1,...,NaynynynNxna(2.5)112011EE,1,...,1,,...,NNNaynxnynynynynNaarrra(2.6)1111EE,1,...,1,,...,0NkkkNNaynkxnynkynynynNaarrra(2.7)将因变量观测值的自相关函数写成矩阵形式可得如下:0111110222120NNNNNNrrrarrrrarrrrar(2.8)该矩阵由Yule-Walker方程描述为:Rar。对于该系统预测的关键在于对系统系数向量a的求解。将ARModel方程写成如下形式:1Nkkynaynkxn(2.9)将因变量观测值y(n)的L个观测值写成矩阵形式如下:1212011111211NyNyNyNyaxNyNyNyNyaxNyLyLyLNaxL(2.10)第3页共10页将上式写成Yule-Walker方程形式为:yYax。其中,x是自变量观测值矩阵,a是系数矩阵,Y是Toeplitz矩阵,y是因变量观测值矩阵。使用最小二乘法(LeastSquare,LS)寻找一个最优解为:2HxyYayYa。对该式进行求解可得:1HHaYYYy。将所求系数代入即可得到拟合方程,根据拟合方程可以得到问题的估计值。2.2实现步骤具体实现步骤如下:(1)利用自变量观测值x,因变量观测值y和系数矩阵a构建系统模型yYax;(2)依据LS求解系统系数矩阵1HHaYYYy;(3)将a代入构造预测方程;(4)将已知值代入到预测方程中对未知值进行预测。2.3实现框图构建系统模型依据LS求解系统系数矩阵构造预测方程利用已知值对未知值进行预测图1预测实现框图3.仿真结果及分析仿真分为三组进行,分别是固定系数矩阵a的股价预测图样;迭代更新系数矩阵a的股价预测图样;加窗更新系数矩阵a的股价预测图样。3.1固定系数矩阵a的股价预测仿真采用1000个股票收盘价格构建预测方程,来预测接下来300个股票收盘价格,具体仿真如下图所示:第4页共10页0200400600800100012001000120014001600180020002200240026002800数据量股票收盘价格实际值预测值0200400600800100012001000120014001600180020002200240026002800数据量股票收盘价格实际值预测值(a)(b)0200400600800100012001000120014001600180020002200240026002800数据量股票收盘价格实际值预测值0200400600800100012001000120014001600180020002200240026002800数据量股票收盘价格实际值预测值(c)(d)图2固定系数矩阵时不同阶数下股票价格预测图图2所示为利用前1000个数据求得系数矩阵a之后对接下来300个股票价格的预测图,蓝色为股票价格实际值,红色为股票价格预测值。图中(a)、(b)、(c)、(d)分别代表阶数为10、50、100、200时的不同情况。从图中可以看出,在阶数为10时,股票价格预测效果较差;当阶数为50和100时,预测效果有较大提升;而在阶数为200时,出现过度拟合的情况,预测效果开始下降。四种不同阶数的预测均方误差如表I所示:表I不同阶数下股票价格预测均方误差阶数1050100200均方误差(410)5.73281.65523.87456.0020从表I中可以看出,阶数位于10~100之间时,具有最优预测。3.2迭代更新系数矩阵a的股价预测本节中,我们利用原始数据求解系统系数矩阵a,利用该系数矩阵a构建预测方程,通过预测方程求解接下来的一个值,再将该值代入,更新系数矩阵a,实现一种交叉迭代的预测求解。仿真采用1000个股票收盘价格构建预测方程,来预测接下来1000个股票收盘价格,具体仿真如下图所示:第5页共10页020040060080010001200140016001800200010001200140016001800200022002400260028003000数据量股票收盘价格实际值预测值020040060080010001200140016001800200010001200140016001800200022002400260028003000数据量股票收盘价格实际值预测值(a)(b)020040060080010001200140016001800200010001200140016001800200022002400260028003000数据量股票收盘价格实际值预测值020040060080010001200140016001800200010001200140016001800200022002400260028003000数据量股票收盘价格实际值预测值(c)(d)图3迭代更新系数矩阵时不同阶数下股票价格预测图图3中(a)、(b)、(c)、(d)分别为阶数取10、50、100和200时的股票价格预测图,从图中可以看出,由于对系数矩阵a进行不断的迭代更新,因此求得的预测值近似为线性预测,即只能预测股票的升降趋势。观察之前1000个数据可知,股票价格以下降趋势为主,因此在这里的预测函数为一近似单调递减的线性函数。3.3加窗更新系数矩阵a的股价预测考虑到3.2中系数矩阵a是在每次得到新的预测值就进行更新,在本节中,我们利用前1000个股价预测接下来长度为m的股价,m即为我们加窗的长度。在这里我们取m为一系列的值,分别为50、100、200、300和400。通过预测的估计,更新系统矩阵a,进而预测接下来的股价。仿真时阶数分别取为100和300,显示如下图所示:第6页共10页02004006008001000120014001000120014001600180020002200240026002800数据量股票收盘价格实际值预测值02004006008001000120014001000120014001600180020002200240026002800数据量股票收盘价格实际值预测值(a)(b)图4加窗长度为50时不同阶数下的股价预测图0200400600800100012001400-0.500.511.522.533.544.5x10307数据量股票收盘价格实际值预测值0200400600800100012001400-101234567x10282数据量股票收盘价格实际值预测值(a)(b)图5加窗长度为100时不同阶数下的股价预测图0200400600800100012001400-0.500.511.522.5x104数据量股票收盘价格实际值预测值0200400600800100012001400-3-2-101234x104数据量股票收盘价格实际值预测值(a)(b)图6加窗长度为200时不同阶数下的股价预测图第7页共10页020040060080010001200140010001200140016001800200022002400260028003000数据量股票收盘价格实际值预测值0200400600800100012001400100015002000250030003500数据量股票收盘价格实际值预测值(a)(b)图7加窗长度为300时不同阶数下的股价预测图02004006008001000120014001000120014001600180020002200240026002800数据量股票收盘价格实际值预测值02004006008001000120014001000120014001600180020002200240026002800数据量股票收盘价格实际值预测值(a)(b)图8加窗长度为400时不同阶数下的股价预测图观察以上各图可知,加窗长度为100、200和300时,预测值和实际值具有较大偏差。而当加窗长度为50和400时,效果较之前三种有较大提高。其中当阶数为100时,预测结果近似于线性,当阶数为300时,两者均具有较好的预测。其中,加窗长度为50时,具有最佳预测效果。从以上仿真结果可以看出,预测准确性和加窗长度和阶数有关。所以,为了获得较好的预测效果,需要选择合适的加窗长度和阶数。4.结束语本次实验是基于AR模型的股票价格预测,在实验中我们使用Yule-Walker方程对系统系数矩阵a进行求解,通过求解得到的系数矩阵a构造预测方程。同时,在仿真中我们讨论了使用不同的方法对系数矩阵a进行优化,分别为固定系数矩阵a的股价预测;迭代更新系数矩阵a的股价预测;加窗更新系数矩阵a的股价预测。实验结果表明,在固定系数矩阵a的情况下,预测的准确性和阶数的选取有关;而在更新系数矩阵a的情况下,预测的准确性和加窗长度及阶数均有关。5.附录第8页共10页股票价格数据命名为‘xx’。%不更新A值clcclearload('xx.mat');data=xx(:,1)';p=200;L=1000;MSE=0;data1=data(1:L);y=data(p+1:L)';fori=1:pY(:,p-i+1)=data(i:L-p+i-1)';enda=-inv(Y'*Y)*Y'*y;fori=L+1:length(data)data1(i)=data1(i-p:i-1)*(-a);endfori=1000:1300MSE=MSE+(data(i)-dat
本文标题:实验一-基于AR模型的股票价格预测
链接地址:https://www.777doc.com/doc-4230906 .html