版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于MATLAB股票市场的线性预测摘要:随着计算技术和信息科学的飞速发展,信号处理逐渐发展成一门独立的学科,成为信息科学的重要组成部分,广泛应用在经济、金融等各种领域中,其中线性预测是最为广泛的一种方法。本设计借助MATLAB的技术工具软件对股票价格的数据信号图进行分析,来构造一个线性预测器。并用MATLAB生成一个豪华的界面,把线性预测的结果直观、明了的表现出来。本设计在理解信号与系统基本原理的前提下,利用MATLAB设计了一个线性预测系统,该系统利用一个离散时间有限脉冲响应(FIR)滤波器来解决属于预测建模等问题。这是一个基于MATLAB计算机仿真的股票线性预测模型,它用股票的开盘、收盘、
2、最高、最低四种价位为源信号进行预测,可以选择滤波器的阶数来调整它的精确度,能够做到预测误差最小。关键词:线性预测系统、MATLAB、离散时间有限脉冲响应(FIR)滤波器1.股票线性预测的原理本文设计一个系统,它能够单独的根据过去的值预测xn信号的将来值。对于线性预测来说,这个系统是一个FIR滤波器,它根据过去值的一种线性组合算出一个预测量:1-1)尢lnL才aIn-kkk=1式1-1中的就是预测值。因为用了信号先前的p个值构成这种预测,所以这是一个p阶预测器。给定某一固定的滤波器阶p,线性预测问题就是要确定一组滤波器系数,以使得“最好的”实现1-1的预测确实这个“最好”系数的最常用的准则是某些
3、系数,使得总的平方预测误差达到最小:E=艺Ien!=为IxLXLn=1n=11-2)式1-2中,假设序列xn的长度为N,有几个途径可以用来对ak求解以使式1-2中E_x1x2xpxp+1ai+ep+1ep+2xp+1xp+2xNp:xN1a1_eN_xN_最小。最简单的方法是利用MATLAB来解这个联立线性方程组。假设NP,这个线性预测问题可以转换成式1-3的矩阵形式。(1-3)式1-3还可以紧凑一些写成-Xa+e=x。这个方程用来对向量a求解,以使总平方预测误差e*e最小。式1-3左边放一半减号是为了让“预测误差滤波器”能表示成e=Xa+x。2.利用matlab实现股票预测的编程思想利用ma
4、tlab实现股票线性预测的编程流程图如图1所示。根据信源xn求解滤波器系数1F得到第一个预测佶1r重新构造矩阵X1得到预测值图1股票预测流程图首先根据信源Xn构造矩阵X,求出滤波器的系数ak,得到第一个预测值,后重新构造矩阵X1,然后根据X1在循环回重新构造下一个矩阵X,X。得到最终的预测值。若已知信源xn,求解系数ak,则可根据上述流程求出xn+l,xn+2等一系列预测值。3.计算机仿真股票线性预测模型3.1模型简介本模型一共有两个主程序,分别做出主界面“股票线性预测”与预测界面“预测现场”。主界面程序为feimain.m,它调用了预测器界面程序highpan.m在highpan.m中又分别
5、调用了子程序xtxs.m来求解滤波器系数ak,子程序hqy_wav.m来求解预测值,子程序gett.m载入数据和四个信源,即开盘价Open.m、收盘价Close21.m、最高价High.m与最低价Low.m。3.2使用简介当执行feimain.m时,将出现一个主界面如图2所示。图 卜A强至预割界而-!x|Wolc.ottictoyou!吹迎进入亦票预测图2股票预测主界面点击“欢迎进入股市预测”按钮就可调出预测器界面,如图3所示。”TVMrEftJfirs6間J?(Wreka)10121X13012513011511010510036101213513O12513O11511Q1.F1!.亠-沱
6、.6JIJ?Weeks)图3预测器界面点击“指导老师”或者“设计人员”菜单项都可弹出相应的姓名。如图4所示。*預测現场指导老师设计人员4主要编辑程序4.1主界面程序%主界面程序clc;nandyl=0.50.50.5;nandy=l11;nandy2=0.70.70.7;%设定图形界面h_mm=figure(name,股票预测界面:units,normalized,position,0.20.20.50.3,.menubar,none,numbertitle,off,Color,nandy);%设定图形句柄的各项属性set(h_mm,defaultuicontrolfontsize,13);s
7、et(h_mm,defaultuicontrolbackgroundcolor,nandy2);set(h_mm,defaultuicontrolunits,normalized);set(h_mm,defaultuicontrolfontunits,pixels);set(h_mm,defaultuicontrolfontname,隶书);h_text=uicontrol(h_mm,style,text,string,Welcometoyou!,position,.0.290.40.450.4,backgroundcolor,w,fontsize,24);h_push=uicontrol(h
8、_mm,style,push,string,欢迎进入股票预测,position,.0.310.30.40.18,backgroundcolor,.0.70.70.7,fore,k,fontsize,18,call,close,highpan);运行主程序后如图5点击“欢迎进入股票预测”按钮就可调用预测器主程序运行结果。“虛票预测界面口x|Welcometoyou!欢迎进入跌票预测4.2预测器主程序nandy1=0.60.60.6;nandy=111;nandy2=0.70.70.7;N1=10;N=10;hyh=1;%设置图形界面h_mm=figure(name,预测现场,.units,nor
9、malized,position,0.150.10.850.45,.menubar,none,numbertitle,off,color,nandy);%设置图形句柄的各项属性set(h_mm,defaultuicontrolfontsize,13);set(h_mm,defaultuicontrolbackgroundcolor,nandy2);set(h_mm,defaultuicontrolunits,normalized)set(h_mm,defaultuicontrolfontunits,pixels);set(h_mm,defaultuicontrolfontname,隶书);%设
10、置轴对象h_axes1=axes(position,0.090.40.40.5,visible,on);gridon;h_axes2=axes(position,0.580.40.40.5,visible,on);gridon;%设定菜单指导老师!);设计人员);徐海东,separator,on);h_menu1=uimenu(h_mm,Label,h_menu2=uimenu(h_mm,Label,zmenu=uimenu(h_menu1,Label,);h_menu3=uimenu(h_menu2,Label,%设定空间区域框h_framel=uicontrol(h_mm,style,fr
11、ame,position,.0.060.030.90.23,backgroundcolor,nandy1);%设定文本框h_editl=uicontrol(h_mm,style,edit,position,0.380.070.150.08,.back,w,string,10,call,N1=gett(h_editl,1);,.hqy_wav(h_axes1,h_axes2,N1,N,hyh);h_edit2=uicontrol(h_mm,style,edit,position,0.60.070.150.08,.back,w,string,10,call,N1=gett(h_edit2,1);,
12、.hqy_wav(h_axes1,h_axes2,N1,N,hyh);Ijp=(N1=get(h_editl,value);%设定各种静态文本框h_text1=uicontrol(h_mm,style,text,position,0.080.170.180.07,string,.图6预测类型,backgroundcolor,nandyl,fore,w);h_text2=uicontrol(h_mm,style,text,position,0.350.170.180.07,string,.预测阶数,backgroundcolor,nandy1,fore,w);h_text3=uicontrol(
13、h_mm,style,text,position,0.580.170.180.07,string,.预测周数,backgroundcolor,nandy1,fore,w);h_push=uicontrol(h_mm,style,push,position,0.80.070.10.1,string,.i关闭,call,close,backgroundcolor,nandy1,fore,w);%设定弹出框h_popupl=uicontrol(h_mm,style,popup,string,.最高价预测I最低价预测I开盘预测收盘预测,position,0.080.130.210.03,back,w,
14、call,num=gett(h_popupl,2);,.ifnum=1,hyh=1;,.hqy_wav(h_axes1,h_axes2,N1,N,hyh);end,.ifnum=2,hyh=2;,.hqy_wav(h_axes1,h_axes2,N1,N,hyh);end,.ifnum=3,hyh=3;,.hqy_wav(h_axes1,h_axes2,N1,N,hyh);end,.ifnum=4,hyh=4;,.hqy_wav(h_axes1,h_axes2,N1,N,hyh);end,);hqy_wav(h_axes1,h_axes2,N1,N,hyh);主程序调用出预测界面(如图6)。然
15、后继续调用预测程序,求解系数子程序和数据载入程序,程序如下。4.3预测程序functionhqy_wav(h_axes1,h_axes2,N1,N,mm)ifmm=1x=High;elseifmm=2x=Low;elseifmm=3x=Open;elseifmm=4x=Close21;endaxes(h_axes1);cla;plot(x);gridon;title(原价图);xlabel(周数(Weeks);ylabel(道琼斯工业指数);axes(h_axes2);cla;fork=1:N;n=length(x);q=xtxs(x,N1);m=0;X=zeros(n-N1,N1);fori
16、=1:n-N1;forj=1:N1;X(i,j)=x(j+m);endm=m+1;endi=n-N1+1;forj=1:N1-1;X(i,j)=x(m+j);endX(i,N1)=x(m+N1);yy=-X*q;w=yy(n-N1+1,1);x(1,n+1)=w;endplot(x);axis(0,12,95,135);title(预测图);xlabel(周数(Weeks);ylabel(道琼斯工业指数);gridon;4.4求解系数子程序functiona=xtxs(x,p)n=length(x);m=0;X=zeros(n-p-1,p);fori=1:n-p-1;forj=1:p;X(i,
17、j)=x(j+m);endm=m+1;endi=n-p;forj=1:p-1;X(i,j)=x(m+j);endx(i,p)=x(m+p);x1=zeros(n-p);fori=1:n-p;x1(i)=x(i+p);endi=n-p;x1(i)=x(i+p);a=-(Xx1);%xk=-x*a%k=xk4.5数据载入子程序functionT=gett(ha,tv)%getthestringorvalueofhaiftv=1T=str2double(get(ha,string);elseiftv=2T=get(ha,value);elseiftv=3T=get(ha,string);end最后通
18、过选择道琼斯工业指数的信源子程序进行预测。如图7所示。JHMflJS.TXT1-!.yJfirs6間尅(Weeks)10126同费(WEEks)1012预测兴31图7图7预测的是用10阶的预测器预测未来10周的股票最高价趋势。在预测类型的下拉菜单中可以选择“最高价预测”“最低价预测”“开盘预测”或“收盘预测”四个选项如图8所示。|JB;低价预测开盘预测收盘预测图8同时在预测阶数和预测周数文本框中填写数据得到不同的预测值。本设计模型的信源长度为104,随着阶数的增大,预测值精度不断提高,但当阶数增大到26时,其误差到达最小,如果继续增大阶数,已经不再影响其精度。验证方法为:在道琼斯指数的四个信源中取一种信源,其长度为104,截取最后的20个信源,把前84个信源载入预测器中。在周数相同的情况下,选择不同的阶数来预测后20个信源,把预测出来的结果与截取的后20个信源相比较,再求其误差就可观察该模型的精确度。5结论本设计内容在理解信号与系统基本原理的前提下,利用MATLAB设计了一个线性预测系统,该系统利用一个离散
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 辽宁省沈阳市东北育才双语校2026年初三一诊模拟考试英语试题含解析
- 内蒙古翁牛特旗2025-2026学年初三3月联考语文试题试卷含解析
- 陕西省商洛市商南县2026届初三下5月第一次质量检测试题英语试题试卷含解析
- 四川省成都市青羊区重点达标名校2026届初三年级第一次教学质量诊断性联合考试英语试题含解析
- 陕西省汉中市达标名校2026年初三下学期第二次联考(5月)英语试题含解析
- 山东省诸城市2026届初三下学期期中语文试题文试卷含解析
- 人教统编版六年级语文下册《十六年前的回忆》公开课教学课件
- 新疆昌吉市教育共同体四校2026届初三二诊模拟考试英语试题试卷含解析
- 山东阳谷县联考2026年初三一轮复习质量检测试题语文试题含解析
- 2026年用于建筑物自动化的控制系统案例
- 快速检测培训课件
- 统编语文九年级下册第二单元大单元教学设计
- 乐清市居民低碳驾驶与绿色出行碳普惠方法学(试行)
- 影视文学教学课件
- 中医气一元论课件
- 仪表工培训课件
- 硬笔行书书法课件
- 2025年湖北省中考语文试卷真题(含标准答案)
- 律所招聘实习生管理制度
- 《应急预案编制与演练课件模板》
- 2025年福建省《信息技术》专升本考试复习题库(含答案)
评论
0/150
提交评论