基于R语言的数据挖掘模型在股票市场预测中的应用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于R语言的数据挖掘模型在股票
市场预测中的应用
内容提要:随着计算机科学、统计学等学科的发展,数据挖掘成为一门日趋成熟且应用广泛的学科。

文章以上海证券综合指数为例,分别使用人工神经网络、支持向量机、多元自适应回归样条算法建立上证指数走势预测的数据挖掘模型,就模型的精确度和交易仿真实验进行了对比分析,找出最适当的股票预测模型。

最后,根据实验结果分析各个数据挖掘模型的预测效果。

关键词:数据挖掘;股票预测;人工神经网络;支持向量机;多元自适应回归样条;
中图分类号:F224.7 文献标识码:A
Data Mining Applied in the Stock Prediction Based on R
Programming Language
Abstract:With the prosperity of Computer Science and Statistics,data mining became a mature discipline and was applied in many fields.This article based on the Shanghai Composite Index as the object of study, and established several models with artificial neural network, support vector machine and multivariate adaptive regression splines, and compared each one by simulation experiment to find the optimum model.Finally,the prediction effect were analyzed on the basis of the experiment results.
Key words:Data Mining;Stock Prediction; ANN; SVM; MARS;
一、引言
在证券市场中,每天的股票交易活动产生大量的交易数据,这些数据反过来又影响着股票交易活动。

在证券投资分析中,这些大量的的历史数据是证券投资分析的一个重要依据。

20世纪以来,随着西方资本市场的发展与繁荣,关于证券投资技术分析的理论雏形初现,逐步发展成为以道氏理论为基础的一个完整体系。

上世纪60年代中期,技术分析开始受到有效市场假说(Efficient Markets Hypothesis,EMH)的挑战而进入低谷。

直到20世纪90年代,技术分析理论再次兴起。

与传统分析理论的简单回归不同,这是一次以混沌理论、时许分析、神经网络、遗传算法、分析理论和博弈分析为标志的新一轮投资学革命。

这些高级数学工具的运用彻底改变了传统技术分析理论的面貌,技术分析的量价分析、K线分析、趋势分析、形态分析和指标分析均有了很大的发展。

我国证券交易所基本部署了前台POS系统和后台MIS系统,交易发生的同时,这些系
统记录了大量的交易数据和行情数据。

对数据挖掘而言,股票市场是个具有巨大潜力的应用领域。

数据挖掘可以利用这些数据从中发掘有用的信息,指导投资者的投资决策。

股票市场的数据挖掘,简言之,就是从股票市场中的大量数据中,通过知识发现技术,发掘有兴趣的模式和知识,来满足投资者的应用要求。

数据挖掘也可以对交易数据进行分析,为管理者、监督者决策提供有用的信息。

随着金融制度改革和股票市场改革,投资者对于中国股市的热情推动了股市的繁荣。

从2005年开始,上证指数一路高歌猛进,呈现惊人的指数增长,到2007年10月,已从1000多点猛增到6000多点,最高时为6124.044点。

而之后2008年股市的“一泻千里”跌至2000点以下,令多少股民伤透了心。

2014年,伴随着中央经济会议经济转型的基调和IPO重启,投资者重拾对股票市场的信心,A股市场小幅震动着上涨,直到年底已达3200点!股票市场的交易正如火如荼,“牛市”将至已成为公众普遍的观点,根据历史数据对股票市场预测是非常有帮助的。

为此,本文以上海证券综合指数(简称“上证指数”,股票代码:000001SH)为研究对象,运用不同的数据挖掘方法构建对应的股票预测模型,然后将测试数据用于这些模型以比较模型的有效性和实用性。

二、数据挖掘模型的实现途径
(一)预测指标的选取
不妨假设,当价格变动超过时值得交易(考虑到股票交易会有成本费和手续费等),在这种假设下,用预测模型来预测股票价格变动在未来若干天内是否会超过。

不妨寻找
一个变量作为未来天的趋势指标值。

这一指标与未来几天的股票价格变动有关,当股票价格变动超过时,正的变化表示向上的趋势,负的变化表示向下的趋势,而股票价格变动
不超过的部分可以认为是价格的轻微调整,该部分变动不含趋势信息。

假设每天的平均价格由以下公式来确定:
(1)
其中,、和分别为第天的收盘价、最高价和最低价。

设代表未来天的平均价格相对今天收盘价的百分比变化:
(2)
将动态变化绝对值超过目标收益的变化进行累加作为一个指标变量T:
(3)
指标变量T用来找出在天内,日平均价格明显高于目标变化的那些日期的变化之和。

较大的正T值意味着有几天的日平均报价高于今天收盘价的,这种情况表明有潜在的机会发出买入指令,因为有良好的价格上涨预期。

反之,较大的负T值则表明未来几天的平均报价要低于今天收盘价的,在这种情况下,应该进行卖出操作,因为有价格下跌的预期。

如果T值接近零,则可以认为这几天的股票价格相对平稳或者股票涨跌相持不下,在这种情况下,宜持观望或持有的操作。

如图1所示为上证指数[000001.SH]最近三个月的K 线图,以及根据式(3)所计算的T 指标的曲线图(其中,取未来天数)。

不难看出,在未来几天指数呈现上升趋势时,T 指标较高,在未来几天指数较为平滑时,T 指标较低。

(二)预测变量的选取
在有效市场假说下,如果市场是弱式有效的,则过去的历史价格信息已完全反映在当前的价格中,未来的价格变化将与当前及历史价格无关,这时使用技术和图表分析当前及历史价格来对未来价格走势作出预测将是徒劳的。

那么毫无疑问,股票市场预测的潜在假设是市场不是弱式有效的,根据描述过去的信息来预测未来价格信息是可能的。

价格是过去信息中最简单的信息类型,除了价格特征外,值得注意的还有时间序列的波动特征、关联特征、趋势特征等。

技术指标是反映时间序列这些特征的数值汇总,其从多个角度表示和测度了序列的某些特征,包括但不限于价格波动大小,是否有某种趋势,股价涨跌速度。

选取用于预测股票市场的变量,也即特征向量的选取。

首先选取用于模型的候选变量,然后根据每个变量对于模型的重要程度,选取模型贡献率最大的几个作为变量作为特征向量。

假设买入和卖出决策是在每天交易结束后,所以使用收盘价①进行集中分析。

则未来天的百分比收益可以表示为:
(4)其中,表示第天的收盘价。

①此处选择收盘价作为研究价格,是因为道氏理论认为,收盘价是最重要的价格。

图1 上证指数2014年10月-12月K 线图及T 指标
数据来源:Wind 资讯金融终端
将从1~10的10个百分比收益、收盘价的均值①和标准差②加入到候选变量,此外选取表1中的技术指标作为候选变量。

表1 作为候选变量的技术指标
图2 随机森林模型估计变量重要性
①该均值指的是当日以及前9日的收盘价的平均值。

②该标准差指的是当日以及前9日的收盘价的标准差。

使用训练集①构建随机森林(Random Forests)模型,图2所示为模型分析得到的各个候选变量的重要性得分。

根据模型的适用性,或选择适当的变量数目,此处确定一个临界值用于选取重要性评分高的变量。

不妨取重要度指标大于8的变量作为预测变量,那么由图2可知,最终的特征向量集合包括这10个变量:myV olat.sz_xts,myATR.sz_xts,myMACD.sz_xts,myADX.sz_xts,runMean.Cl.sz_xts,mySMI.sz_xts,runSD.Cl.sz_xts,mySAR.sz_xts,myEMV.sz_xts,myAroon.sz_xts。

(三)预测方法
第一种方式是以T指标为目标变量,然后尝试获取模型,与多元回归类似。

根据这种方法得到T值后,需要设定界限值将T值转换为交易信号。

转换公式由式(5)给出:
(5)
根据T值大小确定其所代表的信号:“s”、“h”、“b”,分别代表卖出、持有和买入行动。

第二种方式是直接预测交易信号。

根据历史数据,利用接下来10天的数据计算指标T 的值,然后根据式(5)来确定信号,从而得到每一天的交易信号。

这种方式也就是俗称的分类。

三、数据挖掘模型的构建
(一)数据说明
为了验证与比较模型的有效性,本文取上证指数[000001,SH]1995年1月至2014年12月的市场数据②,包括其开盘价、最高价、最低价、收盘价、成交量、调整后的收盘价③。

其中,训练数据集取1995年1月至2009年12月的数据,测试数据集取2010年1月至2014年12月的数据。

(二)模型的评价标准和仿真
1.决策精确度和回溯精确度。

在金融市场上,大多数时间价格是相对平稳的,而模型预测所关心的是能够激励买入和卖出以获得收益的事件,也就是价格“剧烈地”上涨和下跌。

对于这类罕见事件的评价,决策精确度(Precision)和回溯精确度(Recall)是合适的评价指标。

决策精确度是模型给出的事件信号的正确百分比;而回溯精确度则是指模型给出的事件信号占事实的百分比。

2.仿真交易策略。

交易策略是在股票交易中进行股票交易的依据和规则。

根据模型预测得到结果,配合以恰当的交易策略,才能实现模型的价值。

考虑以下两个比较简易的交易策略。

策略一:交易决策将在每日收盘后作出,也即获得当日市场信息后。

若模型给出的预测结果为价格正在下跌,也即预测给出一个卖出信号,如果此时持有多头头寸,则不进行任何操作;如果此时没有持有多头仓位,则发出卖空指令,建立空头仓位。

当这个指令在某个时间以价格执行时,立即跟上其它两个指令。

第一个是限价购买指令,限制价格为,
这里的为目标收益率。

这一指令限定了卖空操作的利润目标。

如果该指令在未来10天内没有执行,那么将在第10天以当日收盘价买入。

第二个是止损指令,限制价格为,这个指令是限制上述卖空操作的最终损失。

如果价格到达限定价格时,该指令将执行,
①训练数据集和测试数据集说明见下文。

②数据来源:Wind资讯金融终端。

③调整后的收盘价也就是复权后的收盘价。

该价格是调整股票分红、配股等之后的价格。

那么将损失限制为。


策略二:与上述策略类似,但若预测未来价格上升,如果有足够的资金,那么总是建立新的多头仓位,此外,该策略允许一直持有该仓位到达目标利润或达到最大允许的损失,而没有10天的时间限制。

用测试数据集配合以上两个交易策略,可以检验模型的实用情况。

(三)数据挖掘算法
按照上述方法和策略,分别用不同的算法建立数据挖掘模型,将测试数据代入模型,检验模型的精确度,并用测试数据按照前述交易策略模拟真实交易。

1.人工神经网络(Artificial Neural Network, ANN)。

人工神经网络是一组连接的输入/输出单元,其中每个连接都与一个权重相关联。

在学习阶段,通过调整这些权重,使得它能够预测输入元组的正确类标号来学习。

神经网络的优点包括其对噪声数据的高承受能力,以及它对未经训练的数据的模式分类能力。

利用R中的函数实现一个带有隐藏层的前馈神经网络。

人工神经网络对预测问题中变量的尺度敏感。

这种情况下,在将数据应用到神经网络前,先进行数据转换,这样可以避免神经网络模型的性能收到变量尺度的影响。

将数据按照式(6)进行标准化处理,使所有变量均值为0,标准差为1。

(6)
其中,是原始变量的均值,是原始变量的标准差。

2.支持向量机(Support Vector Machine,SVM)。

支持向量机是使用一种非线性映射,把原训练数据映射到较高的维上。

在新的维度上,它搜索最佳分离超平面。

使用到足够高维上的、合适的非线性映射,两个类的数据总可以被超平面分开。

3.多元自适应回归样条(Multivariate Adaptive Regression Splines, MARS)
多元自适应回归样条是一种非线性、非参数的回归方法。

MARS模型最初是受递归分割算法中的分类回归树和广义加性模型思想启发建立的,是具有连续导数的连续型模型。

四、模型结果分析
将测试数据集代入所建模型,得到模型的分类矩阵,结果如表2。

由表2可以看出,ANN 回归模型的回溯精确度是相对最高的,其决策精确度也是较高的。

ANN分类的决策精确度和回溯精确度也比较高,但不及ANN回归模型。

SVM回归模型和MARS结果相差不大,都具有较高的决策精确度和很低的回溯精确度。

而SVM分类模型的决策精确度比SVM回归模型差一些,回溯精确度高于SVM回归模型,但是不及ANN模型的回溯精确度。

①若模型预测价格将要上涨,则作出反向的类似操作,这里不在赘述。

表2 模型的分类矩阵
100万元人民币,每次的交易成本为5元人民币,交易标的为2010年1月至2014年12月的上证指数①。

①事实上,上证指数不能直接交易。

图3 ANN 回归模型仿真交易时序图
图4 MARS模型仿真交易时序图
如图3所示为ANN回归模型策略一的仿真交易时序图,可以看出之所以策略一回报率较低,是因为在仿真中,有很多次交易是超过10天的期限而被“强制”平仓。

如图4所示为MARS模型策略二时的交易时序图,观察仓位曲线发现,该模型和策略下仿真时,仓位存量变化与股指价格变化呈现良好的协同关系,即价格将要上涨时,处于多头仓位,价格将要下降时,处于空头仓位。

而且在股价震荡猛烈但多寡力量均衡的一段期间内,仓位保持相对平稳的状态,所以才会有137.54%的回报率。

可以说,在该策略下这个模型是表现很好的。

最终的收益矩阵如表3所示:
表3 仿真交易收益表
由表3可以看出,ANN分类模型和SVM模型在两种策略下的表现都不是很理想。

而ANN回归模型和MARS模型在比较保守的策略一下,回报率虽然不高但相对于其他模型来说已是很高了,而在交易策略二下,二者均具有极高的回报率,尤其是MARS模型的回报率高达137%。

五、结论
通过对模型的测试和仿真,在当前约束下,可以发现ANN回归模型和MARS模型具有良好的预测效果。

但是现实中交易策略复杂多变,而且常常是多种因素影响的复合结果,其中甚至涉及行为学和心理学的一些内容,如此简单的交易策略其可行性有待于检验。

而且各个模型中的临界值的选取往往没有一个统一的标准,临界值的选取经常是经验性的,甚至是随机的!利用高性能计算,测试不同的临界值对于模型结果的影响,从而找出相对最佳的临界值也是有必要的。

参考文献
[1] 王劲松. 股市常用技术分析方法的有效性实证研究[D]. 西南财经大学, 2010.
[2]彭英. 基于灰色理论的数据挖掘在股票分析中的应用[D]. 长沙理工大学, 2006.
[3]杨希. 基于数据挖掘的股票预测研究[D]. 长春理工大学, 2008.
[4]张晨希. 数据挖掘技术在股票预测中的应用[D]. 安徽大学, 2006.
[5]Torgo L, 李洪成, 陈道轮, 等. 数据挖掘与R语言[J]. 机械工业出版社, 2013, 68-115.
[6]Kamber J H M, 数据挖掘概念与技术. 范明, 孟小峰等译[J]. 机械工业出版社, 2012, 258-268
[7]孟庆福, 杜元园, 曲华锋. "信用评级的新方法——多元自适应回归样条在民营企业信用评级中的应用." 广东金融学院学
报26.5 (2011): 65-76.。

相关文档
最新文档