原标题:股指期货跨期套利交易策略构建要素分析
来源:期货日报
作者:魏先华、乔飞
应高度关注系统性风险及交易所发布的相关规则
近年来,股指期货的交易向专业化和程序化快速转变,这给投资者提出了更高的要求。投资者要想在交易中持续盈利,既要不断升级交易环境,争取优势,还要升级交易策略,以适应由各种因素带来的市场变化。本文作者基于多年操盘经验积累和相关文献研究,通过搭建基础的数学模型,构建交易策略,并选取了合理的运行环境和基础的交易数据,验证策略的有效性进而得出以下结论:MA模型在获得套利价差时间序列的均价后用于套利策略是有效的,马科维茨的投资组合理论将相关性不强的正向预期策略加入投资组合中可以获得更好收益。
[1][MA模型]
MA模型即移动平均模型。移动平均法是用一组时间序列的数据值来预测未来一期或几期内的数据、数值的一种方法,较常用于近期数据的预测,在消除这组数据值的随机波动中非常有用。其是一种简单平滑预测技术,根据时间序列的数据值,逐项推移,依次计算包含一定数量连续数值的平均值,计算出的平均值的变化可以预测下一个或几个数据值,通常用于连续预测下一个数据值,连续的数值也可以反映数据的趋势。移动平均法根据计算时使用的数据的权重不同,可以细分为加权移动平均和简单移动平均。
简单移动平均法
简单移动平均各元素的权重都相等,计算公式如下:
,其中Ft表示对下一期的预测值,n表示移动平均的时期个数,At-1表示前期实际值,At-2、At-3和At-n分别表示前两期、前三期直至前n期的实际值。
加权移动平均法
加权移动平均给固定跨越期限内的每个变量值以不同的权重,原理是:历史各期产品需求的数据信息对预测未来期内的需求量的作用是不一样的。除了以n为周期的周期性变化外,远离目标期的变量值的影响力相对较低,故应给予较低的权重。加权移动平均法的计算公式如下:
,其中W1表示第t-1期实际销售额的权重,W2表示第t-2期实际销售额的权重,Wn表示第t-n期实际销售额的权重,n表示预测的时期数;W1+W2+……+Wn=1。
在使用加权移动平均的方法时,权重的选择比较重要,可以对历史数据进行回测,出连续几个数据移动平均的最优加权比重,也可以使用经验法和试算法选择权重。一般来说,数据序列中最近期的数据和要预测的下一个数据是最接近的,因此权重要大一些,其他远离下一个数据的权重依次减弱。但是这种方法也有问题,当某一个数据值突然偏移均衡价格,下一个数据又重新返回,这时候最近数据权重过大的预测效果在该段时间内就会不好。
使用这两种移动平均法能够有效预测时间序列的近期数值,也能平滑时间序列短期突然波动的影响。移动平均在使用中也存在一些问题,移动平均的期数如果加大会使平滑的效果更好,但是对于近期数据值的变动又会变得不敏感;如果缩小移动平均的期数,会提高对近期数据值的敏感程度,但是又会使整个移动平均值的趋势性减弱。所以期数的选择在预测效果中非常重要,常用的做法是对已有的历史数据进行回测,最优的历史期数。另外,移动平均由于是平均值,需要记录大量的数据,平均值一般会停留在过去的历史水平上,如果有一些确定的因素会在下个周期明显提高或降低数值,这种情况下会失效。
从由以上公式和对MA模型优劣的分析可以看出,MA模型在获得均衡价格的实际操作中是有效的,并且两种移动平均方法的效果相差不大。根据多年实盘经验,笔者发现,在实盘操作中,相比较于复杂的滤波模型和时间序列模型,往往简单的就是最有效的。结合以上分析的结论选择使用简单移动平均,由理论公式可推出采用的计算方式为连续对(开盘价+收盘价)/2的价格进行n个周期的求和,再用求和的结果除以周期数,得到下个周期的均衡价格。
[2][数据来源]
数据是做量化分析的基础,数据来源的可靠性是进行后期研究的基石。本文的数据来源有两种方式:第一种方式是用python软件的爬虫工具从网站上爬取的数据信息,这种原始的Excel文件形式的数据主要用来做基础的数据分析;第二种方式是第三方软件获取的数据,主要用来做数据分析、交易报告等。两种数据的来源都相对比较权威,在对比过程中也没有发现和交易所原始数据有出入的地方,进一步验证了本次数据来源的可靠性。
交易所行情数据的发布是通过下属的信息公司,中国金融期货交易所(下称中金所)的子公司为上海金融期货信息技术有限公司,行情发布时间间隔0.5秒,也就是说每秒钟会发布两个行情快照。每张快照包括的信息有:最新价、上次结算价、昨日收盘价、昨日持仓量、今开盘、最高价、最低价、成交数量、成交金额、持仓量、涨停价、跌停价等,这些信息是包含了0.5秒内交易所撮合机发生的所有成交的统计,这种行情发布机制没有对每笔的撮合进行展开。由此制度可以看出由行情驱动的高频交易的报单一般要间隔0.5秒以上,并且最基础的数据也就是这种间隔0.5秒的tick数据。
我们通常看到的K线数据就是根据这种tick数据进行处理合成的,如果选用K线数据,当k线的时间内发生的交易过多,在合成价差之后再进行交易就可能会出现失真的情况,本文选用的就是这种tick数据,后期所用的日线和15分钟级别数据也都是由这些每笔的tick数据组成。虽然数据量大、计算量大,但是相较于一般的分钟级别或小时级别K线数据更加真实有效。同时由于交易所发布机制所限,无论采取哪种措施都无法对每笔交易进行模拟回测,和实盘交易仍然会有出入,目前这种数据已经是最大限度地接近真实。
数据选取最近5年即2016年1月4日至2020年12月30日的原始tick数据,跨期数据处理方法是:将同一品种不同月份的合约按照时间对应起来,买近月合约,卖远月合约形成新的价差tick数据,再利用第三方软件自动对价差tick数据进行处理,计算出不同周期的K线数据,即K线数据包含的最高价、最低价、开盘价、收盘价等。在这里,虽然大周期的数据变少了,但是每一根K线所包含的基础数据仍然存在于K线中,当进行回测计算的时候就可以在K线内具体的某个tick上进行准确定位并进行信号计算。
合约指数的选取和计算方面,单独的月份合约很难满足回测的要求,因为一般的回测周期都比较长,主力合约会不断发生改变,在长周期内对唯一的月份合约进行时就会出现大量时间内持仓量和成交量过少的情况,而在实际的实盘中一般是在主力和次主力中进行交易,这就会造成数据失真。本文根据逻辑特点,对应采用了其中的指数合约和连续合约,其中当月连续和次月连续两个合约的换月都是发生在夜盘,针对不持仓过夜的交易逻辑特别适合。
如果交易逻辑包含持仓过夜,只能使用指数合约即股指期货的加权合约,它是按照沪深300的4个合约的不同持仓量进行加权平均得出的指数,实际的实盘交易中会在指数上进行计算,映射在主力合约上进行交易。当主力合约发生变更时,所交易的合约会在主力合约变更后的第二天进行换月操作(平掉之前的主力合约,换成新的主力合约的持仓)。由此可以看出,采用加权合约可以避免主力换月等因素带来的数据失真的情况。
跨期套利要求两个合约之间有较强的正相关关系,并且要有足够的持仓量和成交量来保证交易,特别是盘口的买一价和卖一价之间不能间隔太多,否则交易滑点会非常大。中金所上市的3个股指期货品种分别是沪深300股指期货、上证50股指期货和中证500股指期货。其中沪深300股指期货上市最早、最具代表性,成交量和持仓量也相对较大。从中金所发布的期货交易规则可以看出,沪深300股指期货同时有4个合约可以交易,包括当月、下月及随后两个季月。一般来说当月合约是主力合约,随着到期日的临近慢慢向下月转移,当月连续和次月连续的成交量和持仓量都比较大。采用当月连续和次月连续符合要求,同时要对数据进行相关性检验,来进一步验证数据是否符合要求。
[3][数据检验]
拿到权威部门发布的合适数据之后首先要对数据进行清洗,看是否有传输问题和其他问题造成的数据不准确和小部分数据大幅度失真的情况,在确保数据真实准确的前提下,对数据进行检验,目的是要寻找出适合于进行配对的相关合约,并尝试发现规律。
图为相关性分析
通过相关检验的数值可以看出股指期货3个合约的不同指数合约和连续合约之间都高度正相关,呈现出这样几个特点:第一,同一个品种之间的不同合约相关性比不同品种之间相关性更大;第二,相近月份合约比相隔月份较远合约之间更大;第三,IC合约和其他两个合约之间的相关性比其他两个合约之间相关性低。由此可以看出IF当月合约和IF下月合约相关性非常高,比较适合做跨期套利组合,但是,由于验证周期较短、数据量少,需要对长周期两个合约的相关性进一步检验。
本文选用IF当月合约和IH当月合约的tick数据的当前价,并对每月换月进行数据处理,组成IF当月连续和IF当月连续的合约,采用2018年1月初到2020年12月底的时间周期,运用Excel对这组庞大的数据进行相关性检验得出结果为0.8879。由相关系数可以看出IF当月和IF下月作为构建价差的组合是非常合适的。
由相关性检验结果,我们确定了本文研究的重点合约即IF当月和IF下月。这两个合约的正相关性是最高的,即从相关性出发是最符合做回归套利的,同时由原始数据可以发现这两个合约的持仓量也是比较高的,流动性强,盘口的单子数量也比较大,比较符合预期的套利品种的选择。另外,如果从单纯的获得收益的角度来看,其他几种合约配对的套利收益不一定差,也有可能出现配对交易结果表现更好的情况。
[4][马科维茨投资组合理论]
马科维茨投资组合理论的基本假设有三个:一是假设投资者都是理性的,都追求期望效用最大化,是风险规避的;二是投资者根据收益率的方差和期望值来选择投资组合;三是所有投资者处于同一单期投资期。马科维茨提出了以期望收益及其方差确定有效投资组合。其中以期望收益E来表示单个策略收益,以收益的方差表示投资风险。资产组合的总收益用各个资产预期收益的加权平均值表示,组合资产的风险用收益的方差和标准差表示。
马科维茨模型是以资产权重为变量的二次规划问题,采用微分中的拉格朗日方法求解,在限制条件下,得出组合风险(rp)最小时的最优投资比例Wj、Wi等。从经济学的角度分析,就是说投资者预先确定一个期望收益率,然后通过公式确定投资组合中每种资产的权重,使其总体投资风险最小,所以在不同的期望收益水平下,得到相应的使方差最小的资产组合解,这些解构成了最小方差组合,也就是我们通常所说的有效组合。有效组合的收益率期望和相应的最小方差之间所形成的曲线就是有效投资组合的前沿。投资者根据收益目标和风险偏好,在有效组合前沿上选择最优的投资组合方案。
根据马科维茨模型,构建投资组合的合理目标是在给定的风险水平下,形成具有最高收益率的投资组合,即有效投资组合。此外,马科维茨模型为实现最有效目标投资组合的构建提供了最优化的过程,这种最优化的过程被广泛地应用于各种投资组合的管理中。
[5][价差序列的构建]
两个标的资产的价差的构建一般通过β数值确定对应的数量,即一份资产y对应份资产x进行交易。价差序列可以定义为:
,为了使均值回复的过程更加清晰,也可以将均值设为0点,即将价差序列去均值化,由此得到的中心化价差序列为:
。
去均值化的价差序列相当于原价差序列平移相应个单位,对于价差的走势和形态并无影响。也可以保留均值,使价差处在以均值为中心的序列中。
本文的两组价差是沪深300股指期货当月合约和下月合约,在长达5年的历史行情中可以发现两个合约的价格相差很少,价差自然长期处于以0附近为中心的序列中,这种自然的稳定序列为价差的构建提供了良好的基础。
在构建价差时,tick数据可以有两种价格用来处理:一是采用买一价和卖一价,用两个合约的买一价和卖一价相减得出最多4个数值。由于大部分时间合约盘口的买一价和卖一价都是相差一个最小变动价位,所以价差大部分时间都是3个数值。如果采用次主力挂单、主力合约对价成交的方式,交易中会出现一个滑点也就是会在3个价格的中间价格成交,而这个中间价格和采用两个合约最新价相减几乎是一致的,在本文的中采用的是试用最新价的方式,每个合约各一个滑点,一个套利组合是两个滑点,远远大于理论上的一个滑点。
二是当前价,就是tick数据给出的最新成交价格,用下月合约的价格减去当月合约的价格就可以得出价差但是这个价格不是可以立刻成交的价格,股指期货的成交机制是撮合制,盘口天然的有买一价和卖一价,当前价有可能是买一价也有可能是卖一价。若当前价是买一价的时候,我们用当前价买入,需要进行排队等待成交,这时候就无法保证成交。
在实际的交易中也有四种处理方式:
第一种是两条腿排队等待,其中一条腿成交之后,另一条腿再对手价成交,也可以让次主力排队等待,成交之后主力合约立刻对价成交。这是最常见的一种套利合约的成交方式。
第二种是采用两条腿立刻对价成交,不考虑滑点的方式。这种方式可以避免瘸腿(一个合约成交,另一个合约没有成交,变成了单边合约),但是也存在滑点较大的弊端,如果交易频繁,这种滑点所造成的金额折损也是惊人的。
第三种是两条腿都排队成交。实盘中很少采取两条腿都排队等待直到成交的情况,因为当行情出现趋势走势的时候很容易出现瘸腿的情况。
第四种是交易标准套利合约,标准套利合约是由交易所发布行情,并负责撮合两条腿的交易合约,确保套利合约在成交时直接是两条腿,不会出现瘸腿的现象并有专门的交易编号。中金所目前还没有发布股指期货的标准套利合约。综合上述情况,本文采用两个合约的最新价,让两个合约的最新价相减得到最新的价差合约,并计算两个最小变动价位的滑点。
[6][交易规则的确立]
具有高度相关性的两个金融资产标的的价格走势几乎是一致的,但是受市场交易规则、恐慌情绪、交易机制等因素的影响,会出现价差走势偏差,有的资产价格被高估,有的资产价格被低估。跨期套利利用这种长期均衡的相关性关系,价差过高或过低时采取套利操作。完整的套利交易策略要包括开仓条件、平仓条件、止盈条件、止损条件,并由计算机计算信号完成下单。
当价差偏离之后采用“多弱空强”的原则,在高位做空被高估的合约,做多被低估的合约,当价格回到均衡价格或者低于均衡价格的时候,将之前的仓位平仓完成套利。在实际操作中,可以采用直接交易价差的模式,目前市场中交易软件都可以完成价差的组合并完成交易,这样更有利于操作,把价差作为一种单独的合约。当价差过高时,做空价差,当价差回到均衡价格或者低于均衡价格时平掉仓位。
这种价格偏离之后可以采用的方式很多,一般会采用计算价差的均衡价格,再加上价差波动的波动率来制定交易策略。选取波动率的倍数是非常重要的,如果选择的波动率过大,偏离小的时候就不会触发交易信号,会失去很多合适的套利机会;如果选择的波动率的倍数过小,会频繁发出交易信号,再加上手续费和滑点等交易费用和一些止损的亏损,可能整体上也会出现亏损。
理想状态下价差会恢复到均衡价格附近,但是也有可能出现短时间价格偏离过多,或者均衡价格已经发生偏移的情况,这种情况如果不处理,有可能会进一步扩大当笔的亏损,而且套利仓位一般会比较重,两条腿合约极端的偏离理论上可以造成单腿期货两倍的亏损,所以一定要设置止损程序,在实际的操作中止损程序还要设置连续追价止损以应对止损不掉的风险。这种止损条件的设置会出现一些止损掉之后价格很快恢复的情况,这种情况属于正常现象,止损的要求一般是宁愿止损错,也要保证每次的亏损限定在一定的范围内,这样可以以较小的代价避免较大的损失。
设去均值后的价差为,该序列的均值为0,标准差为,开仓阈值、平仓阈值、止损阈值分别为p1、p2、p3,则上述交易规则可总结如下:
一是开仓。当
时,价差偏离理性价差范围,此时开仓,按比例买入被低估的资产,卖出被高估的资产。
二是平仓。当
时,价差实现均值回复,此时将之前持有的头寸平仓。
三是止损。当
时,价差偏离程度较大,为了提防其越来越远离均值,需要及时平仓止损。
根据以上模型和理论可以构建两个交易策略逻辑。
策略一
沪深300股指期货下月合约最新价格减去沪深300股指期货当月合约最新价格构建价差,对价差求连续5根15分钟K线收盘价的移动平均价标记为MA5,对连续26根15分钟K线的波动率(求最高价减去最低价,一个周期前的收盘价减去最高价的绝对值,一个周期前的收盘价减去最低价的绝对值,这3个值中的最大值)求平均数标记为ATR。当价差小于MA5-N×ATR,对手价买入价差,当价差大于MA5+N×ATR,对手价卖出价差,当套利合约为多头时,价格大于买入价+N倍ATR止盈,价格小于买入价-N倍ATR时止损。当套利合约为空头时,价格大于卖出价+N倍ATR时止损,价格小于卖出价-N倍ATR时止赢。当日14点59分平掉所有套利仓位并且不再开仓(也可以直接用当日收盘价平仓)。
此处N的取值和连续15分钟K线的根数没有进行优化,只采取一般的取值,如果这些一般取值的参数有效,在实际的操作中可以对参数进行优化,特别是止盈止损的比例,进行合理的优化,一般采取的方式要设定止损的比例小于止盈的比例,在不优化的情况下通常会采用止盈是止损三倍的方式,即止盈的比例取3XN。上面这种几个参数采用相同固定数值的方式如果能通过,更能说明策略的普适性。放到实盘策略中的生命力更强,也会有更大的进一步优化空间。
策略二
沪深300股指期货主力合约,每天收盘前买入,第二天开盘卖出。
这个交易策略逻辑的提出是根据实盘经验来的,笔者在实际的交易中发现股指期货出现很多跳空高开的情况,而且很多跳空高开之后又在盘中回落一部分甚至出现价格又恢复到昨天收盘价,并且这种直观的现在频繁出现。这可能是因为有些情况下外部环境主导了股指期货的上涨,盘中市场的意愿主导了股指期货的下跌,也就是股指期货的上涨幅度可以在跳空高开中完成。另外一个支持这种策略的理论是股指期货和对应的上证指数在长周期内是向上的,因素可能是多重的。
套利策略和趋势策略的结果相关性很低,是完全不同逻辑的交易策略,再加上交易的标的也有很大区别,所以两种资产的协方差就比较理想。结合这些假设的因素,以马科维茨的投资组合理论为基础,将这种多头趋势追踪的策略作为套利策略的辅助策略进行组合。尝试做成良好的趋势追踪类型的正向预期的收益曲线,并加入到整个投资组合中尝试形成更好表现的资金曲线。(作者单位:中国科学院大学)
本文链接地址是https://www.qihuo88.net/qhzx/1039.html,转载请注明来源