1、1003-6199(2006)03-0088-04基于时间序列的支持向量机在股票预测中的应用彭丽芳1,孟志青2,姜华3,田密3(1.湖南工业大学图书馆,湖南 株洲412000;2.浙江工业大学 经贸管理学院,浙江 杭州 310032;3.湘潭大学 信息工程学院,湖南 湘潭411105)摘要:由于股票预测是不确定、非线性、非平稳的时间序列问题,传统的方法往往难以取得满意的预测效果。本文提出一种基于时间序列的支持向量机(SVM)股票预测方法。利用沙河股份的股票数据,建立股票收盘价回归预测模型,该模型克服了传统时间序列预测模型仅局限于线性系统的情况。实验结果表明,该方法比神经网络方法以及时间序列方法
2、的预测精度更高,可以很好的应用某些非线性时间序列的预测中。关键词:支持向量机(SVM);时间序列;股票预测中图分类号:TP181文献标识码:AApplication of Support Vector Machine Based onTime Sequence in Stock ForecastingPENG Li-fang1,MENG Zhi-qing2,JIANG Hua3,T IAN Mi3(1.Library,Hunan University of Technology,Zhuzhou412000,China;2.College of Business and Administrati
3、on,Zhejiang University of Technology,Hangzhou310032,China;3.Department of Computer Science and Engineer,Xiangtan University,Xiangtan411105,China)Abstract:Because stock forecasting is a uncertain,nonlinear and nonstationary time series problem,it is difficult to achieve a satisfyingprediction effect
4、by traditional methods.This paper presents a novel stock forecasting method in which an improved Support Vector Machine(SVM)algorithm based on time sequence.Using Shahe s stock data,a prediction model of the closing price regression is established.Themodelabstainsfrom the default of traditional time
5、 series prediction model that only can beusedin linear system.The experiment resultsare alsocompared with Neural networks and time sequence methods,which indicate that the SVM strategy can improve precision and therefore thisprediction model can be effectively used in some nonlinear time series fore
6、casting.Key words:support vector machine(SVM);time series;stock forecasting1引言股票市场,具有高收益与高风险并存的特性。关于股市分析与预测的研究一直为人们所关注。但是由于股票市场高度的非线性,众多股市分析方法的应用效果都难如人意。常用的预测方法有时间序列法、灰色模型法、证券投资分析方法、专家评估法等。文献 1采用灰色系统模型,文献 2 利用时间序列预测,但都不能很好的模拟股票预测的非线性关系。随着非线性科学的发展,人们提出了神经网络方法,通过综合系统的不确定性和工程经验,来解决复杂的设计问题。文献 3 5 采用经典 B
7、P 神经网络进行股票预测,文献 6 8 对经典的 BP 算法进行改进,文献 6 采用的是粗神经网络,文献 7 提出了小波神经网络,文献 8 提出了进化神经网络。这些算法较经典的 BP 算法神经网络在收敛精度、收敛速度和全局优化方面有所第 25 卷第 3 期2 0 0 6 年 9 月计算技术与自动化Computing Technology and AutomationVol.25,No.3 Sep.2 0 0 6改善,但这类方法存在最终解过于依赖初值,存在过学习的现象,训练过程中存在局部极小问题,且收敛速度慢,网络的隐节点难于确定等问题。支持向量机 9-10(Support Vector Mac
8、hine,简称 SVM)方法基于统计学习理论,由 Vapnik 在90 年代中期提出。支持向量机目前已成为机器学习界的热点,成功应用于分类和回归问题。当前,SVM 已经在模式识别领域取得了很好的应用效果,广泛应用于文本识别、语音识别、人脸识别。近年来,人们发展了回归型支持向量机,它可以按任意精度逼近非线性函数,具有全局极小值点和收敛速度快的优点,被应用于天气预报 13、地下水位预报 14、负荷预测 15等领域,获得了很好的效果。本文利用时间序列 SVM 方法进行股票收盘价预测,希望能为广大股票投资者提供正确、科学地把握股市动态的机会,以及及时准确的购进和抛出股票提供新的思路。2支持向量机的回归
9、模型回归分析又称函数估计,它要解决的问题是:根据给定的样本数据集(xi,yi)|i=1,n,其中 xi为预测因子值,yi为预测对象值,n 为样本个数,寻求一个反映样本数据的最优函数关系 y=f(x)。如果所得函数关系 y=f(x)是线性函数,则称为线性回归,否则为非线性回归。SVM 的目标是寻求回归函数:y=f(x)=(w x)+b(1)式中 w 为权重,x 为样本输入值,b 为阈值。对于非线性问题,可以通过非线性变换将原问题映射到某个高维特征空间中的线性问题上进行求解。在高维特征空间中,线性问题中的内积运算可以用核函数来代替,即K(xi,xj)=(xi)(xj)(2)核函数可以用原空间中的函
10、数实现,没有必要知道非线性的具体形式。因此非线性问题的回归函数为:f(x)=(w (x)+b=ni=1(i-i)K(xi,x)+b(3)根据支持向量机回归函数的性质,只有少数(i-i)不为零,这些参数对应的向量称为支持向量,回归函数 f(x)完全由其决定。3基于时间序列的数据建模对于给定的时间序列 x1,x2,xn,假定已知 xt-1预测 xt,则可建立映射 g RmR,满足:xt=g(xt-1,xt-2,xt-m)(4)其中 xt为 t 时间的预测值,由 xt-j(j=1,2,m)而得。对时间序列 x1,x2,xn建模,将其分成两部分,其中前 ntr(ntr0,选取=0.0001,常数 C=
11、85,=0.3。求解 i,和 b,即可得到支持向量机的股票预测模型。5.2实验结果及分析为了说明支持向量机的优越性,本文采用支持向量机预测模型、神经网络预测模型和时间序列预测模型分别进行提前 1 步 5 步及第 8 步和第 19步预测。预测结果如表 1 所示。从表 1 中可以看出,支持向量机在短期预测中具有非常理想的效果,在较长区间预测中仍然具有较高的预测精度(提前 19 步预测仍可保证平均相对误差 0.006531),虽然神经网络和时间序列在短期预测中也具有较好的效果,但在较长区间预测中推广能力降低。其中,图 2、3 分别列出了利用这三种模型提前 1 步预测和提前 19 步预测的后 20 天
12、测试数据的预测值相对误差的比较结果。从表 1和图 2 中可以看出,虽然基于时间序列的支持向量机模型优于另外两种模型,但这三种预测模型的预测结果的相对误差相差并不太大。从表 1 和图 3中可以看出,支持向量机的相对误差在 0.005 范围内的有 9 个,在 0.01 范围内的有 17 个。神经网络的相对误差在 0.005 范围内的有 3 个,在 0.01 范围内的有 8 个。传统时间序列的相对误差全部都在 0.01 范围以外。因此支持向量机模型与另外两种模型相比就有了相对较大的优势,神经网络模型尤其是传统的时间序列模型与真实值之间的相对误差相差甚远,已经表现出预测能力不强。另外,表 1 所列的神
13、经网络和时间序列预测的平均相对误差虽然只有 0.015653 和 0.033308,似乎误差不是太大,但从他们的预测曲线来看,如图 4 所示,已经明显不具有预测能力,它们表现出一种均值预测,即预测值等于训练样本的均值,而这种情况在其他的预测方法中也存在。即虽然预测值不会偏离真实值太多,计算出的误差也不会太大,但已经完全无法预测出数据的变化规律了。所以我们可以得出利用支持向量机对股票价格预测具有重要的价值。换句话说,在已知的股票价格序列基础上采用支持向量机建模,可以提前多个采样间隔时间进行有效预测,为广大股票投资者提供正确、科学地把握股市动态的机会,以及及时准确的购进和抛出股票提供指导。表 1预
14、测步与平均相对误差预测步数平均相对误差支持向量机神经网络时间序列10.0067950.0085990.00941920.0069550.0095000.01087330.0071290.0101680.01319840.0068470.0122370.01858150.0065310.0151350.03330880.0065310.0138820.033308190.0065310.0156530.033308注:相对误差计算公式yt-ytyt,平均相对误差计算公式1ntentet=1yt-ytyt,其中 yt为 t 时间的实际值,yt为 t 时间的预测值,nte为测度数据个数。6结束语股票
15、预测受很多因素的影响,很难在股票和这90计算技术与自动化2006 年 9 月些因素之间建立一种确定的数学模型。一方面,这种关系是一种非常复杂的非线性关系;另一方面,股票价格预测还与具体的因素有很大的关系。本文分析了支持向量机用于时间序列预测的理论基础,给出了基于时间序列的支持向量机预测模型,针对沙河股份的股票数据分别采用支持向量机回归模型、神经网络模型与时间序列模型进行了预测建模和比较实验。通过实验结果分析得出:图 2提前 1步预测值相对误差比较图图 3提前 19 步预测值相对误差比较图图 4 提前 19 步预测值比较图(1)引入时间序列的支持向量机模型能够较好对股票数据进行预测。支持向量回归
16、模型具有较快的收敛速度和计算精度,且解收敛于全局最优,使结果更接近于真实值。(2)随着预测步数的增加支持向量机仍然具有较高的精度,这说明支持向量机具有很强的推广能力。也说明了基于结构风险最小化原理的支持向量机比基于经验风险最小化原理的神经网络有很大的优越性。(3)支持向量回归仅取决于支持向量,而支持向量一般小于样本的个数,因而可以降低建模的复杂性。在时间序列预测中,支持向量与反映趋势变化的点紧密相关,因而回归型支持向量机能更好的跟踪时间序列的发展趋势。(4)核函数的选择对支持向量机的学习和预测性能具有重要的影响。不同的核函数,不同的参数取值直接关系到结果的精度。总之,采用支持向量回归的方法进行时间序列预测前景十分看好,本文分析了支持向量回归用于时间序列分析的理论基础和一般步骤,下一步则需要进一步探讨支持向量机参数选择对预测结果的影响,以便更好的为采用支持向量机进行时间序
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1