用Delphi实现基于马氏链的股票走势分析技术的研究毕业论.doc_第1页
用Delphi实现基于马氏链的股票走势分析技术的研究毕业论.doc_第2页
用Delphi实现基于马氏链的股票走势分析技术的研究毕业论.doc_第3页
用Delphi实现基于马氏链的股票走势分析技术的研究毕业论.doc_第4页
用Delphi实现基于马氏链的股票走势分析技术的研究毕业论.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕 业 论 文学生姓名: 胡洋 学 号: 学 院: 中南林业科技大学 专业年级: 题 目: 用Delphi实现基于马氏链的股票 走势分析技术的研究 指导教师: 谭老师 (姓 名) (专业技术职务) 2010年5月目 录引言2第 1 章 模型的理论基础和模型的建立3第 2 章 主要设计步骤5第 3 章 实验结果及分析7 3.1 单次预测值与分析7 3.2 多次预测值与分析9结论13参考文献14致谢15用Delphi实现基于马氏链的股票走势分析技术的研究作者:胡洋 指导老师:谭老师(工作单位:衡阳市丰收计算机工程有限公司邮编:421001 电话号码摘要:本文以马氏链为基础并引入区间估计的方式建立预测股票走势的数学模型,且利用delphi开发工具实行自动化控制。通过实际数据的输入与结果的检验,证明该程序具备较强的实用性,大大提高了预测的速度与效率。关键词:马尔可夫链;股票转移概率;股票收盘价格;区间估计 Abstrct:This paper base on makcov chain and use region estimate methold to establish mathematic model,and make the automatic operation come true by use of the delphi。The purpose is to prove this software is useful through the real datum and improve the forecasting velocity and efficiency。Key words: Makcov Chain;Stock diversion probability;Stock closing price;Region estimate 引 言马尔可夫过程1具有如下特性:在已知目前状态的条件下,它未来的演变不依赖于它以往的演变。在现实世界中,有很多过程都是马尔可夫过程,如液体中微粒所作的布朗运动、车站的候车人数变动等,都可视为马尔可夫过程。有限个马尔可夫过程的整体称为马尔可夫链,主要是研究马尔可夫过程的状态及关联,并预测未来的变化。由于在一些假设条件下股票的变动也具备这种特性2,有些学者尝试将股票走势预测与马氏链方法结合起来希望通过严密的数学模型推测出股票状态转移的概率。以股票价格变动为基础的状态转移模型研究大致有:()将某一样本空间内的股票价格,利用某一常数分成几个价格区间以确定各个状态3。()一段时间(如一天、一个月或一个季度)之间的比较研究。主要通过比较相邻一段时间内的价格(若为较长时间,则比较相邻两段较长时间股票的平均价格;若为一天,则比较相邻两天的收盘价格)来确定各状态4 5。总体上看,很多研究在价格的涨跌幅度概率上处理较为简单,没有利用区间划分的方式进行估计,加之缺少先进的计算机工具对其自动化的分析、预测与决策,因此实用性不强。为此,本文在马尔可夫链的理论基础上引入区间估计,通过比较相邻两天的收盘价格来确定状态,最后利用delphi编程工具实现了对股票状态转移的概率预测。第1章模型的理论基础和模型的建立假设Xi,Xi+1,Xi+2为连续三天的股票收盘价格,将价格Xi到价格Xi+1表示为XiXi+1(状态1),价格Xi+1到价格Xi+2表示为Xi+1Xi+2(状态2),每一个状态有三种可能,那么1就一共有种可能的情况,即:继续上涨、先涨后稳、先涨后跌、先稳后涨、继续平稳、先稳后跌、先跌后涨、先跌后稳、继续下跌。为了更好的体现股票的变动程度,引入变量来代表各个状态之间的临界值。即:(XiXi+1-& Xi+1Xi+2-)代表涨涨(继续上涨);(XiXi+1-& Xi+1Xi+2)代表涨稳;(XiXi+1-& Xi+1Xi+2)代表涨跌;(XiXi+1& Xi+1Xi+2-)代表稳涨;(XiXi+1&Xi+1Xi+2)代表稳稳;( XiXi+1&Xi+1Xi+2)代表稳跌;(XiXi+1 & Xi+1Xi+2-)代表跌涨;(XiXi+1&Xi+1Xi+2)代表跌稳;(XiXi+1&Xi+1Xi+2)代表跌跌。区间估计的作用是为了确定股票涨跌幅度的概率。考虑到不同的股票有不同的变化情况,所以不能以一个常数来表示,这里采用的方法是将、(标准差)、2(方差) 6、 (变异系数)7分别代入进行概率区间的划分。先将0代入Y,XiXi+1在小于、等于、大于分别代表涨、稳、跌。相同的,Xi+1Xi+2也可以分为涨、稳、跌。如果1、2都处于涨,且P1表示12是较大概率。代表在XiXi+1发生后,Xi+1Xi+2以较大概率P1发生。再引入2和(假设2和都小于1)。将2代入Y,XiXi+1落在区间(-2,2)之内,代表1为平稳;XiXi+1落在区间(-,-2之内,代表1为涨;XiXi+1落在区间2,)之内,代表1为跌(图1)。同样的,Xi+1Xi+ 2落在区间(-2,2)之内,代表2为平稳;Xi+1Xi+2落在区间(-,-2之内,代表2为涨;Xi+1Xi+2 落在区间2,)之内,代表2为跌。若1、2都处于涨, P2表示12发生的概率,说明在XiXi+1落在(-,-2后,Xi+ 2较Xi+1上涨幅度大于或等于2涨稳跌-22图1 用方差值作为临界点的概率为P2。将代入Y,若1处于涨状态,2处于稳状态,P3表示12发生的概率。由前面的假设,2和都小于1,那么2应当小于。若P3是一个小概率事件,说明XiXi+1落在(-,-后,Xi+ 2Xi+1的涨幅大于或等于是一个小概率事件,即Xi+ 2Xi+1基本上不可能超过。由于P3P2P1,.这样就可以以概率的形式反映股票收盘价格的涨幅了。假设涨涨发生的次数为a,涨稳发生的次数为b,跌跌发生的次数为i。那么涨涨发生的概率是a/(a+b+c);涨稳发生的概率是b/(a+b+c) ;跌跌发生的概率是i/(g+h+i)。可以构造一次转移概率矩阵,这个矩阵是种可能性概率组合2:a/(a+b+c) b/(a+b+c) c/(a+b+c) d/(d+e+f) e/(d+e+f) f/(d+e+f) g/(g+h+i) h/(g+h+i) i/(g+h+i)现假设该矩阵为。若系统在时刻tm处于状态i,经过n步转移,在tn时刻处于状态j,那么设n步转移后的概率矩阵为ij(n)。即有 Pij(n)=P n。第2章主要设计步骤步骤为获取连续60天的股票收盘价格,运用控件数组8的方法作为实现的工具,通过定义控件数组将连续60天的样本直接输入至编辑框中。在这个过程中充分考虑了输入值的合理性问题,即由于股票价格是数值型数据,可在编辑框的键盘按下事件中加入限制条件,以使得用户避免输入非数值型数据。步骤为了引入区间估计,在区间划分的临界点的选取上采用标准差、方差、变异系数三个离散型数据特征和0来表示。这是由于当样本空间的方差小于1的时候,标准差大于方差,而当样本空间的方差大于1的时候,标准差小于方差。不同的股票价格样本数据有不同的方差和标准差,因此从程序的实用性角度考虑,临界点的选取不能简单采用某个常数。任取一支股票,样本空间为连续60天的该股票的当日收盘价格,并通过计算公式可分别得出该样本的标准差、方差、变异系数的值。并将这些数字特征的值和0分别赋给变量avg,即用avg作为临界点来划分区间。步骤用Xi代表第i日该股票的收盘价格(其中i1,2,60),循环比较Xi到Xi+1以及Xi+1到Xi+2两个状态,以确定9种情况各发生的次数。步骤是在程序中设置ai共9个计数器变量,若满足9种情况之一则相应的计数器加1。那么在i等于58退出循环体时得到的计数器的值就是9种情况所分别发生的次数。最后将这些值代入计算可得一次概率转移矩阵P的实际值。在此过程中,考虑到矩阵P中任何一个元素的分母可能为的情况(即该元素所对应的3个计数器值都为0),所以必须用条件语句加以限制。若分母不为0,把矩阵元素的值输出至标签;如果分母为,则将赋给相应的标签输出。步骤对X59与X60进行比较,比较的结果作为初始状态且构建初始分布向量,把对应的初始分布向量与一次概率转移矩阵相乘即为预测的概率。例如:若初始状态为涨,则将向量(1,0,0)与一次概率转移矩阵P相乘的结果输出至标签。初始状态为稳,将(0,1,0)P赋给标签。为跌,对应的标签输出为(0,0,1)P。这样做是为了让标签的输出更加清晰明了,根据第一状态的实际情况选择对应的标签输出,而其他标签不作输出。步骤为了能够更新样本数据,避免用户每次重新输入股票价格的麻烦。须考虑程序的动态更新功能9。采用循环覆盖的方法对股票价格进行动态更新,即采用循环语句对整个样本数据进行遍历,并将后一天编辑框中的数据覆盖前一天的编辑框内的数据,这样第1天的数据将被抹去,再把第60天的编辑框清空。 步骤6在得到P之后,利用公式P2、P3、P4,可以分别得到二步、三步、四步预测的概率,最后通过标签输出结果。第3章 实验结果及分析以华电国际(股票代码:600027)从2006年9月10号起,连续63个交易日实例进行分析。原始资料见表序号收盘价2.302.312.342.422.432.402.372.372.322.32序号11121314151617181920收盘价2.302.322.342.372.402.412.442.492.462.46序号21222324252627282930收盘价2.422.482.452.462.402.452.442.422.402.47序号31323334353637383940收盘价2.552.672.672.662.722.762.662.692.572.55序号41424344454647484950收盘价2.592.652.652.742.722.692.702.902.842.89序号51525354555657585960收盘价2.922.892.922.993.083.092.982.972.842.94序号616263收盘价2.962.933.05表华电国际(9月8日起连续60个交易日原始数据资料)3.1单次预测值与分析将表1前60天的价格输入后,得到第一次转移概率见图2图5:实验结果:图2Y取0时输出第一次转移概率结果分析:原始数据第59天的股票收盘价格为2.84,第60天的股票收盘价格为2.94。 先取Y的值为0,那么由于X59X60小于0,故初始状态为涨。用初始分布向量(1,0,0)乘以P即得到图2中的结果:X60X61小于0的概率约等于0.58; X60X61等于0的概率约为0.06;X60X61大于0的概率约为0.35。那么可以认为,该股票价格在第61天较之第60天涨的概率为0.58,与第60天价格持平的概率为0.06,价格下跌的概率为0.35。可以认为在第61天该股票收盘价格有可能涨也有可能跌,但上涨的可能性要大一点。实验结果2:图3Y取方差时输出第一次转移概率结果分析:采用方差作为临界点,样本方差的值为0.05(图3),即Y值为0.05。由于X59X60为-0.1,小于-0.05,故初始状态为涨。图3中,X60X61小于-0.05的概率约为0.27,X60X61大于-0.05且小于0.05的概率约为0.64,X60X61大于0.05 的概率约为0.09。可知第61天的股票价格有0.27的可能性落在2.99 +)区间内,有0.64的可能性落在(2.89 2.99)区间内,有0.09的可能性落在(0 2.89区间内。图3得出涨跌幅度在0.05元之上的可能性较小。实验结果:图4Y取变异系数时输出第一次转移概率结果分析:采用变异系数作为临界点,样本变异系数的值约为0.09(图4),即Y 取变异系数时值为0.09。由于X59X60小于-0.09,初始状态为涨。图4中,X60X61小于- 0.09的概率为0,X60X61大于-0.09且小于0.09的概率1,X60X61大于0.09 的概率为0。这说明根据前60天的样本数据,第61天的股票收盘价格只会落在(2.85 3.03)区间内,而落在3.03 +)和(0 2.85区间之中是完全不可能的。图4可知在第61天股票价格相对于第60天的涨跌幅度不可能超过0.09元。实验结果4:图5Y取标准差时输出第一次转移概率结果分析:标准差作为临界点,样本标准差的值为0.22(图5),即Y取标准差时的值为0.22。由于X59X60大于-0.22且小于0.22,初始状态为平稳。用初始分布向量(0,1,0)乘以P得图5中结果:当Y取标准差时,X60X61小于- 0.22的概率为0;X60X61大于-0.22且小于0.22的概率1;X60X61大于0.22 的概率为0。这说明第61天的股票收盘价格只会落在(2.72 3.16)区间,而落在3.16 +)和(0 2.72区间之中的可能性为0。综合前面分析的结论可知,较之第60天的股票价格,第61天的涨跌幅度达到0.22元是完全不可能的。检验结果:第61天该支股票的实际价格为2.96元(见表1),相对于第60天的涨幅为0.02元,与实际情况基本一致。3.2多次预测值与分析由于股票的收盘价格每天都在作动态更新,因此本程序须具备动态功能以方便用户进行连续预测。即把原先第1天的价格删除,将原第天的价格移至第天,将原第60天的价格移至第59天,再输入第61天的价格进行重新预测。输入原先第61天的股票价格2.96,作为新的第60天的股票收盘价格。重新预测结果如表2:Y的取值0方差变异系数标准差 实测值00.050.090.23预测概率连续上涨0.58先涨后稳0.06先涨后跌0.35先稳后涨0.20.080连续平稳0.6750.841先稳后跌0.1250.080先跌后涨先跌后稳连续下跌表2 第一次动态输入预测值分析:原始数据第59天的股票收盘价格为2.94,第60天的股票收盘价格为2.96。取Y的值为0,那么由于X59X60小于0,故初始状态为涨。预测后发现,连续上涨的概率为0.58;先涨后稳的概率为0.06,先涨后跌的概率为0.35。说明第61天相对于第60天股票收盘价格上涨是一个较大概率事件,平稳是一个中等概率事件,下跌是一个小概率事件。若取Y为样本方差,其值为0.05。X59X60为-0.02,故初始状态为平稳。由表2,先稳后涨为0.2,连续平稳为0.675,先稳后跌为0.125。即第61天的价格有0.2的概率落在区间3.01 +)内,有0.675的概率落在(2.91 3.01)之内,有0.125的概率落在(0 2.91内。说明股票收盘价格涨跌幅度不超过0.05是个较大概率事件。若取Y为样本变异系数,值为0.09。同样,初始状态为平稳。表格中先稳后涨为0.08,连续平稳为0.84,先稳后跌为0.08。即第61天的价格落在区间3.05 +)内的概率是0.08,落在(2.87 3.05)之内的概率是0.84,落在(0 2.87内的概率是0.125。说明股票收盘价格涨跌幅度不超过0.09是个很大概率事件。若取Y为样本标准差,其值为0.23。初始状态为平稳。先稳后涨为0,连续平稳为1,先稳后跌为0。即第61天的价格落在区间3.19 +)和(0 2.73之内完全不可能,它只有可能会落在区间(2.73 3.19)之内。这说明后一天的股票收盘价格的涨跌完全不可能超过0.23。检验结果:第61天的股票收盘实际价格为2.93元。较之第60天相比,下跌了0.03。下跌幅度没有超过方差0.05,更不可能超过标准差0.23,这与实际情况基本符合。结 论经过前面两次实证分析和结果检验可以得出以下结论:证明了股票价格的波动可以利用马尔可夫链进行分析。虽然在现实之中很难直接预测股票价格波动中的具体数值,但是可以通过区间估计的方式,将预测的结果缩小到一定的范围,即可以用概率来说明股票价格落在某一个范围的可能性。此外在划分区间的临界点值的选取上,由于不同股票有其本身的特点,所以必须要采用其本身的反映该支股票特点的某些数字特征作为临界点值,而不能采用常量来控制。在这一点的出来上,采用计算机工具进行分析尤为有效。如果不利用程序进行分析,将会行成巨大的工作量,大大降低了预测本身的实用性和它的现实意义。在样本的收集上,本过程之初只收集了60个样本,如果能将样本空间扩展的足够大,那么计算机显示的预测结果将会靠近真实结果。虽然用马氏链进行股票走

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论