1、目 录摘 要IABSTRACTII第一章 前 言11.1 研究背景11.2 股市预测的发展概况11.3 支持向量机简介31.4 本文的主要内容3第二章 股市知识的准备52.1 引言52.1.1 我国股票市场的发展52.1.2 进行股票投资分析的必要性62.2 股票的相关知识62.2.1 股票常用术语72.2.2 股票价值和股票指数72.3 企业财务指标92.4 股市技术指标简介9第三章 股市预测问题研究方法123.1 引言123.2 投资分析法123.2.1 技术分析法123.2.2 基本面分析法123.2.3 组合分析法133.3 时间序列分析法133.3.1 ARMA模型简介143.4 非
2、线性系统分析法143.4.1 神经网络预测方法概述143.4.2 多层前馈神经网络(BP网络)15第四章 统计学习理论与支持向量机174.1 理论背景174.1.1 机器学习分类174.1.2 机器学习存在的基本问题174.2 统计学习理论184.2.1 VC维194.2.2 推广性的界194.2.3 结构风险最小化(Structural Risk Minimization,SRM)204.3 支持向量机基本原理214.3.1 基本概念224.3.2 线性支持向量机234.3.3 非线性支持向量机254.3.4 基于支持向量机的回归分析28第五章 基于支持向量机的股市预测315.1 基于支持向
3、量机的股市预测流程315.2 基于向量机的分析预测工具Libsvm325.3 实际预测结果与数据验证分析335.4 股票交易时机的确定38结束语39致 谢40参考文献41I2010届信息与计算科学专业毕业论文摘 要股票市场是一个复杂的非线性动态系统,但由于传统的预测技术并没有准确的揭示股票市场的内在规律,导致最终的预测结果并不十分理想。本文采用了支持向量机的方法对股市进行预测。支持向量机是数据挖掘中的一项新技术,是借助于最优化方法解决机器学习问题的新工具。特别是近年来支持向量机在回归算法的研究方面也表现了极好的性能,但是将其应用到股市预测中却并不多。本文介绍了股市的相关背景知识,然后对股市里的
4、常用术语作了介绍以及对传统的股市预测的方法进行了介绍,特别详细介绍了基于神经网络的预测方法。接着全面介绍了统计学习理论和建立在其上的支持向量机方法,详细描述了支持向量机方法的基本原理。 最后,对支持向量机方法用于股市预测问题进行了尝试。提出了使用支持向量机的方法进行股市预测的基本流程,然后通过使用实际的股市交易数据进行预测,在具体股价的预测都表现出很好的效果。 关键词:股票,股市预测,支持向量机,核函数佘开勇:基于机器学习的股票交易时机研究ABSTRACTStock market is a complex non-linear system, and is affected by many f
5、actors. The traditional prediction technologies cannot disclose the inherent rule of stock market. In this paper, a new prediction technology based on Support Vector Machine (SVM) has been proposed.The support vector machine is a data mining new technology; it is a new tool that draws support the op
6、timized method to solute the machine learning questions. Specially in recent years, supported the vector machine also to display the extremely good performance in the return algorithm research aspect, but applied it the stock market to forecast certainly were not actually many.This paper introduce t
7、he background knowledge of stock market, then common terms on the stock market was introduced and traditional prediction technologies are introduced in detail, especially the technology based on neural network, and then the basic principles of SVM are discussed.Finally, this paper uses SVM to predic
8、t the price of stock, and propose a common framework to solve stock market prediction problems using SVM. Data from real stock market is used to evaluate the exactness of the algorithm. Result shows that SVM is an effective method, and get precise result.Key Words:Stock, Prediction of Stock market,
9、Support Vector Machine, Kernel functionII2010届信息与计算科学专业毕业论文第一章 前 言1.1 研究背景股票是市场经济的产物,股票的发行和交易促进了市场经济的方展。自从股票 1773 年在英国率先发行以来,已有二百多年的历史。现在已经成为整个社会经济的“晴雨表”和“报警器”,其对于经济发展的作用不可估量。随着股票市场的不断规范壮大和计算机技术的发展,越来越多的人进入到股票交易市场,也相应产生了很多股票分析和预测系统。由于股市行情受经济政治等因素的影响,其内部规律非常复杂,变化周期无序,同时我国资本市场投资者结构具有特殊性,个人投资者的比例很高,投资者
10、的心里状态不同,对股票交易的行为会产生直接的影响,导致股价波动。 在信息爆炸的今天,迫切需要一种方法能从大量的数据信息中提取出有用的信息,数据挖掘技术在这种情况下诞生了。确切的说, 数据挖掘 (Data Mining)是指从大型数据仓库中提取出隐含的、未知的、非平凡的及有潜在的应用价值的信息或者模式,它是数据库研究中一个很有应用价值的新领域,融合了数据库、人工智能、机器学习、统计学等多个领域的理论和技术。在最近十几年间,成熟的技术和高性能的关系数据库引擎以及广泛的数据集成,使数据挖掘技术的研究工作取得了很大的发展,各种数据挖掘技术的应用极大的提高了分析、处理大量数据信息的能力,并为人们的生产生
11、活带来了很大的经济效益,数据挖掘技术在股市预测中也具有很强的应用价值。1.2 股市预测的发展概况预测是指从已知事件测定未知事件。预测理论作为一种通用的方法论,既可以应用于研究自然现象,也可以应用于研究社会现象。将预测理论应用于各个领域,就产生了预测的各个分支,如人口预测、经济预测、气象预测等等。在金融经济学的发展上,人们对金融预测作了大量的探索,取得了丰硕的成果。典型的金融预测时是时间序列预测。时间序列是按照时间顺序取得的一系列观察值。 时间序列的典型特征是相邻观测值之间的依赖性。 为了研究这种依赖性,人们提出了许多时间序列模型,并对这模型的性质及分析方法进行了深入的研究。传统的金融时间序列大
12、致上有两种研究方法,一种方法是从基本的经济原理出发建立金融时间序列服从的数学模型,像 Markovitz的投资组合理论1,资本资产定价模型(CAPM)1、套利定价理论(APT)1、期权定价模型1等。实际上,这部分成果就是确定金融时间序列的趋势项。另一种方法是从统计角度对金融时间序列进行研究。这种方法直接从实际数据出发,应用概率统计推断出市场未来的变化规律。虽然这种方法从经济学角度来讲缺乏理论性,但是在实际应用中效果较好。而且,统计方法还可以对经济模型的好坏进行检验和评价。二十世纪 80 年代以前,人们对时间序列的研究主要集中在一种线性模型,即自回归移动平均模型(AutoRegressive M
13、oving Average Modes,ARMA),这种模型结构简单,有着完善的统计推断技术,应用非常广泛。但是 ARMA 模型毕竟是一种线性模型,有些实际现象在模型中得不到反映。在这种情况下人们开始提出并研究非线性时间序列,最重要的就是 R.F.Engle 在八十年代初提出的自回归条件异方差模型(AutoRegressive Conditionally Heteroscedastic Models ,ARCH),由于ARCH模型将方差看作随时间变动的量,而不是一个常量,从某种程度上克服了线性模型的局限性。与实际情况更相符,从而得到了广泛的应用。 股市预测,是金融经济预测的一个重要分支。它对股
14、票市场所反映的各种资讯进行收集、整理、综合等工作,从股市的历史、现状和规律性出发,运用科学的方法,对股市未来发展前景进行测定。股市预测一般基于以下三点假设2:(1) 有效市场假设:指股票市场会对每一条有可能影响股价的信息都会作出反映,而各种价格的变动正是这种反映的结果。(2) 供求决定假设:指一切信息都会对股票市场的供求双方力量对比产生影响,供求决定交易量和交易价格。(3) 历史相似原则:指由历史资料所概括出来的规律已经包含了未来股票市场的一切变动趋势。股市预测按不同的标准可以有不同的分类。按涉及的范围不同可分为:指数预测和个股预测;按预测时间长短不同可分为:长期预测、中期预测和短期预测;按预
15、测方法的不同可分为:定性预测和定量预测等等。Charles Dow在 1900 年到 1902年,写了一系列的评论来阐述他的市场观。Sam Nelson 收集了他的评论并将他的观点发展为市场行为原则,这就是成为技术分析基础的道氏理论。Richard Schabacker 第一个将通用图表形态分类,研究出“缺口”理论,被称作技术分析科学之父。瑞夫N艾略特通过研究市场波动和循环的形态,提出了“波浪理论”。WDGann 研究了时间要素的重要性,提出了“价格时间等价”的概念。随后,又出现了各种分析方法,包括 K 线图分析法、柱状图分析法、点数图分析法、移动平均法、形态分析法、趋势分析法、角度分析法、神
16、秘级数与黄金分割比螺旋历法、四度空间法等。这些分析方法主要依赖于图表,图表信息具有明显的直观化优点,但图表的分析与指标的选择却要依靠主观的判断,这是这些分析方法面临的主要问题。由于股票交易的模式和相关信息的复杂性,这样一种严重依靠经验的方法,其可靠性在很大程度上是要受到质疑的2。从 60 年代开始,人们尝试使用各种时间序列分析方法来预测股市。在时间序列分析中,线性模型的研究比较成熟。但是股市是一个非线性系统,用线性模型逼近容易丢失有用信息。为了更确切描述实际系统特性,又发展了阈值自回归模型、多项式自回归模型和指数自回归模型3等,用这些方法对股市进行建模和预测也取得了比较好的结果。1.3 支持向
17、量机简介支持向量机4-7(support vector machine ,SVM)是数据挖掘中的一项新技术,是借助于最优化方法解决机器学习问题的新工具。它最初于世纪年代由Vapnik提出,近些年来在其理论研究和算法实现方面都取得了突破性进展,并开始成为克服“维数灾难”和“过学习”等传统困难的有利办法,虽然他还处在飞速发展的阶段,但它的理论基础和实现途径的基本框架已经形成。支持向量机目前主要来解决分类问题(模式识别,判别分析)和回归问题。支持向量机的最大特点是改变了传统的经验风险最小化原则,而是针对结构风险最小化原则提出的,因此具有很好的泛化能力。另外,支持向量机在处理非线性问题时,首先将非线性
18、问题转化为高维空间中的线性问题,然后用一个核函数来代替高维空间中的内积运算,从而巧妙地解决了复杂计算问题,并且有效地克服了维数灾难以及局部极小问题。尽管支持向量机有以上的优点,但是在金融时间序列预测这方面研究还很少。Tay和Cao8证明5种金融时间序列数据可以用支持向量机进行预测,并指出,支持向量机在标准均方误差,均方绝对误差,趋势正确率,加权趋势正确率标准下优于人工神经网络。Kyoung-jae Kim用支持向量机对股市指数的运动趋势进行预测。1.4 本文的主要内容股票市场受很多因素影响,变化规律很难把握。本文采用统计学习理论的支持向量机方法进行了股市预测问题的研究。主要完成了以下工作: (
19、1) 介绍了股市的相关背景知识,并对传统的股市预测问题的研究方法进行了总结,指出了它们的优缺点。 (2) 介绍了统计学习理论与支持向量机,然后在此基础上提出了通过支持向量机进行股市预测的具体流程,并使用实际股票交易数据检验了基于支持向量机的预测方法的实际效果。实验结果表明,应用支持向量机的方法进行股市预测具有良好的预测精度。41第二章 股市知识的准备2.1 引言2.1.1 我国股票市场的发展中国的证券市场形成于上个世纪九十年代初期,经过十几年的发展,我国股票市场已初具规模,股票已成为现代人生活中的一个重要组成部分,股票投资已成为社会公众谈论的中心之一。 随着我国资本市场的快速发展我国资金融通的
20、重心已由货币市场逐步向资本市场转移。越来越多的人把股票投资作为自己金融资产增值的主要方式。股市是股票市场的简称,也称为二级市场或次级市场,是股票发行和流通的场所,也可以说是指对已发行的股票进行买卖和转让的场所。股票的交易都是通过股票市场来实现的。一般地,股票市场可以分为一、二级,一级市场也称之为股票发行市场,二级市场也称之为股票交易市场。股票市场是上市公司筹集资金的主要途径之一。随着商品经济的发展,公司的规模越来越大,需要大量的长期资本。而如果单靠公司自身的资本化积累,是很难满足生产发展的需求的,所以必须从外部筹集资金。公司筹集长期资本一般有三种方式:一是向银行借贷;二是发行公司债券;三是发行
21、股票。前两种方式的利息较高,并且有时间限制,这不仅增加了公司的经营成本,而且使公司的资本难以稳定,因而有很大的局限性。而利用发行股票的方式来筹集资金,则无须还本付息,只需在利润中划拨一部分出来支付红利即可。把这三种筹资方式综合比较起来,发行股票的方式无疑是最符合经济原则的,对公司来说是最有利的。所以发行股票来筹集资本就成为发展大企业经济的一种重要形式,而股票交易在整个证券交易中因此而占有相当重要的地位。我国的沪深股市是从一个地方股市发展而成为全国性的股市的。在1990年12月正式营业时,上市的股票数量只有为数很少的几只,其规模很小,且上市的股票基本上都是上海或深圳的本地股,如上海的老八股中只有
22、一支是异地股票。在其后股市的发展中,由于缺乏战略性的考虑,造成了资金的扩容与股票的扩容不同步,特别是资金扩容,其速度远远快于股票扩容。在1991年至1996年的五年间,股市的供求关系极不平衡,这样就造成了股价在最初两年出现暴涨的局面。股票市场的变化与整个市场经济的发展是密切相关的,股票市场在市场经济中始终发挥着经济状况晴雨表的作用。所谓“牛市”,也称多头市场,指市场行情普遍看涨,延续时间较长的大升市。所谓“熊市”,也称空头市场,指行情普遍看淡,延续时间相对较长的大跌市。2.1.2 进行股票投资分析的必要性股票投资具有增值快、风险大的特点,中国股市的这种特点更为突出。当前大多数的股票投资者并不能
23、很好的把握市场的发展规律,对于过量的信息缺乏筛选、识别的能力,因此对于股票的投资往往是盲目的、非理性的。进行股票投资分析的必要性9在于:第一,股票属于风险性资产,其风险由投资者自负,所以每一个投资者在做每一个决定时都应谨慎行事。高收益往往伴随着高风险,在从事股票投资时,为了争取尽可能大的收益,并把可能的风险降到最低限度,首先我们要做的就是认真进行股票投资分析。 第二,股票投资是一种智慧型投资。长期投资者要注重于基本方法,短期投资者则要注重技术分析。而要在股市上进行投机,更是一种需要高超智慧与勇气的举动,其关键是把握好时机才去投资。而时机的把握需要投资者综合运用自己的知识、理论、技术,信息进行详
24、尽的周密分析,进行科学的决策。第三,从事股票投资要量力而行,适可而止。 因此,选择适当的投资分析法对股市或个股进行认真分析是能否降低投资风险,获取投资收益的关键。我们买卖股票,追求的是投资收益最大化和投资风险最小化。但是,影响股票投资收益率和风险的因素很多,其作用机制也相当复杂。只有通过认真的、有效的和科学的专业分析,才能客观的把握住这些因素及其作用机制,做出尽可能准确的走势预测。2.2 股票的相关知识股票到底是什么?股票是股份证书的简称,是股份公司为筹集资金而发行给股东作为持股凭证并借以取得股息和红利的一种有价证券。每股股票都代表股东对企业拥有一个基本单位的所有权。股票是股份公司资本的构成部
25、分,可以转让、买卖或作价抵押,是资金市场的主要长期信用工具。股票的作用有三点:(1) 股票是一种出资证明,当一个自然人或法人向股份有限公司参股投资时,便可获得股票作为出资的凭证;(2) 股票的持有者凭借股票来证明自己的股东身份,参加股份公司的股东大会,对股份公司的经营发表意见;(3) 股票持有者凭借股票参加股份发行企业的利润分配,也就是通常所说的分红,以此获得一定的经济利益。2.2.1 股票常用术语(1) 开盘价:开盘价是根据开市前集中竞价形成的。(2) 收盘价:指每天成交中最后一笔股票的价格,也就是收盘价格。(3) 最高价:指当日所成交的价格中的最高价位。(4) 最低价:指当日所成交的价格中
26、的最低价位。(5) 成交量:股票成交的数量。手是股票成交的最小单位,一手为100股。(6) 成交金额:指用货币表示的股票的成交总量,等于成交价格乘以成交量。(7) 涨跌:以每天的收盘价与前一天的收盘价相比较,来决定股票是涨还是跌。 (8) 压力点、压力线:股票在涨升过程中,到达某一高点(或线)后停止涨升,此点称为压力点(或压力线)。(9) 支撑点、支撑线:股价在下跌过程中,到达某一点(或线)后停止下跌,甚至回升,此点称为支撑点(或支撑线)。(10) 换手率:也称“周转率”,指在一定时间内市场中股票转手买卖的频率,是反映股票流通性强弱的指标之一。计算公式为:某一段时期内的成交量/发行总股数100
27、% (在我国:成交量/流通总股数100%)。(11) 市盈率(Price to Earning Ratio,简称PE或P/E Ratio):市盈率是某种股票每股市价与每股盈利的比率。通常用来作为比较不同价格的股票是否被高估或者低估的指标。2.2.2 股票价值和股票指数从本质上讲,股票仅仅是一种凭证,其作用是用来证明持有人的财产权利,而不像普通商品一样包含有使用价值,所以股票自身并没有价值,也不可能有价格。所以股票是一种虚拟资本,它可以作为一种特殊的商品进入市场流通转让。而股票的价值,就是用货币的形式来衡量股票作为获利手段的价值。所谓获利手段,即凭借着股票,持有人可取得的经济利益。利益愈大,股票
28、的价值就愈高。在股市中股票可根据一定的价格进行交易,单支股票的交易价格是一个随机变量,同时也受到整个市场行情的影响,逆流而行的股票总是少数,而且其走势也难以维持长久。 股票价格指数是用以表示多种股票平均价格水平及其变动并衡量股市行情的指标,例如:道.琼斯股票价格指数,日经指数,香港恒生指数等等。在股票市场上,成百上千种股票同时进行交易,各种股票价格各异、价格种类多种多样,因此,需要有一个总的尺度标准,来衡量股市价格的涨落,观察股票市场的变化。用股票价格平均数指标,来衡量整个股票市场总的价格变化,能够比较正确地反映股票行情的变化和发展趋势。股票价格指数般是由一些有影响的金融机构或金融研究组织编制
29、的,并且定期及时公布。世界各大金融市场都编制或参考制造股票价格指数,将一定时间点上成千上万种此起彼落的股票价格表现为一个综合指标,以代表该股票市场的一定价格水平和变动情况。股票价格指数及其变动不但集中反映了股市的投资容量、资金增量、平均股价、股市升跌等信息,还基本剔除了市场中的投机因素,真实的反映了市场的本来面目。股市综合指数包含了所有上市公司的股票,将每支股票的价格及其上市的股数作为权数加权平均。而成分指数只选取了股市中各个行业股票里最有代表性的股票,而非全部。股票指数的作用在于为股民提供一个衡量股市价值的参考依据,因为买卖股票是一种投资活动,它的收益和风险并存,为了帮助投资者实现投资增值的
30、目的,建立正常的股票投资环境,就需要一种能够反映投资发展变化情况的指标作为依据。借助股票指数,人们可以观察分析股票市场的发展动态,研究有关国家和地区的政治、经济发展趋势,拟定投资策略。为了给投资者创造上述条件,所有的股市几乎都在股价变化的同时及时公布股票价格指数。 综合指数形式的股票指数,是将所有的上市挂牌的股票都纳入计算指数的投资组合之中,所以市场上每一只股票价格的变动,都将影响综合指数的变化,其代表性最好。但由于综合指数投资组合的权数是上市公司的总股本,当上市公司的总股本在与其流通量不相一致时,总股本大的股票对股票指数的影响就较大,如有时股票指数上涨时只有马钢、石化等少数几个大盘谷的价格在
31、上涨,其它股票几乎基本不动甚至在下跌。上证综合指数。上证综合指数是上海证券交易所于1991年7月15日开始编制和公布的,以1990年12月19日为基期,基期值为100,已全部上市股票为样本,以股票发行量为权数进行编制。由于该股票指数的权数为上市公司的总股本,并且我国上市公司的股票有流通股和非流通股之分,其流通量与总股本并不一致,所以有时会出现股票指数走势与大部分股票的涨跌相背离。该指数的发布几乎与股市行情的变化相同步,是我国股民和证券从业人员研判股票价格变化的趋势必不可少的参考依据。成份股形式的股票指数其入选股票数量是恒定的,所选用的权数为股票的流通量。由于采用流通量为股票权数所以相对综合指数
32、来数有所进步。但是由于入选股票数量有限有时很难贴切反映股市行情的变化。因此在评价成份指数时其代表性非常重要。上证180指数。上证成份指数(简称上证180)是上海证券交易所所对原上证30指数进行了调整并更名而成的,是在所有A股股票中抽取最具市场代表的180种样本股,以2002年6月28日的上证30指数收盘点为为基点,从7月1日起对外正式发布,每半年有专家委员会调整构成份股。2.3 企业财务指标股票价格从长期来看是由其公司的经营和财务状况决定的,研究上市公司的经营和财务状况,以及发展前景是股票投资的关键环节。要了解上述状况,重要的财务指标10是必需的。营业收入: 营业收入是一家公司在某一段内通过生
33、产、销售或提供服务等方式所取得的总收入。利润总额:利润总额是一家公司扣住成本和营业税后的剩余,这就是人们通常所说的盈利,它与营业收入的关系为: 利润总额=营业收入-成本-营业税。净利润:净利润是指在利润总额中按规定缴纳的所得税后公司的利润留成,一般也称为税后利润和净收入。净利润=利润总额(1-所得税率),净利润是一个企业经营的最终成果,净利润多,企业的经营效果就好。资产总额:资产总额是一家公司进行经营时所能动用的资产总额,包括公司自有的资产与借贷资产。净资产:净资产是一家公司的自有资本,对股份公司来说,净资产就是股东所拥有的财产。资产负债率:资产负债率是公司的负债在资产总额中所占的百分比。资产
34、负债率=公司负债/资产总额100%。净资产收益率:净资产收益率是单位净资产在某时段的经营中所取得的净收益。净资产收益率净收益净资产100%。2.4 股市技术指标简介技术分析是许多投资者进行中短期投资主要分析方法,技术指标往往是投资决策的重要参考。(1) 平滑异同平均线MACD(Moving Average Convergence Divergence),是由Gerald Appel首先在Systems And Forecasts一书中发表,主要是利用长短期的二条平滑平均线,计算两者之间的差离值,作为研判行情买卖之依据。算法: DIFF线:收盘价短期、长期指数平滑移动平均线间的差 DEA线:DI
35、FF线的M日指数平滑移动平均线 MACD线DIFF线与DEA线的差,彩色柱状线 参数:SHORT(短期)、LONG(长期)、M为天数,一般为12、26、9 用法: DIFF、DEA均为正,DIFF向上突破DEA,买入信号。 DIFF、DEA均为负,DIFF向下跌破DEA,卖出信号。 DEA线与K线发生背离,行情反转信号。 分析MACD柱状线,由正变负,卖出信号;由负变正,买入信号。 (2) 随机指标KDJ 原理:用目前股价在近阶段股价分布中的相对位置来预测可能发生的趋势反转。 算法:对每一交易日求RSV(未成熟随机值) RSV=(收盘价最近N日最低价)/(最近N日最高价 最近N日最低价)100
36、 K线:RSV的M1日移动平均 D线:K值的M2日移动平均 J线:3D-2K 参数:N、M1、M2为天数,一般取9、3、3 用法: D80,超买;D100%超卖;J=1)个数据预测未来M(M=1)个时刻的值,即进行M步预测,可取序列N个相邻的样本为滑动窗,并将它们映射为M个值,这M个值代表在该窗之后的M个时刻上的样本的预测值。表31列出了训练数据的一种分段方法,该表把训练数据分为K段长度为N+M的有一定重叠的数据段,每一段的前N个数据作为网络的输入,后M个数据作为网络的输出。表31 训练数据的分段方法N个输入M个预测输出X1 , ,X NX2 , ,X N+1X3 , ,X N+2XK , ,XN+K-1XN+1 , ,XN+M XN+2 ,