您好, 访客   登录/注册

混合遗传算法和支持向量机的股票预测模型

来源:用户上传      作者:

   摘 要:本文提出了一种基于遗传算法和支持向量机的股市预测混合机器学习系统。将技术分析领域的各种指标作为输入特征,同时把不同公司股票价格之间的相关性进行计算,利用高相关性股票的技术指标,更好地进行股票走势预测。文中,利用遗传算法从所有技术指标中选出信息量最大的一組作为输入特征。结果表明,在股票走势预测方面,混合遗传算法和支持向量机的模型优于独立支持向量机模型的表现。
   关键词:遗传算法;支持向量机;股市预测
   一、绪论
  股票市场预测是金融时间序列预测中的一项具有挑战性的任务。这主要是因为市场运行中存在不确定性。股票市场中的许多因素相互作用,包括政治事件、市场经济状况和交易者期望。因此,预测市场价格变动是相当困难的。根据学术调查,市场价格的变动随机性愈发提高,它们的行为是高度非线性的,动态的。投资者要做决策就是根据股票的预期方向,与价值相比,预测方向可以产生更高的利润。
  过去十年,许多人工智能和机器学习技术被用来预测股市。神经网络是目前应用最广泛的技术,神经网络被用于股市趋势预测,概率神经网络被用于将其建模为一个股票市场涨跌分类问题。近年来,支持向量机在股市预测中的应用取得了显著的进展。Tay&Cao首次将支持向量机用于金融时间序列预测。Kim提出了一种算法,通过将技术分析指标作为SVM的输入来预测股市的走向。研究比较了支持向量机和BP神经网络。实验结果表明,支持向量机的性能往往优于BPN。
  二、支持向量机
  支持向量机(SVM)是由Vapnik提出的。支持向量机是一种最大的边缘分类器,试图找到最优超平面来分离不同类,将最接近最优超平面的训练实例称为支持向量。如果数据是线性可分的,则在两个类的情况下,超平面可以表示为以下等式:
  其中,y为结果,xi为属性值,wi为权值。在支持向量方面,最优超平面可以表示为以下方程:
  其中,y是训练示例x(i)的类值,向量x表示测试示例,向量x(i)是支持向量,·表示点积。在这个方程中,b和αi是决定超平面的参数,找到支持向量并确定参数b和αi相当于求解线性约束二次型编程问题。
  如果数据不是线性可分的,在这种情况下,支持向量机将输入转换成高维特征空间。这是通过使用内核函数来完成的,如下所示:
  支持向量机的一个独特的特点是能够抵抗过拟合问题。这是因为许多传统的神经网络模型都实现了经验风险最小化原则,而支持向量机则实现了结构风险最小化原则。前者试图将错误分类或对正确解的偏离最小化训练数据,但后者搜索以最小化泛化误差的上界。
  三、股票方向预测问题
  将股票涨跌预测建模为二分类问题。这些方向在数据中归为“0”和“1”类。“0”类表示当日价格低于前一日,即股价下跌;“1”类表示当日价格高于前一日,即股价上涨。我们选择了中国股市作为研究对象。在过去,该领域的大部分工作都集中在美国和韩国的股票市场上,很少有使用机器学习技术来预测股票。文中选择了3只股票:平安银行(000001)、中信证券(600030)、中证500(000905)作为我们的实验对象。
  提出模型:
  A.股票相关性
  研究表明,股票价格不会孤立地变动。某些股票的价格之间存在统计上的显著相关性,因此,一种股票的价格变动通常可以用来预测其他股票的变动。
  让我们希望找到相关性的两个股票用S和T表示。这些股票之间的相关性由下式给出:
  式中,S(i)和T(i)是第i天股票的收盘价,SA和TA是股票的平均价格,σS和σT是标准差,n是相关性的天数。
  B.输入特征值
  利用数学统计得到股票技术指标,可以为研究者提供有关市场趋势的线索。文中使35个这样的技术指标作为模型的输入特征值,其中部分技术指标如表一中所示:
   C.遗传算法
  如上所述,我们获得了一组候选特征输入。遗传算法现在被用来从这些特征中选择一组显著特征。所选特征用作支持向量机的输入。这里的目的是获得能产生最佳结果的特征的最佳子集。GA中的各个步骤描述如下:
  (1)初始化:我们用二元向量表示一条染色体,其中染色体的每一部分都告诉我们是否选择了相应的输入特征。
  (2)适应度评估:以下适应度函数用于评估染色体i的适应度:
  其中,A(i)是由支持向量机获得的分类精度,输入特征集由染色体i描述,AR是随机精度,研究中设为0.5。
  (3)选择:轮盘选择用于父选择。因此,具有高适应度得分的染色体更常被选择。
  (4)繁殖:进行交叉和变异以产生新一代。
  (5)停止条件:当遗传算法在规定的迭代次数内找不到更优解时停止。
  四、实验结果
  如前所述,我们用平安银行、中信证券、中证500作为我们的实验对象三只股票。本研究使用的数据来自国泰安数据库。实证分析对象各使用800组数据,70%的数据用于机器学习,30%用于测试模型。
  预测性能是用准确率来衡量的,准确率是模型对股票涨跌方向预测正确的百分比。我们将方法的结果与独立支持向量机的结果进行了比较,该支持向量机以目标公司的35个特征作为输入。明显可见,GA-SVM混合模型在预测股票涨跌方向明显优于独立的SVM。例如,对于平安银行(000001),我们的GA-SVM的命中率为61.7328%,而SVM的命中率为48.0903%,三只股票的命中率见表2。
  表2 股票涨跌方向预测准确率
   结束语:
  本文提出了一种混合遗传算法和支持向量机模型来预测股票价格的涨跌走势。从待预测的股票以及与该股票高度相关的股票中获得的一组技术指标被用作输入特征以提高预测准确率。结果表明,相关技术指标和遗传算法对提高支持向量机分类预测的准确率有显著作用。
  与此同时,在股票的预测分析方面还有很多工作要做。如果把影响股票市场的各种政治、经济因素和投资者的情绪也考虑进去,可以取得更好的择时效果。此外,将特定于市场的领域知识纳入系统可能有助于模型获得更好的预测表现。
  参考文献:
  [1] Chen,A.S. Leung, M.T. and Daouk, H. Application of Neural Networks to an Emerging Financial Market: Forecasting and Trading the Taiwan Stock Index. Computers and Operations Research 30, 2003, 901-923.
  [2] W. Kreesuradej, D. Wunsch, and M. Lane, Time-delay neural network for small time series data sets, in World Cong. Neural Networks, San Diego, CA, June 1994
  [3] H. Tan, D. Prokhorov, and D. Wunsch, Probabilistic and time-delay neural-network techniques for conservative short-term stock trend prediction, in Proc. World Congr. Neural Networks, Washington,D.C., July 1995.
  [4]丁鹏.量化投资——策略与技术[M].北京:电子工业出版社,2012.
  [5]刘小茂,田立.现代金融风险的度量方法[J].统计与决策,2007(01):4-6.
  [6]方匡南,纪宏,路逊. 股票技术指标相似性与有效性研究[J].统计与信息论坛,2009,24(9):26-30.
  作者简介:陈皓(1995-),男,汉族,首都经济贸易大学信息学院,本科。研究方向:量化择时。
转载注明来源:https://www.xzbu.com/3/view-15210975.htm