作者:吕亮亮
来源:《中国新通信》 2018年第20期
吕亮亮 中海油能源发展股份有限公司销售服务分公司
【摘要】 国际原油价格的走势影响诸多商品价格以及能源行业的发展,因此对于原油价格的预测变得十分重要。本文使用 SVM 模型对国际原油价格进行预测,经过实证检验发现该模型具有较好的效果。通过对 WTI 原油价格数据进行实证建模,得到的预测误差的MAE 为 3.21%,而 NMSE 为 19.85%,比传统的时间序列模型有较大的提升。
【关键词】 原油价格 SVM 模型 参数优化
一、绪论
石油在当今世界扮演了重要的角色,是各种能源行业不可或缺的基本原料。同时石油也与人们的日常经济生活息息相关,度量经济发展的各项指标同石油的价格紧密相连,石油价格的走势或者波动会对各项经济数据带来较大的影响。而对于石油价格的预测一直是学术界以及金融界的研究重点,影响石油价格变动的因素十分繁多,各类政治经济事件都有可能对石油价格带来冲击,同时诸如美元、黄金价格等也与石油价格紧密相连。因此如何利用各项数据来建立石油价格的预测模型,是诸多学者不断尝试解决的问题。近些年来随着机器学习、数据挖掘以及计算机技术的快速发展,越来越多的人开始利用数据挖掘模型对石油价格进行建模。由于大数据相关技术的发展,目前获取各种维度的数据变得十分方便,同时使用计算机处理各种数据、分析得到影响油价的因子并建立预测模型,同时进行海量历史数据的回测,变得十分可行。在众多数据挖掘模型中,支持向量机(SVM)模型在各种应用中获得了较好的应用效果,因此本文将尝试使用 SVM 模型对国际油价进行建模预测。
二、模型介绍
支 持 向 量 机 (Support Vector Machine, 简 称 SVM) 是 由Vapnik 于 1995 年最早提出了该理论, 具有严格的数学推导。在石油价格预测中,使用训练样本 (x n ,y n ) 构建模型,其中 x n是影响油价的因素,而 y n 是每一期的油价。SVM 模型将其转化为如下的优化问题:
通过使用核函数将低维空间的样本映射到高维空间问题,从而将非线性问题转化为线性问题来求取最优值。本文使用的高斯核函数如下所示:
三、实证分析
本文使用 WTI 原油价格自 2003 年 1 月 1 日到 2017 年12 月 31 日的数据进行实证分析。采用滚动时间窗口进行模型建立,滚动时间窗口的长度为过去 1 年的每日 WTI 收盘价格。从基本面的角度分析,美元走势、黄金走势以及全球的大宗商品、全球指数、库存等因素都有可能对原油价格产生影响,因此建模的指标维度使用美元指数 (usdx)、黄金现货价格(gldx)、 MSCI全球指数 (msci) 、 彭博大宗商品指数(bcom)、原油库存指数(oilstock)为维度来建立预测模型。
在建立 SVM 模型之前,对各个维度的数据进行皮尔逊相关性检测,得到如下表:
从表 1 可以看到,msci 的 pvalue > 0.05, 因此统计相关性较弱。在建立模型时,过滤掉该指标。而其余各指标的统计检验具有显著性,因此纳入建模的维度之中。
对于模型的评价使用如下指标:
NMSE 代表正则均方误差,而 MAE 代表评价绝对误差,两个指标的值越小,代表预测精度越高。
数 据 挖 掘 建 模 语 言 使 用 R 语 言, 调 用 e1071 包 中的 SVM 模型进行建模,调用如下函数可以进行建模:
svm(price~usdx+gldx+bcom+oilstock,data=train_data,kernel=’guassion’)
同时,在 SVM 模型中有核函数参数 Gamma, 惩罚参数 C以及权重参数 W 需要进行优化,本文使用优化包 opptunity进行参数优化,opptunity 集成了诸多的优化算法,是机器学习种常用的优化包。本文采用的优化方法为蚁群算法,最终得到的最优参数如下所示:
使用表 2 的参数,对 WTI 价格数据进行预测,同时使用传统的时间序列 ARIMA 模型在同样的数据下进行预测,得到如下结果:
从表 3 中可以看到 SVM 在样本外的预测效果较好,MAE 误 差 仅 有 3.21%, 比 ARIMA 模 型 提 高 3.57%, 而NMSE 误差为 19.85%,比 ARIMA 模型提高了 6。01%,均有较好的效果。预测图形如下图 1 所示。
如图 1 所示,使用最优参数的情况下,对 WTI 的价格拟合形态较好,说明使用 SVM 对于 WTI 原油价格走势具有一定的预测意义。
三、总结
本文使用支持向量机 SVM 模型对国际原油价格进行了建模,使用 R 语言编程实现了相关的回测框架,同时使用实际的数据对模型进行了实证分析,最终使用 SVM 模型对国家原油的价格进行样本外预测的较高较好,MAE 误差为3.21%,而 NMSE 误差为 19.85%。对比传统的 BP 神经网络、ARIMA 时间序列模型,取得了较好的预测效果。在数据的预测维度上,本文采用美元指数、黄金现货价格、彭博大宗商品指数、原油库存指数等数据进行相关性分析,得出这几种数据同原油价格具有较强的相关性的结论。
因篇幅问题不能全部显示,请点此查看更多更全内容