一种基于代表样本的在线支持向量回归机的石油期货价格预测方法与流程

文档序号:13447006阅读:266来源:国知局
本发明涉及石油期货价格预测领域,具体涉及一种基于代表样本的在线支持向量回归机的石油期货价格预测方法。
背景技术
:石油期货作为一种重要的石油交易方式,分析石油期货价格特征,把握石油期货价格的变动规律,对管理者正确调控期货市场具有重要的理论意义和现实意义;对投资者指定正确的投资策略,避免风险、提高收益具有重要的指导作用。目前石油期货价格预测方法大致分为经验预测方法、分形理论方法和机器学习方法。由于影响石油期货价格的因素很多,且期货价格的规律是非线性的,机器学习方法越来越受到研究者的关注。如张凯、沙锋在《基于非线性组合方法的石油期货价格预测研究》(计算机仿真,2012年7月)中使用支持向量机非线性组合方法提高石油期货价格的预测精度;杜光年、刘志斌在《石油价格波动分析与预测方法研究》(湖南大学硕士毕业论文,2006年)中基于微分模拟方法和神经网络方法对石油价格及其影响因素进行了系统模拟,并建立了模拟系统。而这些石油期货价格预测方法在实际应用中都基于批量离线处理模式,即生成模型的数据都在训练前一次获取。面对不断更新的数据,批量离线处理模式为了获得更精准的预测结果需要对所有数据重新训练。然而随着数据集规模的不断增加,训练时间将大大增加,最终导致模型学习的速度赶不上数据更新的速度。因此这类方法在实际应用中很难操作。针对石油期货价格预测方法的现状和诸多不足,本发明提出了一种基于代表样本的在线支持向量回归机的石油期货价格预测方法。技术实现要素:本发明的主要目的是提出了一种基于代表样本的在线支持向量回归机的石油期货价格预测方法,在处理实时石油期货数据时,区别与传统方法使用全部训练数据进行模型学习的方法,本方法采用基于代表点的模型学习方法,即只使用能代表训练数据轮廓信息的代表样本作为训练数据用于模型的训练,降低了预测模型对系统的时间和空间的需求,同时能够进行准确实时对石油期货价格进行预测。按照本发明的技术方案是,所述基于代表样本的在线支持向量回归机的石油期货价格预测方法,包含如下步骤:步骤1.采集石油期货价格历史数据:以当日开盘价、当日最高价、当日最低价、当日成交价、当日持仓量和前4天均价作为输入样本集x,并选择后3天均价作为输出集y,形成石油期货价格训练集{x,y};步骤2.计算石油期货价格训练集{x,y}的代表样本集{x*,y*};步骤3.使用最小二乘支持向量回归机对步骤2得到的代表样本集{x*,y*}进行训练,构建石油期货价格预测模型;步骤4.实时采集石油期货当前交易日的当日开盘价、当日最高价、当日最低价、当日成交价、当日持仓量和前4天均价,形成待预测样本xtest;步骤5.使用步骤3得到的石油期货价格预测模型对待预测样本xtest的后3天均价进行预测,得到其后3天均价的预测值ytest并输出;步骤6.判断样本xtest是否是新的代表样本,若是,则更新代表样本集,并重新构建石油期货价格预测模型;若不是,则不更新代表样本集;步骤7.当代表样本集中样本数量超过设定的阈值时,对代表样本集进行精简:按照代表样本的交易日期降序排列,剔除排名前p%的样本,其中p为一个正常数;步骤8.若无新数据到达,则等待;若有新数据到达,则转向步骤4;上述步骤2所述的计算石油期货价格训练集的代表样本的具体步骤如下:步骤2.1.在输入样本集x上使用支持向量域描述(supportvectordatadescription,svdd)算法得到x在特征空间下的最小包含球的球心c1和分布在最小包含球球面上的样本集合x*;步骤2.2.计算x中除集合x*外的每个样本xi到球心c1在特征空间中的距离di,di的计算式为:di=||φ(xi)-φ(c1)||2,(1)其中xi表示x中第i个样本且满足φ()表示样本从原始空间到核空间的映射函数;步骤2.3.根据距离di值降序排列集合x中除x*外的样本,得到集合e1;步骤2.4.每次迭代,依据步骤2.3得到的排序结果顺序取出e1中样本xi,代入式(2)计算其权值向量μi,满足i=1,2,...,|e1|,其中μi=[μi,1,μi,2,...,μi,|x*|]t,|x*|表示x*中样本的个数;步骤2.5.判断xi是否是代表样本,若xi满足式(3),则xi是代表样本,若xi不满足式(3),则xi不是代表样本;其中ε是一个正常数;步骤2.6.若xi是代表样本,则更新代表样本集{x*,y*}:x*=x*∪{xi},y*=y*∪{yi};若xi不是代表样本,则不更新代表样本集{x*,y*},其中yi是xi对应的输出值;步骤2.7.转到步骤2.4,直至遍历e1中所有的样本;上述步骤6所述的判断样本xtest是否是新的代表样本,若是,则更新代表样本集,并重新构建石油期货价格预测模型;若不是,则不更新代表样本集,具体步骤如下:步骤6.1.转到步骤2.5判断样本xtest是否是新的代表样本;步骤6.2.若xtest是新的代表样本,则等待3天获得其对应的后3天真实均价ytest-true,更新代表样本集{x*,y*}:x*=x*∪{xtest},y*=y*∪{ytest-true},再转到步骤3使用最小二乘支持向量回归机对{x*,y*}进行训练,重新构建石油期货价格预测模型;若xtest不是新的代表样本,则不更新代表样本集。本发明的有益效果:1)以当日开盘价、当日最高价、当日最低价、当日成交价、当日持仓量和前4天均价数据采集简单方便,可以采用任何一款提供盘后数据下载的证券行情交易软件或到相应网站进行数据的采集。2)面对由于日益增长的石油期货交易数据,将在线增量学习和代表点的思想引入所提预测方法,降低了对系统的时间和空间上的需要;同时选用具备高泛化性和低误差性的最小二乘支持向量回归机作为具体的学习模型,具有预测能力强的特点。3)本预测方法实现对石油期货价格的自动化预测,用户操作简单、方便。附图说明图1是本发明的一种基于代表样本的在线支持向量回归机的石油期货价格预测方法的总流程图。具体实施方式为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体事实例,并参照附图1,对本发明进一步详细说明。本发明的总实施流程图如图1所示,具体实施如下:步骤1.本实施例采用美国纽约商品交易市场2013-2015年的世界原油期货价格作为数据来源共600个样本,采集交易日当天的当日开盘价、当日最高价、当日最低价、当日成交价、当日持仓量和前4天均价作为输入样本集x,并选择其后3天均价作为输出集y,形成石油期货价格训练集{x,y};步骤2.计算石油期货价格训练样本集{x,y}的代表样本集{x*,y*},具体步骤如下:步骤2.1.在石油期货价格训练样本集的输入样本集x上使用支持向量域描述(supportvectordatadescription,svdd)算法得到x在特征空间下的最小包含球的球心c1和分布在最小包含球球面上的样本集合x*,其中svdd算法的表述为:其中xi表示x中第i个样本且满足c1为特征空间下的最小球形空间闭区域的球心,r为最小球形空间的球半径,φ()表示样本从原始空间到核空间的映射函数,本实施例中φ()使用高斯核函数,其核参的取值范围为{0.001,0.1,0.1,1,10,100,1000};步骤2.2.计算x中除集合x*外的每个样本xi到球心c1在特征空间中的距离di,di的计算式为:di=||φ(xi)-φ(c1)||2,(2)其中xi满足xi∈x且步骤2.3.根据距离di值降序排列集合x中的非集合x*中的样本,得到集合e1;步骤2.4.每次迭代,依据步骤2.3得到的排序结果顺序取出e1中样本xi,代入式(3)计算其对应的权值向量μi,满足i=1,2,...,|e1|,其中|x*|表示x*中样本的个数;步骤2.5.判断xi是否是代表样本,若xi满足式(4),则xi是代表样本,若xi不满足式(4),则xi不是代表样本;其中ε是一个正常数,本实施例中ε=0.001;步骤2.6.若xi是代表样本,则更新代表样本集{x*,y*}:x*=x*∪{xi},y*=y*∪{yi};若xi不是代表样本,则不更新代表样本集{x*,y*},其中yi是xi对应的真实输出值;步骤2.7.转到步骤2.4,直至遍历e1中所有的样本;步骤3.使用最小二乘支持向量回归机对步骤2得到的代表样本集{x*,y*}进行训练,构建石油期货价格预测模型,最小二乘支持向量回归机的形式为:其中w为权向量,b为分类超平面的偏移量,惩罚参数c通过在网格{0.001,0.01,0.1,1,10,100,1000}中寻优获得最优值,ξ=[ξ1,ξ2,...,ξn]为松弛向量,引入拉格朗日函数,上式可以转换成如下的二次规划形式:其中,α=[α1,α2,...,α|x*|]t是拉格朗日向量,αi和αj分别是α的第i个和第j个分量;由式(5)和式(6)可得石油期货价格预测函数f(x):f(x)=1-|w*·φ(x)+b*|,(7)其中w*和b*是式(5)和式(6)中w和b最优解;步骤4.实时采集石油期货当前交易日的当日开盘价、当日最高价、当日最低价、当日成交价、当日持仓量和前4天均价,形成待预测样本xtest;本实施例依据日期顺序采集美国纽约商品交易市场2016年的世界原油期货价格作为测试数据共150个样本;步骤5.使用步骤3得到的石油期货价格预测模型对待预测样本xtest的后3天均价进行预测,得到其后3天均价的预测值ytest并输出;步骤6.判断样本xtest是否是新的代表样本,若是,则更新代表样本集,并重新构建石油期货价格预测模型;若不是,则不更新代表样本集,具体步骤如下:步骤6.1.转到步骤2.5判断样本xtest是否是新的代表样本;步骤6.2.若xtest是新的代表样本,则等待3天获得其对应的后3天真实均价ytest-true,更新代表样本集{x*,y*}:x*=x*∪{xtest},y*=y*∪{ytest-true},再转到步骤3使用最小二乘支持向量回归机对{x*,y*}进行训练,重新构建石油期货价格预测模型;若xtest不是新的代表样本,则不更新代表样本集;步骤7.当代表样本集中样本数量超过设定的阈值时,对代表样本集进行精简:按照代表样本的交易日期的降序排列,剔除排名前p%的样本,其中p为一个正常数,本实施例中p=10;步骤8.若无新数据到达,则等待;若有新数据到达,则转向步骤4。本实施例的预测精度用均方差mse指标表示:其中本实施例中m表示测试样本的个数为150,ytest表示交易日后三天的石油期货均价的预测值,ytest-true表示交易日后三天的石油期货均价的真实值。本发明方法的结果与最小二乘支持向量回归机、bp神经网络方法进行了对比,结果如表2所示,实验的平台均为inteli7-3770cpu3.4ghz,8gbram的pc机,使用软件为matlab2009b。表2:本发明方法与支持向量机和bp神经网络的mse(%)本发明方法最小二乘支持向量回归机神经网络mse5.479.2110.64以上所述的实例只是用于说明本发明,而不构成对本发明的限制。本领域的技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种修改和变更,这些修改和变更仍然在本发明的保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1