实验一基于AR模型的股票价格预测

上传人:cn****1 文档编号:511930702 上传时间:2022-07-22 格式:DOCX 页数:10 大小:392.08KB
返回 下载 相关 举报
实验一基于AR模型的股票价格预测_第1页
第1页 / 共10页
实验一基于AR模型的股票价格预测_第2页
第2页 / 共10页
实验一基于AR模型的股票价格预测_第3页
第3页 / 共10页
实验一基于AR模型的股票价格预测_第4页
第4页 / 共10页
实验一基于AR模型的股票价格预测_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《实验一基于AR模型的股票价格预测》由会员分享,可在线阅读,更多相关《实验一基于AR模型的股票价格预测(10页珍藏版)》请在金锄头文库上搜索。

1、基于AR模型的股票价格预测1、问题描述AR模型就是一种线性预测,即已知N个数据,可由模型推出第N点前面或后面的数据(设推 出P点),所以其本质类似于插值,其目的都就是为了增加有效数据。本次实验使用从雅虎上下载 的美国某股票七年共2000个收盘价格数据来进行数据分析建模,取其前1000个价格数据构建预 测方程,预测剩下的股票收盘价格。2、原理简述2、1基本原理自回归模型(Autoregressive Model,AR Model)就是用自身做回归变量的过程,即利用前期若 干时刻的随机变量的线性组合来描述以后某时刻随机变量的线性回归模型,它就是时间序列中的一种常见形式。考虑一组随机自变量观测值与因

2、变量观测值之间的关系,设自变量观测值为x(n),因变量观测值为Y=y(n),y(n-1),y(n-N),则依据AR Model,满足如下关系式:a0y n ay n 1aNy n N x n(2、1)其中,a=a0,aV-aN为各项因变量观测值系数。通常情况下,我们令a0=1。考虑到式(2、1)的迭代 性,我们可以将其转化为一组自变量观测值与一个因变量观测值的形式如下:yn xn 1xn1 2xn2(2、2)其中,A= 1, 2,就是各项自变量观测值的系数。另外,我们假定自变量观测值的自相关函数 为:E x n x n k 2 k(2、3)其中,2就是自变量观测值的方差,k就是狄拉克函数。将所

3、得的y(n)代入可得:E y n x n E x n 1x n 1 x n(2、4)2同样,将任意的一个y(n-K)代入可得:E y n k x n 2 k。接下来,我们将所得各式写成向量的形式如下:1a1y n , y n 1 ,., y n N 1 x n(2、5)IaN1 a Eynxn Eyn yn,yn1,y n N ,IpaN1ai 2r。,*,nIaN1 a Eyn k x n Eyn k yn,yn1 ,., y n N ,IpaN1a1 rk , rk 1,,rk N 10IIaN将因变量观测值的自相关函数写成矩阵形式可得如下:ror1|rN1ar1r1r0川rN2a2r2I

4、4I4PrN 1rN 2 rOaNrN(2、6)(2、7)(2、8)对于该系统预测的关键在于对系统系数向量a的求解。将AR Model方程写成如下形式该矩阵由Yule-Walker方程描述为:Ra r。(2、9)aky n k x nk 1将因变量观测值y(n)的L个观测值写成矩阵形式如下:y N y N 1 y N 2 | y 0 a x Ny N 1 y N y N 1y 1a2x N 1II*+liy L 1 y L 2 I0 仙 y L N 1aNx L 1将上式写成Yule-Walker方程形式为:yYa x。其中,x就是自变量观测值矩阵,a就是系数矩阵,Y就是Toeplitz矩阵,

5、y就是因变量观测值矩阵使用最小二乘法(Least Square,LS)W*找一个最优解为:|x|2Hy Ya y Ya。对该式进仃求解可得:a1YHY YHy。将所求系数代入即可得到拟合方程根据拟合方程可以得到问题的2、2实现步骤具体实现步骤如下:(1)利用自变量观测值x,因变量观测值y与系数矩阵a构建系统模型y Ya x;1(2)依据LS求解系统系数矩阵a Y Y Y y;(3)将a代入构造预测方程;(4)将已知值代入到预测方程中对未知值进行预测。2、3实现框图构建系统模型依据LS求解系统系数矩阵构造预测方程利用已知值对未知值进行预测图1预测实现框图3、仿真结果及分析仿真分为三组进行,分别就

6、是固定系数矩阵a的股价预测图样;迭代更新系数矩阵a的股价 预测图样;加窗更新系数矩阵a的股价预测图样。3、1固定系数矩阵a的股价预测仿真采用1000个股票收盘价格构建预测方程,来预测接下来300个股票收盘价格,具体仿真 如下图所示:(c)(d)图2固定系数矩阵时不同阶数下股票价格预测图2800 ,IIL实晾一b格价盘收票股格价盘收票股格价盘收票股O O2 20022O O2 2o OO12 O2 22600 _预测值格价盘收票股实际值预测值002O00图2所示为利用前1000个数据求得系数矩阵a之后对接下来300个股票价格的预测图,蓝 色为股票价格实际值,红色为股票价格预测值。图中(a)、(b

7、)、(c)、(d)分别代表阶数为10、50、 100、200时的不同情况。从图中可以瞧出,在阶数为10时,股票价格预测效果较差;当阶数为50 与100时,预测效果有较大提升;而在阶数为200时,出现过度拟合的情况,预测效果开始下降。四种不同阶数的预测均方误差如表I所示:表I不同阶数下股票价格预测均方误差阶数1050100200均方误旁E( 104)5、73281、 65523、 87456、0020从表I中可以瞧出,阶数位于10100之间时,具有最优预测。3、2迭代更新系数矩阵a的股价预测本节中,我们利用原始数据求解系统系数矩阵 a,利用该系数矩阵a构建预测方程,通过预测 方程求解接下来的一个

8、值,再将该值代入,更新系数矩阵a,实现一种交叉迭代的预测求解。仿真 采用1000个股票收盘价格构建预测方程,来预测接下来1000个股票收盘价格,具体仿真如下图 所示:O 00330002800买El预测值ot)Oo o o o O ,0Qioo O0 8 6 4 2 2 1111格价盘收票股bIfa60格价盘收票股格价盘收票股00220000820Q620020022002OM00200Oo O o O8 6000000O00 2004006O 80O 0020Q 300实际值预测值2800格价盘收票股0022实际值预测值(c)(d)图3迭代更新系数矩阵时不同阶数下股票价格预测图图3中(a)、

9、(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,进而预测接下来的

10、股价。 仿真时阶数分别取为100与300,显示如下图所示:格价盘收票股格价盘收票股40060080010001200数据量0200400600800100012001400数据量(a)(b)图4加窗长度为50时不同阶数下的股价预测图格价盘收票股格价盘收票股282 x 107实际值 预测值格价盘收票股1111tl实际值.预测值FriIIri|.(a)(b)图5加窗长度为100时不同阶数下的股价预测图实际值预测值格价盘收票股400600800100012001400数据量4x 104 -3l0实际值预测值200400600800100012001400数据量(a)(b)图6加窗长度为200时不同阶

11、数下的股价预测图实际宝预测值3500格价盘收票股200400600800100012001400数据量)200400600800100012001400数据量3000实际值 预测值(a)(b)图7加窗长度为300时不同阶数下的股价预测图1000 0200400600800100012001400数据量28002600实际值预测值格价盘收票股1000 0200400600800数据量100012001400280026006t)格价盘收票股(a)(b)图8加窗长度为400时不同阶数下的股价预测图观察以上各图可知,加窗长度为100、200与300时,预测值与实际值具有较大偏差。而当加 窗长度为50

12、与400时,效果较之前三种有较大提高。其中当阶数为100时,预测结果近似于线性, 当阶数为300时,两者均具有较好的预测。其中,加窗长度为50时,具有最佳预测效果。从以上仿真结果可以瞧出,预测准确性与加窗长度与阶数有关。所以,为了获得较好的预测 效果,需要选择合适的加窗长度与阶数。4、结束语本次实验就是基于AR模型的股票价格预测,在实验中我们使用Yule-Walker方程对系统系 数矩阵a进行求解,通过求解得到的系数矩阵a构造预测方程。同时,在仿真中我们讨论了使用 不同的方法对系数矩阵a进行优化,分别为固定系数矩阵a的股价预测;迭代更新系数矩阵a的 股价预测;加窗更新系数矩阵a的股价预测。实验

13、结果表明,在固定系数矩阵a的情况下,预测的 准确性与阶数的选取有关;而在更新系数矩阵a的情况下,预测的准确性与加窗长度及阶数均有 关。5、附录股票价格数据命名为xx。%不更新A值clcclearload (xx、mat);data = xx(:,1);p = 200;L = 1000;MSE = 0;data1 = data(1:L);y = data(p+1:L);for i = 1:pY(:,p-i+1) = data(i:L-p+i-1);enda = -inv(Y*Y)*Y*y;for i = L+1:length(data)data1(i) = data1(i-p:i-1)*(-a);endfor i = 1000:1300MSE = MSE+(data(i)-data1(i)2;endMSE = MSE/300;figureplot(data(1:1500),b);hold onplot(data1(1:1500),r);xlabel(数据量);ylabel(股票收盘价格);legend(实际值,预测值);axis(0 1300 1000 2800);%每次预测一个点,代入更新a值

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号