基于SVM的原油期货价格走势预测研究
2018-01-17张冰心
张冰心
摘 要 国际原油一直是影响世界经济发展的重要指标。原油价格的走势深深地影响了其他资产的变动,因此对原油价格的分析十分重要。本文使用SVM模型对国际原油价格进行预测,对WTI的历史价格数据进行建模,得到的预测误差的MAE为2.98%,对比时间序列算法有较大提升。
关键词 原油价格 SVM模型 参数优化
一、绪论
石油深深地影响了世界经济的发展,带来了能源的革命。作为基础的工业生产原料,原油价格的变动会给世界经济带来重要的影响。很多经济指标都同原油的价格有密切联系,比如美元、黄金等资产的价格走势,同原油价格都有一定的关系。因此,对原油价格的预测是金融界以及学术界关注的热点。
传统的金融学者一般用时间序列等传统的计量模型对原油价格进行分析,但是这些模型的假设较强,效果较差。近年来机器学习、数据挖掘技术发展迅猛,在不同领域得到了很好的应用,同时,随着计算机技术的发展,获取海量数据并计算海量数据变得较为容易,其中,支持向量机(SVM)模型是一种效果较好、应用较多的模型。因此,本文尝试使用支持向量机(SVM)模型对WTI原油价格进行建模,预测价格的走势。
二、模型介绍
支持向量机(Support Vector Machine,简称SVM)是一种分类算法,将低维空间数据映射到高维空间,从而找到划分边界来对样本进行划分。在求解该问题时,对于线性不可分的数据,SVM使用了核函数来处理。核函数可以在高维空间对数据进行划分,从而将非线性最优化问题转变为线性可分问题,本文使用的是高斯核函数。
实证分析:
本文使用的WTI原油价格数据范围为2004年1月1日到2017年12月31日,时间频率为每日。为了分析预测效果,本文采用2004年1月1日到2016年12月31日的数据作为训练样本,2017年的数据作为测试样本。
为了建立模型,本文选择美元指数(Usdx)、黄金现货价格(Gldx)、MSCI全球指数(Msci)、彭博大宗商品指数(Bcom)、原油库存指数(Oilstock)为维度,进行相关性分析后,Msci的统计相关性较弱,因此过滤该指标,其余指标的统计检验具有显著性,因此纳入建模的维度之中。对于模型的评价使用绝对误差(MAE),该值越小,预测精度越高。
本文使用Python的Sklearn包中的SVM函数进行建模,Sklearn是机器学习包,实现了若干的机器学习算法。SVM函数有一些參数需要优化,本文采用遗传算法进行优化,得到W(权重参数)=(0.47,0.53)、C(惩罚参数)=2.0、Gamma(核函数参数)=1.65。
本文在测试时使用模型的最优参数进行样本外测试,同时为了对比效果,使用ARIMA算法进行对比分析。最终SVM的MSE为2.98%,ARIMA的MSE为7.23%。从样本测试结果中可以得出,SVM算法的表现远远好于传统的时间序列预测ARIMA 算法。SVM算法在MAE上提高了4.25%,算法在样本外数据测试如图1所示。
三、结语
本文使用支持向量机SVM模型对WTI价格数据进行了建模分析,建模语言采用Python。通过分析实证数据,可以看到SVM算法对比传统的时间序列ARIMA算法,在正则均方误差(NMSE)上提高了4.25%,准确率有了较大提升,验证了该算法的有效性。
(作者单位为西南财经大学)
参考文献
[1] Dechow P,Sloan R . Returns to contrarian investment strategies:Tests of naive expectations hypotheses[J]. Journal of Financial Economics,1997,43(1):3-27.
[2] 邹运.基于遗传算法的风格选股模型研究[D].东北财经大学,2012.
[3] 蒋汉桥.基于支持向量机的证券投资决策研究[D].武汉大学,2005.