① 单一模型和融合模型区别
长期以来,期货市场的稳定运行一直是交易所关注的重点,对于期货品种的功能发挥起到重要作用。合约交易持仓量是期货市场运行的重要指标,也是利用期货管理风险的基础指标。为增强对市场趋势的了解,提高运行预判能力,本文基于合约历史运行规律及风控措施参数,开展数据分析,提取历史数据及风控参数作为输入特征,建立基于多个机器学习算法的融合模型,利用网格搜索方式设置最优参数,进行期货合约未来五日交易量、持仓量的预测。实验结果显示,本文构建的算法模型预测交易量平均准确率接近70%、持仓量平均准确率达到83%。同时,本文以案例分析的形式证实了融合模型和网格搜索技术对于预测准确率的提升存在显著效果。
一、项目背景
期货交易是现货市场的晴雨表,为商品远期定价提供基准,具有护航实体经济稳健运行的重要意义。期货交易价格由不同参与主体共同报价撮合而成。套期保值者利用市场锁定利润管理价格波动风险,投机者尝试判断行情获取利润。当市场交易过热时,期货价格会失真并偏离现货价格,可能给投资者和套保企业带来损失;反之,当缺乏流动性时,期货价格无法准确反映市场参与者的“共识”。因此,稳定的市场参与度是期货交易合理定价的重要基础。预判市场热度对于调节市场情绪,合理利用风控措施稳定行情至关重要。本文将核心问题定义为预测市场热度,即预测品种的交易持仓情况。通常来说,期货市场交易持仓趋势受到多方面因素的影响,如期货标的价格变化,突发舆情事件,政策影响等。多因素影响下,简单的规则算法难以有效预测交易持仓情况。基于此,本文尝试从多个维度提取有效特征,并利用三个独立的机器学习模型捕捉数据之间的不同关系。最后,利用网格搜索方法将三个模型的结果进行加权融合输出最终的预测结果。本文组织架构如下:第二章针对历史运行数据开展分析,研究了风控参数、结算价等与交易持仓量的关系;第三章就特征提取及三个单一模型的构建进行了详细介绍;第四章描述了模型融合及权重网格搜索技术;第五章设计实验验证模型有效性并设计方法解释模型结果;第六章为模型可解释性研究;第七章为总结与展望。
二、历史运行分析
机器学习相关问题中,数据分析是整个数据建模的基础,决定了特征提取质量与模型最终效果。数据分析对于深入了解目标问题起到重要作用,并指导模型的迭代构建。本文数据分析涵盖了众多维度,下面挑选四个方面对交易所历史数据简要分析。
(一)主力合约的生命周期(双峰现象)
回溯历史数据,所有合约在挂牌摘牌整个周期中,都会经历交易持仓量逐渐放大随后下降的过程。其中,有较大比例的主力合约(接近40%)在挂牌摘牌的整个周期会呈现“双峰”现象。“双峰”现象即合约在成为主力之后,交易量与持仓量会经历两个峰值,其中交易量尤为明显。我们以图1、2分别展示玻璃期货1705与棉花期货1801两个合约的交易持仓走势。从图中可以看出,虽然玻璃、棉花分属于非农与农两个类别,但是交易量上都呈现出较为典型的双峰形态。该现象产生原因可能一是当合约成为主力合约之后,交易资金会快速流入,导致交易持仓量快速放大;二是前主力合约进入交割摘牌阶段,主力合约因此达到第二个高峰。双峰现象的周期性规律对于我们掌握品种运行规律及预测交易持仓起到指导性作用。
图1.玻璃1705合约交易持仓走势图
图2.棉花1801合约交易持仓走势图
(二) 品种交易持仓量与价格关系
为探索交易、持仓量的影响因素,本文着重分析价格波动与交易持仓量之间的关系。交易市场上存在一种“共识”,即认为价格的波动会引起交易持仓量的放大。因此,本文尝试计算价格波动与交易持仓量变化之间的皮尔森相关系数1 ,研究从长期运行维度来看价格波动是否会实质上引起交易量与持仓量的放大。我们定义如下三个指标:
其中T表示当前日期,N表示时间差,PT表示T日结算价格,VT表示T日交易量,HT表示T日持仓量;相应的,PT-N、VT-N、HT-N分别表示T-N日的对应数值;Pdelta表示以T日与T-N日之间价格波动比例的绝对值,Vdelta表示对应的交易量波动比例实际值,Hdelta表示持仓量波动比例实际值。我们分别计算当N设置为[1-5]日时,Pdelta与Vdelta、Hdelta之间的皮尔森系数。实验中,我们选取了2016-2018年郑商所已上市的所有品种,并对品种下的全部挂牌合约进行汇总。具体情况见下表。
表1.价格波动与交易持仓变化相关系数表
表1中PD1-HD1表示当N值取1时,Pdelta与Hdelta之间的关联系数;PD1-VD1表示当N值取1时,Pdelta与Vdelta之间的关联系数,以此类推。从表中易知,在不同N的取值下,所有品种的相关系数均为正。因此,交易持仓量的变化与价格波动的绝对值之间确实存在着正向关系。但是,学术界一般认为,当相关系数|r|>0.8时,两变量间存在高度相关性;当0.6<|r|<0.8时,可以认为两变量具备较强相关性;当0.4<|r|<0.6时,两变量具备中等相关性;当0.2<|r|<0.4时,可认为两变量相关性较弱。从表中可发现,除少数蓝色区域(大于0.4),大多数品种交易持仓量的变化与价格波动幅度的关系均较弱,且间隔日期N的长短对于结论也无较明显影响。整体来看,价格波动对于交易量、持仓量趋势均有一定正向影响。在提取特征时,需要将价格波动相关数据引入模型,但需要设计模型结构捕捉非线性关系提高数据价值。
(三) 品种交易持仓与风控措施参数的长期关系
除价格波动外,本文同时研究风控参数对于交易持仓量的长期影响。风控参数的设置拟在调节市场热度,平抑行情变化。考虑到保证金、手续费等参数与交易持仓量的变化量纲不同,在分析相关参数与交易持仓量变化波动相关性时,本文决定采用变异系数(Coefficient of Variation)来衡量不同风控参数下交易、持仓量的运行情况。具体计算方式如下。
变异系数越大,交易持仓相比其平均值波动幅度越大。本文以2016-2018年各品种的相关数据为基础,分别计算不同品种运行的变异系数,并利用皮尔森系数计算风控参数与变异系数之间的关系。本文以保证金与平今仓手续费为代表进行重点分析。具体结果见表2、3。考虑到相关系数的计算要求相关风控参数经历过多次调整,因此表2、3仅保留了所选区间内符合条件的品种进行分析。
表2.保证金与品种长期波动的变异系数
表3.平今仓手续费与品种长期波动的变异系数
从表2、3可发现,整体来看,保证金及平今仓手续费数值大小与交易持仓波动变异系数的关系为负相关。当保证金或平今仓手续费增大,对应品种的交易持仓量波动比率相对更小,具体数值因品种差异而有较大的变化。观察表格,发现存在部分品种的相关系数为正的情况,可能是因为调整点聚集在单边行情或大波动行情下。基于上述分析,我们决定将风控措施参数引入特征序列,作为预测的基础。
(四) 品种交易持仓行情与风控措施参数的短期关系
除长期维度外,本文以2016-2018年相关数据为基础,尝试探索风控参数的短期变化对市场运行的影响。经数据分析,从全市场角度来看,保证金及手续费变化对于交易持仓量的短期影响较为随机,没有显著规律。基于此,本文决定根据交易特征将客户分为四个群体,如长线客户、短线客户、大客户及小客户2 。整体来看,保证金对于持仓量影响较明显,而平今仓手续费对于交易量影响更显著。具体见图3、4。图3中四个小图分别代表四个客户群体下保证金调整幅度与持仓量之间的关系。x轴表示保证金调整前后数值变化的大小,y轴表示保证金调整前后五日内持仓量均值的变化幅度。图中每一个点均代表历史上一次真实调整。图4中,x轴代表平今仓手续费调整幅度,y轴表示调整前后五日内交易量均值变化幅度。观察图3可知,当保证金上调时,大客户及长线客户持仓量呈现降低趋势;当保证金下调时,小客户及短线客户的持仓量呈现上涨趋势。观察图4可知,平今仓手续费上调对于短线客户交易量减少的影响较为明显,也符合普遍认知;相应的,下调手续费对于短线及小客户交易量促进有一定作用。
短期来看,风控措施参数对于不同客户群体的交易持仓有一定影响。因此,本文将风控参数措施的变化值也引入特征向量。
图3.不同客户群体下保证金调整幅度与调整点前后五日持仓量均值变化关系
图4.不同客户群体下平今仓手续费调整幅度与调整点前后五日交易量均值变化关系
三、特征工程与模型构建
基于上述分析,交易持仓量受到多重因素的影响,不同因素影响程度不一而同。本文尝试利用多模型融合方式捕捉数据之间的不同关系,挖掘深层价值,并对未来交易持仓量进行预测。具体问题定义为:针对任一合约,第T日收盘后,根据当日现行风控措施参数及历史运行数据,预估未来5个交易日的交易量与持仓量。
数值预测相关问题中,特征选择是模型构建的重要基础,决定了模型效果。本文经过数据分析及实验迭代,最终决定选择包含结算参数、行情特征、客户特征及合约特征等四大类共317维特征。其中,结算参数包含如历史价格波动、合约间价差等多维度特征;行情特征包含了历史交易持仓相关数据特征;客户特征包含不同属性客户的特征数据及不同客户群体的交易特征;合约特征重点提取了合约运行特征及合约阶段,约束预测结果。
表4.数据特征表
上述317维特征中,7维为合约约束性特征,310维为历史交易相关的时序特征。完成特征提取后,本文开始构建三个机器学习模型。具体细节如下。
(一)整合移动平均自回归(ARIMA)
在统计与经济相关领域,ARIMA(Autoregressive integrated moving average)模型是一种常用的时间序列预测算法,该模型通常应用于平稳时间序列,或通过差分平稳过程消除均值方程的非平稳性的序列。其中,自回归(AR)是统计上处理时间序列的一种方法,衡量序列自身在不同时刻随机变量的相关性,利用变量以往时刻的取值来预测当期时刻的取值,并假设它们为线性关系。该方法被广泛的应用于金融序列相关的建模问题中。移动平均模型(MA)是另一种对单一变量进行时间序列建模的方法。因本文的问题较为契合ARIMA的常用场景,因此决定利用它捕捉交易持仓量序列的时序关系。
(二)基于支持向量机的回归模型(SVR)
ARIMA模型是基于捕捉时序相关性直接预测未来交易量持仓量,同时我们希望利用更多的信息量以求获得更好的预测效果。我们决定利用支持向量机来预测未来交易量持仓量的涨跌幅度作为补充。支持向量机(Support Vector Machine)是一种广泛应用于分类与回归问题中的机器学习模型。该方法的核心是将低纬度不可分特征使用“核函数”有效的进行非线性处理,映射到高维特征空间。通过寻找高维空间中的超平面对数据进行分类或回归。
(三)序列到序列模型(Seq2Seq)
Seq2Seq模型,全称为Sequence to Sequence,是由谷歌大脑团队和Yoshua Bengio团队提出的一种广泛运用在翻译、文本自动摘要及一些回归预测问题上的深度神经网络。在提出之初,Seq2Seq主要被用来解决自然语言处理相关的问题。但因其强大的时序关系挖掘能力,近年来也被逐渐应用于数值型序列的预测问题中。如图所示,本文所用网络通过编码器(Encoder)与解码器(Decoder)两个过程将过往十日的行情特征作为输入序列,将其映射为未来五日的交易量或持仓量序列。编码器利用非线性函数将输入序列组合为隐藏层的隐藏向量,该向量具备表达输入序列信息及潜在关系的能力。解码器将传递来的隐藏向量进行解码,并结合输入的T~T+4日的市场行情特征,逐日预测未来T+1~T+5日的交易持仓情况。
图5.Seq2Seq模型流程图
四、多算法融合模型构建
期货市场行情瞬息万变,客户群体的交易持仓行为受到众多因素的影响,因此单一模型容易对历史数据产生过拟合现象,并且面对来