■孙 励 杨文捷 胡凯玲
(1.广东石油化工学院;2.岭南师范学院;3.广东技术师范大学)
在国内期货市场上,根据大连商品交易所的统计,套利交易量占到了全部成交交易量的60%以上。同品种不同到期合约间的跨期套利与不同品种间的跨品种套利,都为市场提供了巨大的流通性。而统计套利在套利的基础上,又给交易员带来了巨大的利润。其中的原因主要有两个,首先是以模型为代表的统计套利使得交易策略可以被计算机量化,适宜管理较大的资金,其次套利交易带来的风险在统计学的角度上来看相对投机交易较小。
自从意识到统计套利的诸多优势后,国内外有关统计套利的研究就开始变得络绎不绝, Andrew(2011)研究发现近些年来,不少学者有关统计套利的研究都主要基于格兰杰(1987)所提出的协整与线性误差修正模型(ECM)等方法。其中国内学者包括仇中群,程希骏(2008)进行的利用沪深300指数期货进行跨期套利的研究,马卫锋,王永升,唐衍伟(2014)进行的利用沪深300指数期货与沪深300ETF进行期限套利的研究,魏露盈(2010)进行的利用豆油期货与棕榈油期货进行跨品种套利的研究。他们均采用了静态性的建模思路,将数据分为两部分,一部分用于建模,一部分用于策略评估。这份研究中最重要的启示是数据分段统计会改变交易策略模型,这对传统统计套利策略产生了严重的冲击。同时他们也将分段进行的交易策略结果与传统的统计套利交易策略的结果进行了比较,发现资产价差在无外部事件冲击下,进行统计套利是获利至关重要的过程。
但是实际上,上述研究还是有不足之处,因为类似于2008年这样的金融危机毕竟还是少数。资产价格关系即使是在稳定的经济环境下,也还是会因为一些小的原因产生不可恢复的改变。在构建交易策略的时候,应当将这类因素予以考虑。但这却是使用单一静态模型所不可避免带来的问题,其实际意义等同于假设两资产价差在回测期内一定不会产生持续变化。显然,这样的假设不太可能达到。
实际上,光考虑数据收集与计算成本还是不能完全真实模拟市场,还必须考虑真实成交时的价格滑点,双边交易手续费,涨跌停板时的单方向无报单,甚至是交易参数组的平稳性。
针对上面的研究不足,本文提出利用滚动时间窗口的方法,建立动态协整模型,以上海期货交易所提供的到期时间不同的锌期货合约为实证研究对象,进行跨期套利的研究。研究的目的在于建立一套基于动态协整模型的统计套利交易策略。
下表对本文的创新方向进行了总结:
表1 创新方向总结表
以上4个方面同时也是在试图更加真实地模拟出市场对于该套统计套利的交易策略的反映。同时也是在研究如何应对事件冲击,滑点冲击,手续费冲击与极端行情冲击的情况。
本文的研究方法主要集中在两部分,第一部分是有关统计套利策略构建的方法,第二部分是策略回测系统的构建与策略的评价的方法。
第一部分,关于统计套利,安德鲁波尔(2011)总结统计套利根本的原理就是多种金融资产价格长期存在某种稳定关系,当出现异常波动的时候,这种长期关系会使得价格逐渐呈现出均值回复的状态。摩根公司早年依据这种关系,建立了单纯依赖于数量组合而忽略金融资产经济意义的统计套利交易策略,并取得了成功。
RobertJarrow, MelvynTeo,YiuKuenTse和 MitchWarachka(2005)年給出了最新的统计套利定义,统计套利是一个零初始成本的,自融资的交易策略,收益累计折现值V(t)及其增量△V(t)满足:
根据上面两位学者的研究,可以确定统计套利的交易策略属于均值回归性策略。即当价差相对均衡价差过高时,卖出价差,当价差相对均衡价差过低时,买入价差。赚取超买和超卖时的波动利润。策略需要回答的主要问题,可以分为以下几个,回答的过程就是本文统计套利策略的研究方法。
(1)如何确定资产价格价差是一个稳定的状态,且价差波动足够,即存在套利的条件。
(2)如何判断当前资产价格价差是否处于过高或者过低的状态,即多方或者空方开仓的条件。
(3)如何判断当前资产价格价差已经回落到均值状态,即多方或者空方平仓的条件。
(4)如何判断当前资产价格价差已经处于非稳定的状态,即多方或者空方止损的条件。
使用动态模型的意义,在于不能假定整个回测过程中,价差都处于持续不变状态,但可以假定在很短的一段时间内(多短算短由模型参数来确定),价差处于持续不变的状态,因此对这段时间,使用静态建模的方法。然而这个假定也有能是错的,当证明假定实际是错误时,需要对当前持仓进行止损。
(1)在静态环境下,先判断两个价格的价差是否稳定。
图1 合约价格结果图
针对图2的情况1,进行价差的平稳性检验,如果价差平稳,则标志当前资产价格的价差处于稳定的状态,对于情况2、3,都属于资产价格的价差处于非稳定的状态,针对情况4,对两价格序列进行回归,并取残差进行单位根检验,如果存在单位根,则认为两资产价格价差处于非稳定状态,如果不存在单位根,则认为两资产价格价差处于稳定状态。
图2 回测系统流程图
(2)确定了当前时间窗口状态下存在套利条件后,开始进行多方或者空方开仓条件的判断,这里的多方或者空方是指看涨两种资产的价差还是看跌两种资产的价差。开仓的理论条件是两种资产价格在当前时刻处于过高或者过低的状态。实际需要定量讨论的就是过高与过低,本文将曾经在出现在时间窗口内的数据进行统计排序,过高与过低的界线就是出现过频率小于上下10%的部分。
(3)接着需要确定均值状态,并把这个均值状态当作多方或者空方的止盈信号。首先需要考虑的是作为平仓信号所有的价格都必须是对手价格,在持有多方时,必须以空方价差的均值作为平仓信号,反之亦然。均衡状态选择两个条件中利润较大的一个,一个条件是该段时间窗口内出现的价差的众数,另一个是选择能覆盖交易成本并产生利润的最近价差。当价格到达均值状态时,认为原有的超买超卖状态得到了恢复,因此对当前持仓进行平仓。
(4)最后需要确定稳定状态与非稳定状态的转化。并把这个转化条件当作当前持仓的止损。价格过高或者过低的突破之前时间窗口内的最高多方价差或者最低空方价差是明显的状态转换标志。不论什么样的原因,上个时间窗口内的稳定状态已经不存在了。因此必须对上个时间窗口内的持仓进行止损平仓。
第二部分,回测系统的设计思路,根据王申寅(2014)的描述,回测系统的搭建原理是事件驱动,系统是由交易数据,参数组,模型,指标,持仓以及账户六个对象组成,运行的事件驱动示意图如下。
除了交易回测系统的设计思路,还必须讨论一下如何来对策略的结果进行评价。建立如下指标。并根据指标对策略的参数组进行评价。
对于策略本身的评价,计算参数组平均得分与得分的方差是核心,将每一个参数组作为数据并进行计算,公式如下:
如果一个策略所有的参数组的收益率为正,并且平均收益率大于市场收益率,方差控制在合理水平,当满足这三个条件时,则表示该策略是有效策略。如果其中任意一条不符合,则表示该策略是无效策略。
本文选用Python搭建回测平台,数据来源于上海期货交易所CTP端口行情推送,时间是从2015年1月1日到2016年11月4日。数据选择为每日的金属锌期货主力合约与次主力合约。合约在每月的15日后进行移仓换月。数据的频率是一秒钟,因此可以保证在最大的程度上使得价格不会出现跳空。数据选取了,每份合约每秒最后报价的最新价格(newprice),买一价格(buyprice),卖一价格(sellprice),买一数量(buyvol),卖一数量(sellvol)。总计10种数据(英文后数字则表示合约)。数据分析的具体方法如下图。
首先,对数据进行预处理,预处理的核心目标是完成以下几个任务:
(1)数据洗涤,非法数据不予录入,即时间超越了交易时间的数据,上海期货交易所的锌期货交易时间是四段,21:00-1:00,9:00-10:15,10:30-11:30,13:30-15:00,凡不符合此时间段的数据一律不予录入。
(2)计算实际成交价格,根据交易规则,即时成交,必须使用对手价格,因此套利的实际买卖开仓,平仓时的价格计算如下。
N:最新价差 N1:合约1最新价格 N2:合约2最新价格
Bdis:最新买入价差 S1:合约1最新卖1价格 B2:合约2 最新买1价格
Sdis:最新卖出价差 B1:合约1最新买1价格 S2:合约2最新卖1价格
(3)计算实际可成交量,除了价格上的对手滑点外,可供在此价格交易的数量也是必须要考虑的,在极端行情,如涨跌停板时,这时将会出现一方无法成交。实际上,即时可供套利交易的数量应该是两份套利期货合约的对手价格在该时刻提供的数量中较少。因此sellvol与buyvol的计算伪代码如下
注释:用来计算及时价差买卖量:
输入变量:
sellvol1合约1卖1数量,sellvol2合约2卖1数量,buyvol1合约1买1数量,buyvol2合约2买1数量,
输出变量:
接着,对数据进行切片,进行数据切片是为了明确移动窗口的窗口宽度根据当前数据窗口,对数据集中的两份合约的最新价(newprice1,newprice2) 进行时间序列建模分析,首先进行单位根检验。根据这个规律来建立均值回归的统计套利模型。
下一步,根据成功的数据窗口模型,计算后面的阀值指标。阀值指标(index)的计算公式如下:
最后,套利交易策略就可以根据阀值指标得出重要的开平仓条件。
对于买入价差方面:当时买入价差价格小于等于买入阀值指标
对于卖出价差方面:当时卖出价差价格大于等于卖出阀值指标
平仓的条件分为两个,一方面是止盈的平仓,另一方面是止损的平仓。
本文在资金管理方面,暂时使用了固定数量的方法,每次买入卖出的数量均为1手合约,根据上海期货交易所关于金属锌期货的保证金计算方法,文中设立初始时资金量为20000元。交易策略在生成过程中存在两个参数,第一个参数是数据窗口的宽度,第二个参数是标志着价差平稳的序列关系被打破的时间段。为了探究两个参数的取值对于交易策略的影响,在指定区间内固定间距的选择一些参数组成参数组,并进行回测。第一个参数的区间[10,40],间距是10,第二个参数的区间[20,40],间距是10,共计12组参数。结合不同的参数组可以知道,交易策略产生的收益是被参数组而影响还是被交易策略本身所影响。
下图是不同参数组回测的结果,包括资金曲线与交易分析报告。
图3 资金曲线图
对交易报告进行整体分析,可以得出,参数组期末资金的平均值是29002.7,其中最大值是29927,最小值是27256,参数组收益率的平均值是45.02%,其中最大值是49.60%,最小值是36.30%,参数组最大回撤率平均值是3.04%,其中最大值是4.80%,最小值是2.10%。参数组胜率的平均值是73.32%,其中最大值是77.64%,最小值是67.49。
根据回测分析,上海期货交易所的不同时间到期的锌金属合约,存在着波动关系。本文建立了统计套利交易策略,并利用2015年1月1日到2016年12月30日这段时间内交易数据进行了回测,证实其是有效的,在控制最大回测水平保持在的情况下,交易策略可以取得预期收益45.02%,年化收益率22.51%的结果。在进行回测分析时,本文优化了价格跳高与跳空的情况,优化了成交价格与最新价格的滑点,优化了涨跌停板在内的极端行情,优化了不同参数之间可能产生的因为过分优化参数而造成的虚伪交易策略盈利。