张 伟,李泓仪,兰书梅,张 洁
(1.吉林大学计算机科学与技术学院,吉林长春 130012;2.吉林大学经济学院,吉林长春 130012)
GA-SVM对上证综指走势的预测研究
张 伟1,李泓仪2,兰书梅1,张 洁1
(1.吉林大学计算机科学与技术学院,吉林长春 130012;2.吉林大学经济学院,吉林长春 130012)
将支持向量机和遗传算法结合,建立了一种智能数据挖掘技术(GA-SVM),并用于对上证综指市场走势进行了探索.在这个混合的数据挖掘方法中,GA用于RBF参数的设定以及特征集的选择,从而智能的找到SVM的最佳参数,减少SVM特征值的复杂度,提高了SVM算法速度.SVM用于判断未来股票市场的走势,并与统计模型、时间序列模型方法、神经网络进行了对比.实验证明,GA-SVM优于其他几种方法,这种方法对于股票上涨或下跌的预测研究是有效的.
支持向量机;遗传算法;GA-SVM;股票走势预测
自股票诞生以来,对股票趋势的预测便成为众多投资者密切关注的问题.众多金融、计算机学界的专家、学者对此投入了极大的热情.由于股市高复杂和高噪声的特点,研究股票市场的走势被认为是一项具有挑战的工作.早期通过人工神经网络(Artificial Neural Networks,简称ANNs)对股票市场进行了预测,但ANNs有诸多不足,结构难以确定,训练过程学习率等参数不好确定,计算量大、算法收敛速度慢,易于陷入局部极值和过学习的问题[1-2].
针对ANNs的局限性,近年来,人们提出了SVM方法预测证券市场趋势[3-4].SVM在理论上充分保证了模型的泛化能力,克服了局部极值和过学习的问题,计算复杂度大大降低.为了提高预测率和运行速度,本文提出了一种新颖的GA-SVM智能算法,该方法利用GA的全局自动寻优能力智能的找到SVM的最佳参数、最优的输入特征,优化了核函数的参数,剔除了冗余特征,提高了预测的命中率,减少了计算量和预测时间.
SVM是由Vapnik提出的支持向量分类(SVC).SVM建立在统计学习和结构风险最小化理论基础之上,其基本思想是利用线性模型通过非线性映射将向量统一到高维空间[5].一个非线性边界在新的高维平面中可以构造成线性模型.在新的空间,一个可分超平台将会被建立.因此,SVM是著名的寻找最优超平面边界即线性模型的算法.最优超平面对二分类问题最有效,这种最接近最优超平面的向量叫做支持向量(Support Vector,简称SV),见图1所示.
SVM是通过核函数来实现从低维线性不可分向高维线性可分即最优超平面映射.这时,SVM核函数可记为
核函数的选取对于创建最优超平面意义重大,本文根据股票数据特点确定采用径向基核函数,公式为
遗传算法(Genetic Algorithm,简称GA)是一类借鉴自然界生物进化和遗传机理而发展起来的自适应全局优化随机搜索算法,其本质是一种不依赖具体问题的直接搜索方法[6].GA作为具有高性能计算、建模、寻优的方法渐趋成熟.GA的基本流程图如图2所示.
图1 SVM二分类问题的原理图
图2 GA基本流程图
利用GA对SVM分类器进行改进的关键是正确建立GA模型,以优化特征选择问题为例,对建立GA模型进行介绍.
图3 特征编码示意图
1.3.1 编码
每一个特征被定义为一位基因,如图3所示.所有特征用一个长度为特征个数的二进制串表示,这个二进制串就是染色体.如果染色体的第k位为1,就表示第k个特征被选中,如果为0,则表示这个特征被屏蔽.在这里,每一个染色体代表不同的特征子集.
1.3.2 初始化
通常初始种群是由随机产生的,这也是较为常用的方式.例如,种群中染色体的每一位可以用抛硬币的方式确定.然而通过这种方式获得的种群,每一个染色体的“1”或者“0”的数量是大致相同的,每个染色体的特征数量大致相同.但是,我们想获得代表不同数量特征的染色体种群.于是,本文用2次随机化方式,首先随机产生每个染色体所含“1”的个数,然后再把这些“1”随机分布在对应的染色体中.采用这种方法能更有效地反映特征的多样性.
1.3.3 适应度的评价
选择特征子集的目的是使用较少的特征达到相同或更好的分类效果,因此评价适应度应从两方面考虑:(1)分类的准确率;(2)分类器输入的特征子集的特征数量.不同的特征子集包含不同数量的特征,如果2个特征子集验证产生的准确率相同,那么特征数量比较少的子集就被选中.当训练分类器时,我们仅使用特征子集中确定的特征来训练,用分类结果评价分类器的性能,并以此来指导GA的进一步搜索.
本文在确定适应度函数时,综合考虑了准确率和特征数量这2个因素,其中重点考虑的仍然是准确率,但并非只是简单地将适应度等同于准确率.
结合以上内容,GA的适应度函数可表示为:
1.3.4 遗传操作
本文没有使用传统的一点交叉的方法,因为如果不知道特征之间的依赖关系,一点交叉的方法可能会分离染色体相互依赖的特征.为了避免上述情况的发生,在这里使用均匀交叉的方法.
变异操作的作用是使种群突变,跳出局部极值,它仅改变染色体的一位,并且概率非常小.
选择是从父代中选择个体组成新的一代,选择既要保证优胜劣汰,即适应度高的个体被选中,又要考虑种群的多样性,避免“早熟”.我们选择操作方法采用经典的赌轮法.
利用GA寻找SVM中最佳的尺度参数σ和惩罚因子C,其方法与上面基本相同,主要区别是染色体编码上.首先定义染色体中基因个数为20,并按经验设定尺度参数σ和惩罚因子C的范围;然后按设定的范围进行离散化及二进制编码,如σ∈(0,10],步长为10/1 024,二进制编码为0000000001~1111111111,这样二进制的每一位可以看作是一个基因,得到尺度参数σ的二进制串为X=x1x2…x10.惩罚因子C∈(0,100],步长为100/1 024,二进制串为0000000001~1111111111,得到Y=y1y2…y10,于是染色体为XY=x1x2…x10y1y2…y10,映射函数记为σ=fσ·X,C=f C·Y,其中fσ和f C为参数与二进制编码间的映射关系.结束后还需要进行解码,将染色体转换成实际的尺度参数σ和惩罚因子C.
为方便起见,我们把GA优化SVM参数和特征的方法称为GA-SVM方法.在GA-SVM方法中虽然两处优化都用到了GA算法,但这2处优化不能同时进行.为了获得最佳效果,采用先优化参数再优化特征的办法.步骤如下:
Step1:选定原始特征向量;
Step2:按照1.3.2的步骤用对参数进行优化,获得最优尺度参数σ和惩罚因子C;
Step3:按照1.3.1的步骤用对特征向量进行优化,获得最佳特征向量集;
Step4:用改进后的SVM对测试集进行测试,得到准确率.
综合考虑影响数据的各方面因素,采用2000年1月1日到2010年3月24日的上证综指数据作为样本,并将该样本中未来三日涨幅超过1%的样本标记为“+1”,跌幅超过1%的样本标记为“0”,其他样本暂不作考虑.
每一个样本选用20个特征,建立训练样本集合S=((x1,y1),…,(x20,y20))⊆(X×Y)20,并用“+1”和“0”对数据进行标记.在标记好的样本数据中,涨跌数据各取20组作为训练样本存入训练集中.20种技术指标的公式见表1[7].
表1 股票分析的重要指标及表达式
续表1
为了评价GA-SVM模型的预测能力,我们将该方法与一些常用的方法进行比较,如静态时间序列模型和神经网络模型,以及不带GA优化的独立SVM模型和其他优化SVM模型的方法.我们选择了随机漫步模型(RW),自动回归综合移动平均模型(ARIMA),独立BP神经网络(BPNN)模型,独立SVM模型和蚁群优化的SVM模型作为基准.实验模型的主要参数设置见表2—4.
表2 SVM主要参数
表3 GA主要参数
对于GA-SVM模型,首先通过GA找到适合样本特性的RBF核参数σ和惩罚因子C,从而消除了因SVM参数设置不当导致的预测准确率低下的风险.然后用GA对输入SVM分类器的特征进行选择,滤掉大部分与股票预测无关或关联不大的特征,找到最佳特征集.这对没有先验知识的使用者来说是极具意义的,同时这也加速了SVM分类搜索的过程.
采用10折交叉验证,先将全部实验数据平均分成10份,取其中后20套上涨数据、20套下跌数据,共40套数据作为训练样本,其余数据作为测试数据,对所确定的参数及特征进行交叉验证,对所得准确率求数学平均值,得到最终结论.
分别用以上模型对上证综指进行预测验证,得到实验结果见表5—7.
表4 ANNs主要参数
表5 SVM与其他股票预测效果比较 %
表6 SVM与GA优化的SVM的预测效果比较
表7 GA-SVM与其他主要非线性预测方法效果比较
由表5—7可见,通过对比各模型对上证综指的预测效果,发现GA-SVM模型表现是最好的.其准确性最高,预测的时效性也最好,这同时也说明GA-SVM的预测模型可以应用于对股票市场趋势的预测研究.
[1]RAY TSAIH,YENSHAN HSU,CHARIES C LAI.Forecasting S&P 500 stock index futures with a hybrid AI system[J].Decision Support System,1998,23:161-174.
[2]GRUDNITSKE G,OSBURN L.Foreeasting S&P and gold future prices an application of neural networks[J].Futures Markets,1993,13(6):631-643.
[3]KIN KYOUNG-JAE.Financial time series forecasting using support vector machines[J].Neurocomputing,2003,55:307-319.
[4]MUKHEJEE S,OSUNA E GIROSI F.Nonlinear prediction of chaotic time series using support vector machines[C]//Proceedings of the IEEE Workshop on Neural Networks for Signal Processing,State of Florida:Amelia Island,1997:511-520.
[5]VAPNIK V.The Nature of statistical learning theory[M].New York:Springer-Verlag,1995:203-232.
[6]周明,孙树栋.遗传算法原理及应用[M].北京:国防工业出版,1999:121-185.
[7]YU L A,WANG S Y,LAI K K.Mining stock market tendency using GA-based support vector machines[C].WINE 2005,LNCS 3828.Berlin:Springer,2005:336-345.
A study on prediction of market tendency on the shanghai stock index based on GA-SVM method
ZHANG Wei1,LI Hong-yi2,LAN Shu-mei1,ZHANG Jie1
(1.College of Computer Science and Technology,Jilin University,Changchun 130012,China;2.College of Economics,Jilin University,Changchun 130012,China)
Support vector machine is an effective data mining technology for limited sample data,genetic algorithm is an excellent tool for global optimization.In this study,a hybrid data mining model which combine support vector machine with genetic algorithm(GA-SVM)is proposed to the prediction of market tendency on the shanghai stock index.In this hybrid data mining approach,GA is used to select the RBF parameters and the features,so that to find the best parameters of SVM.That can reduce model complexity of SVM and improve the speed of SVM;SVM is used to judge the future movement direction of the stock market based on the use of historical data.To validate GA-SVM method,we compared its performance with that of other methods(such as statistical method,time series method and neural network method).The experimental results show that GA-SVM is superior to other methods,implying that the GA-SVM approach is a promising alternative to stock market tendency prediction.
support vector machine;genetic algorithm;GA-SVM;stock market tendency prediction
TP 301
520·2040
A
1000-1832(2012)01-0055-05
2011-10-27
国家科技支撑计划子课题资助项目(2006BAJ18B02-06).
张伟(1977—),男,硕士研究生,讲师;通讯作者:兰书梅(1963-),女,硕士,副教授,主要从事计算机应用研究.
石绍庆)