PCA-GA-SVM模型的构建及应用研究——沪深300指数预测精度实证分析,本文主要内容关键词为:实证论文,沪深论文,精度论文,模型论文,指数论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
一、问题的提出
当前,通过构建卓有成效的数量模型来预测证券价格走势已经成为一项很具挑战性且有意义的工作。准确预测股票市场中包括股票价格指数和股票价格的运行态势,对于政府宏观管理而言,可以在一定层面上监测和引导股票市场的平稳运行,降低市场风险,从而促进实体经济的健康和平稳增长;对于投资者而言,构建数量模型对股票价格指数和股票价格走势进行准确预测,对其做出有效的投资策略有着很好的参考价值,这样可以在一定程度上减少股票市场中盲目投资的现象,减少投资者的损失,对于提高股票市场中投资者的理性程度有很高的现实意义。
目前国内外很多学者对于股票市场的预测问题都做了很多有意义的探索。吴微等(2001)对用BP神经网络预测上证综合指数的涨跌情况进行了初步探讨,认为该模型对于中国股票市场的预测是有效的。李春伟等(2006)基于BP神经网络模型对股票市场进行建模,进而对股票中期价格进行预测,通过采用模糊曲线分析法对输入变量进行筛选来改善其预测精度。彭丽芳等(2006)通过构建一般的SVM方法对股票市场进行预测。该模型克服了传统预测方法仅限于线性系统的问题,证明了支持向量机方法比神经网络方法等有更高的精度。李云飞(2008)通过构建一般的SVM方法,以各只股票的财务指标作为样本特征集,进而建立了股票投资价值分类模型,结果显示该模型优于BP神经网络和RBF神经网络模型。杨稣等(2008)提出了一种基于SVM方法的时间序列预测算法,该算法首次提出解决动态调整SVM核参数的问题,通过实证分析表明该方法预测效果好于BP神经网络。
由于发达国家或地区证券市场的形成比中国要早,而且较为成熟,因此与之相关的预测研究也有着非常丰富且有意义的成果。Kimoto和Asakawa(1990)运用人工神经网络(ANN,即Artificial Neural Networks)的方法在东京交易所进行择时投资,预测最佳的“买进”和“卖出”时机,最后实验结果显示采用该方法可以取得较好的收益。Yoon和Swales(1991)通过构建一种四层神经网络方法预测美国股票市场上股票的变化趋势,同时用该方法与多元离散分析(MDA,即Multiple Discriminant Analysis)方法进行比较。结果显示,四层神经网络方法相比MDA有着更好的结果。Donaldson和Kamstra(1999)采用带有非线性组合的多层次正反馈网络对S&P 500股票价格指数进行预测,该方法可以解释不同时间节点之间的交叉影响,而且相对于传统的预测方法而言效果要好。Pai和Lin(2005)通过构建ARIMA和SVMs混合模型预测台湾股票日收盘价走势,该模型比单纯的ARIMA(Autoregressive Integrated Moving Average)模型和SVM(Support Vector Machine)方法的预测精度都要高。
由于传统的预测方法如神经网络模型存在局部解及过学习(overfitting)等问题,同时传统的SVM方法并没有解决指标相关性以及惩罚系数和核函数参数最优值如何动态选取等问题,因此本文通过构建PCA-GA-SVM模型,弥补了上述方法的缺陷,提升了预测模型的稳健性和预测精度文章还以股票市场为例,利用该模型对股指期货标的物——沪深300指数以及该指数的前五大权重股的涨跌情况进行验证分析,并说明了新构建模型的有效性。
二、一般模式识别方法及其缺陷分析
当前较流行的一般模式识别方法主要有神经网络方法和支持向量机方法。
1.BP神经网络及其缺陷
BP(Back Propagation,即后向传播)神经网络是目前运用较为广泛的神经网络,它是一种多层前馈神经网络。BP算法的原理主要是,在信号正向传播时,信号从输入层输入,经隐含层逐层进行处理,直到输出层。当输出层得不到期望输出后,误差则进入反向传播过程,利用输出后的误差来估计输出层的直接前导层的误差,再用这个误差估计更前一层的误差,如此一层一层的反传下去,经过反复调整网络权值和阈值,最后使得网络输出的误差减少到可接受的程度。BP神经网络的拓扑结构如图1所示。
图1 BP神经网络拓扑结构
从图1中可以看出,BP神经网络是一个非线性函数过程,网络输入值和输出值分别是该非线性函数的自变量和因变量。然而正是由于其采用的是非线性梯度算法,不可避免地存在局部极小值问题:(1)该算法对初始网络权值有很强的敏感度,当使用不同权值时,BP算法会收敛于不同的局部最小值;(2)在误差梯度曲面平坦区,误差梯度信息很小,每次对权重改变量极小,这就使得网络收敛极其缓慢,甚至导致该网络最终无法收敛;(3)BP神经网络是基于经验风险最小,满足对已有训练数据的最佳拟合,在理论上可以通过增加算法的规模使得经验风险不断降低直至为0,然而这样会使得BP神经网络算法的复杂度增加,导致实际风险增加,这就是学习算法的过拟合(Overfitting)问题。正是由于BP神经网络存在局部最小值、收敛速度缓慢以及过度拟合等缺陷,因此该方法可能导致模式识别结果存在较大程度的失真。
2.支持向量机(SVM,即Support Vector Machine)方法及其缺陷
神经网络等模式识别方法在进行机器学习时,强调经验风险最小。而单纯的经验风险最小化会产生“过学习问题”,其延拓能力①也较差。而支持向量机方法是建立在统计学习理论的基础上,强调结构风险最小化,它可以克服包括神经网络在内的传统统计模式识别方法的缺点,同时,统计学习理论也是专门研究小样本下机器学习方法的一种非参数理论。该理论基于小样本统计问题建立新的理论体系,在这种体系下的统计推理考虑了对渐近性能的要求,同时在现有有限信息的条件下还能得到最优的预测精度。
虽然SVM方法优于神经网络等模式识别方法,但是在现有SVM方法的研究中,仍然没有系统地解决以下三个方面的问题:(1)在SVM方法中,每个训练样本和测试样本存在较多维的特征指标,其中每个指标之间可能存在一定的相关性,所以会导致样本信息过度重复的情况,然而传统SVM方法并没有解决这一关键问题。(2)传统SVM方法没有解决模型中惩罚系数C和核函数中的参数值如何确定的问题。传统做法是凭借经验预先给定这些参数的默认值,然而这种主观方法是缺乏科学依据的。(3)当对较高频率数据进行预测时,如本文中利用股票市场中股票价格指数和股票价格日收盘价对所构建的模型进行验证时,随着市场不断动态演变,惩罚系数C和核函数中的参数就需要实时动态更新,才能构建符合最新市场情况的预测模型。如果按照传统的做法,千篇一律地保持参数值不变,极易使预测结果的精度严重偏低。
鉴于一般模式识别方法存在以上诸多方面的缺陷,本文通过引入主成分分析(PCA,即Principal Component Analysis)和遗传算法(GA,即Genetic Algorithm)方法,构建了一种全新的SVM模型,即PCA-GA-SVM模型,增强了模型在模式识别时的稳健性和预测精度。
三、PCA-GA-SVM模型的构建
1.构建PCA-GA-SVM模型的思路
以上关于一般模式识别方法的缺陷分析中,我们发现SVM方法相较于BP神经网络等传统的模式识别方法存在很多优点,但是我们也发现,传统SVM方法在解决实际问题时,仍然在理论上和操作上存在三个方面的不足和缺点。因此,本文循着解决这些问题的思路,在传统SVM方法的基础上,通过构建PCA-GA-SVM模型来进一步提高SVM方法的预测精度和有效性。以下是笔者构建PCA-GA-SVM模型的基本思路。
第一,传统SVM方法在解决实际问题时,由于在选择训练样本时,各个样本的特征指标之间相关性较高,所以可能导致样本信息过度重复的情况,因此本研究通过使用PCA方法,对样本信息进行有效降维,改进训练样本的有效性,从而解决传统SVM方法特征指标解释冗余的问题。
第二,在现有的研究方法中,对于传统SVM方法中所涉及的参数选择问题,比如SVM方法中所涉及的惩罚系数C和RBF核函数γ值,一般都采取凭经验“人工取值”的选择方法,这种方法会使运算过程冗繁且复杂,而且缺乏科学性,通常预测效果不佳。本研究通过采用遗传算法来寻找SVM方法中所涉及的最优参数值,以期达到最优的预测效果。
第三,传统的研究方法是采用固定不变的训练样本形成的固定的支持向量机来对未来一段时间的信息进行预测,这种方法并不能充分运用最新的样本信息进行预测,从而可能导致预测结果出现失真。本文利用股票市场数据对模型进行验证分析时,鉴于股票市场上股票价格指数和股票价格的走势一般是与最近样本信息联系较为紧密的,本研究采用动态“滑窗”方式选定训练样本集,即预测第t+1天股指或股票价格涨跌情况时,动态选取前n天数据进行预测,即选择t-n,t-n+1,…,t-1天指标数据对应于每个指标数据的第二天的涨跌情况,构造作为训练学习的样本集。根据以上训练形成的向量机模型,取t天股指的指标数据可以预测第t+1天的数据。当预测t+2天时,“滑窗”则往前平移一天。这种构造的支持向量机,能够尽量确保当前预测值跟最近的n天股指或股票信息相关。因此,每做一次预测,则采用PCA进行一次降维处理,然后根据GA方法找到在该“滑窗”下的最优C和γ参数值,进而对训练样本集进行训练找到最优的支持向量机,并利用该支持向量机对t+1天股指或股票涨跌进行预测。
2.PCA-GA-SVM模型的构建过程
基于以上思路,本研究运用PCA方法和GA算法分别解决传统SVM模型特征指标之间的相关性以及惩罚系数和核函数参数无法动态寻优的问题,同时结合股票市场的实际,构建PCA-GA-SVM预测模型,提升模型预测结果的精度和有效性。
(1)支持向量机分类方法。SVM分类方法大致可分为四种情况:线性可分问题、线性不可分问题、非线性可分问题和非线性不可分问题。从一定意义上而言,前三种问题都是非线性不可分问题的特殊形式;而后三种问题都是由线性可分问题演变而来。其中线性可分的基本思想如图2所示,在图2中,三角点和空心点分别代表两类样本,H为分类线,H1、H2分别为各类中离分类线最近的样本且平行于分类线的直线,它们之间的距离叫做分类间隔(margin)。其中,最优分类线是指分类线将两类正确分开(训练错误率为0),而且使分类间隔最大。
图2 线性可分支持向量机
对于同一问题,用不同的核函数,可以构造实现输入空间中不同类型的非线性学习机,从而形成不同的支持向量算法。在实际问题中,通常使用以下四种常用核函数。
(3)遗传算法。在SVM分类方法中提到由于RBF核函数具备良好的特性,本研究主要采用RBF核函数,该核函数涉及一个未知参数γ,而且惩罚系数C也是未知,因此针对具体问题,我们需要对这两个参数进行预先设定。然而以往在解决该类问题时,主要是凭借经验“人工取值”的选择方法,这样的参数选择是不合理的,往往找不到全局最优解,而且效率很低。而GA是现代启发式算法之一,它是一种具有全局优化性能、通用性强且适合于并行处理的算法。这种算法一般具有严密的理论依据,理论上可以在一定的时间内找到最优解或近似最优解。遗传算法是由Holland(1975)首次提出,它是一类借鉴生物界自然选择和自然遗传机制的随机化搜索算法。
遗传算法模拟自然选择和自然遗传过程中发生的繁殖、交叉和基因突变现象,在每次迭代中都保留一组候选解群,并按某种指标从解群中选取较优的个体,利用遗传算子(选择、交叉和变异)对这些个体进行组合,产生新一代的候选解群,重复此过程,直到满足某种收敛条件为止。GA算法的运算过程大致可以归纳为图3。
图3 GA算法
其具体过程可以分为以下几个步骤:
第二,对参数取值进行编码,GA是通过某种编码机制把对象抽象为由特定符号按一定顺序排成串。由于C和γ都取大于0的值,因此本文将C和γ初始范围取得足够大,可以对参数C和γ采用二进制字符串表示。二进制字符串的每位只有0和1两种取值。该字符串即为GA算法可以操作的对象,串内包含参数C和γ取值的信息,该字符串的每一种取值即为一个个体(对应于参数的取值点C和γ)。
第三,GA采用随机方法生成n个个体的集合,该集合称为初始群体,设为Q(t)。初始群体中个体的数量称为群体规模。本研究群体规模n取10;GA算法的任务是从这些群体出发,模拟生物进化过程的择优劣汰,最后选择出优秀的群体和个体,满足目标函数和优化要求。
第五,按比例选择个体。从初始群体Q(t)中按概率选取m个体作为下一步交叉互换的个体,从而产生新的个体进入第二代群体Q(t+1),这样做的目的是产生更多的高适配值的个体,它可以提高达到优化解的收敛速度。其中,选取概率正比于初始群体中个体的适配值。
第六,单点交叉运算。将上一步中得到m个体,对于选中的每一对个体,随机地选取对于部分字符(0或1),将双亲字符串在这些位置上相互交换,这种交叉的作用可以改进个体性能。
第七,基本位变异运算。从第二代群体Q(t+1)中以一定概率随机选取若干个体,随机选取某一位字符进行取反运算,如1改为0或0改为1,这种变异模拟了生物进化过程中的基因突变现象。
第八,循环。对于以上产生的新一代群体,代入第三步进行评价,然后进一步进行单点交叉运算、基本位变异运算,如此经过重复循环运算,最终可以使群体及个体的适应度和平均适应度不断提高,直到最优个体的适应度不再提高,则迭代过程收敛,计算结束。
四、PCA-GA-SVM模型的验证分析
本研究利用股票市场中沪深300指数和及其成份股对PCA-GA-SVM模型进行验证分析。徐国祥(2009)在《金融统计学》一书中提到,沪深300指数是由上海和深圳证券市场中选取300只A股作为样本编制而成的成份股指数。沪深300指数样本覆盖了沪深市场六成左右的市值,具有良好的市场代表性。也正是由于沪深300指数的诸多良好性质,使其成为在中国证券市场上市的第一个股指期货产品的标的物。
1.指标选取
由于指标选取对PCA-GA-SVM模型预测结果的精度将产生很大的影响,所以指标的合理选择就显得尤为重要。本研究根据笔者长期的投资和研究经验,以及现有数据库实际条件所能够提供的指标,选取了以下12个指标体系构建预测特征指标样本集,进而根据PCA方法对这些指标进行降维处理,从而达到最佳的预测效果。
2.实证结果分析
(1)沪深300指数走势预测分析。本研究选取2008年1月3日至2009年7月31日共386个交易日的数据作为研究对象。该过程经历了股市下跌和上涨的全过程,使该研究能够在充分市场情况下对沪深300指数的整体走势进行预测,使结果具有说服力,数据来源于Wind资讯。
表1 指标选取情况
注:取前5天表示指数近一周的平均收益率。取前20天表示指数近一个月的平均收益率。
在SVM分类方法中提到,对于同一问题,用不同的核函数,可以构造实现输入空间中不同类型的非线性学习机,从而导致不同的支持向量机算法。通常有四种核函数,分别是线性核函数、多项式核函数、径向基核函数和Sigmoid核函数。本研究基于以上四种核函数,分别构建支持向量机算法对沪深300指数进行预测。从表2可知,径向基核函数(也称高斯核函数,RBF)的预测精度最高,大大超过其他三种核函数,而且其训练精度也达到99.90%,说明通过径向基核函数构建的支持向量机的效率大大超过其他三种核函数构建的支持向量机。
表2 沪深300指数在不同核函数下的预测精度
注:“滑窗”长度为100天;平均训练精度是指20个“滑窗”的训练精度的平均值。
本研究基于文章第三部分构建的PCA-GA-SVM模型利用沪深300指数以分阶段、不同的“滑窗”长度、涵盖了几乎所有样本以及预测天数不同的方式,验证该模型的预测效率和预测精度。从表3中可以看到,遗传算法的平均精度都在98%以上,由此表明通过遗传算法进行参数寻优,有着极高的训练效率。从预测准确率来看,基本都维持都在80%以上,其中有一半以上是在90%以上。由此表明,该模型对于沪深300指数的预测精度很高,因此该模型对于预测股市整体动态演变有着很高的价值。对于国家宏观调控而言,该模型的预测可以很好地判断未来一段时间内金融市场的动态演变情况,对宏观经济运行机制具有一定的监测功能;对于投资者而言,该模型对于判断股指整体波动态势,有着很好的参考价值;同时,沪深300股指期货已开始上市交易,本模型对于沪深300指数的良好预测精度,对于股指期货投资而言,可以根据预测结果较好地做出“多头”或者“空头”的头寸决策。
表3 基于ICA-GA-SVM模型沪深300指数预测结果
(2)沪深300指数中前五大权重股预测分析。由于沪深300指数采用样本股的完全自由流通量作为样本权重,所以前五大权重股是上海交易所和深圳交易所上市自由交易流通量最大的A股股票。而对于权重较低的股票,容易受到庄家的操纵,其股票的走势不能真实反映其股票本身的内在变动规律。因此本研究通过PCA-GA-SVM模型预测前五大股票走势来反映其股票本身的动态演变规律。根据中证指数公司最新公布的沪深300权重股情况,其前五大权重股如表4所示。
表4 沪深300指数前五大权重股票
为了保持同前面沪深300指数样本区间的一致性,对于前五大权重股票的样本区间同样选取2008年1月3日至2009年7月31日,在该过程当中,各只股票也都经历了下跌和上涨的全过程,在这样的前提下,预测精度才显得更具有说服力。由于股票个别交易日存在停牌等情形,所以要对这些交易日进行适当的剔除。
本研究基于文章第三部分构建的PCA-GA-SVM模型对沪深300指数前五大权重股招商银行、交通银行、民生银行、中国平安和中信证券5只股票以分阶段、不同的“滑窗”长度、涵盖了几乎所有样本的方式预测股票的涨跌情况。从表5中可知,PCA-GA-SVM模型对于前五大权重股票的预测精度很高,在25次预测中,累计12次预测准确率在90%以上,累计20次达到80%以上,累计25次全部在75%以上。实证结果表明该模型对于股票走势的预测也有着很好的预测效果。当前,融资融券业务已经启动,该模型对于指导投资者做出“融资”或“融券”决策有着很好的指导意义。随着该模型将来运用的不断广泛和深入,可以扭转当前中国股市诸多不理性因素,减少证券市场中投资者盲目投资的行为,使中国证券市场向有效方向推进,从而促进中国证券市场的健康发展。
表5 基于PCA-GA-SVM模型前五大权重股票预测结果
五、结论和需进一步研究的问题
1.结论及应用价值
本文基于股指期货标的物——沪深300指数以及该指数中的前五大权重股的数据对PCA-GA-SVM模型进行的验证分析,证实了PCA-GA-SVM模型有着很高的预测精度,并得出以下结论:
第一,PCA-GA-SVM模型在构建支持向量机解决非线性判别时,为实现非线性空间向高维特征空间进行非线性转换,采用RBF核函数相较于其他核函数有着更高的预测效果。本研究构建的PCA-GA-SVM模型,运用主成分分析方法对指标体系进行降维,从而改进了训练样本的有效性,解决了一般SVM模型指标的相关性问题;同时,通过遗传算法进行参数寻优取得最优参数值进行训练,进而形成最优学习机,提高了模型的稳健性和预测精度。
第二,实证结果表明,PCA-GA-SVM模型对于中国A股市场中的沪深300指数的预测精度很高,据此表明该模型有着很高的应用价值,对于国家宏观管理而言,该模型的预测可以很好地判断未来一段时间内金融市场的动态演变情况,对宏观经济运行机制具有一定的监测功能;当前股指期货业务已经启动,对于投资者而言,可以利用该模型对沪深300指数走势进行预测,从而根据预测结果在沪深300指数期货交易中做出“多头”或者“空头”的决策。
第三,实证结果表明,PCA-GA-SVM模型对于沪深300指数的前五大权重股的预测精度很高,因此该模型也可以应用于个股的预测分析,这对于投资者作出投资决策有一定的参考价值。
2.需进一步研究的问题
在未来的研究过程中,利用所构建的PCA-GA-SVM模型对于证券市场的研究仍然存在很多有意义的研究方向。比如如何根据各个不同的股票价格指数和股票在不同阶段自身的特有规律来选取自身最优的“窗框”长度,如何拓展该模型的应用领域,都是需要进一步研究的问题。
注释:
①延拓能力是指将学习机器(即预测函数,或称学习函数、学习模型)对未来输出进行正确预测的能力。
标签:支持向量机论文; 预测模型论文; 沪深指数论文; pca论文; 群体行为论文; svm算法论文; 实证分析论文; 神经网络论文; 股票论文; 股票市场论文;