基于上海期货交易所沪银期货的量化交易策略分析、设计及优化
2019-09-10黄选州刘威陈思行
黄选州 刘威 陈思行
摘要:近年來,虽然我国期货交易市场的交易选择增多,并且交易限制也在放款,但是投资收益的波动性也越来越强。在这种情况下,需要对教育策略进行合理的分析。在文中就基于上海期货交易所沪银期货的量化交易策略分析、设计及优化进行探讨。
关键词:期货交易:交易策略:优化
目前,随着我国对外开放程度的加强以及监管政策的逐步放宽,我国很多的交易市场的交易选择不断增多的同时对交易的限制在逐步放宽,这在促进我国交易市场活跃程度上升的同时也造成投资收益的波动性逐步增强。而正是基于这样的背景之下,相较于传统的人工手动型交易,基于机器学习与策略编写的高频量化型交易的优势也逐步显现出来。本文将通过分析量化交易的规律,给出一套自己的量化交易策略并根据历史数据对这套交易策略进行回溯,观察策略效果,进行评价与修正。
一、阿尔法模型
阿尔法模型主要决定了一个交易时机与交易头寸选择的技巧,本文选择趋势跟随型交易策略为基础,设计本策略的阿尔法模型。本文决定设计三个协同指标作为本文模型的阿尔法模型。
指标一:定义高价移动趋势为后一日最高价减前一日最高价之差,低价移动趋势为后一日最低价减前一日最低价之差,那么我们进一步再定义净移动趋势为高价移动趋势加上低价移动趋势,那么净移动趋势就反映了相邻两天中,后一天价格区间相对前一天价格区问的移动水平。但是为了排除随机扰动造成的影响,本文将阈值设置为+0.7与-0.1(这两个数值是基于反复参数优化得到的最优角点)。
将数据期内每一天的净移动水平连接起来就组成了一条能反映这一时期内每一日价格移动趋势的线。
指标二:定义平移量为后一日的开盘价减前一日收盘价,由于每日的开盘价一般是由投资者集中竞价撮合形成的,那么它相对于前一日收盘价的偏离就可以反应投资者对于价格预期以及对市场前景的态度,所以这个平移量可以反映价格在市场投资者中的预期情况,为了剔除掉一些偶发情况造成的随机扰动,本文选取移动平均的形式进行反应,移动平均周期选取3天,最后利用经典的长短均线(长线滚动周期70日,短期滚动周期20日)的金叉与死叉MACD指标对此移动平均进行预测,倘若MACD(即短线均值减长线均值)在上升且MACDSignal(即9日移动均值)也在上升,则可以大概率说明此平移量在上升。
以上两个协同指标分别从最高最低价格与开收盘价的角度衡量了价格变动趋势,基于这两个信号,本文建立了python模型。
指标三:为了进一步预测价格走势,本文引入第三个指标(即波动方差),其定义为最高价波动方差为后一日最高价减前一日最高价之差取符号作为最高价变动信号,然后每15日的最高价变动信号的方差即为最高价波动方差,明显如果最高价波动方差很小,则说明这15日内相邻两天的最高价变化是同符号的,也就说明最高价的这个趋势在这15日内一直非常显著:相反若最高价波动方差很大,则说明这15日内相邻两天最高价变化的符号经常改变,也就说明这个期问最高价变动没有趋势或者趋势不明显。同理定义最低价波动趋势。最后,同样通过反复迭代的方式确定最优阈值为0.6。
在引入最高最低价格波动趋势以后,本文将三个指标同时协同使用,对于同样的回测期问与投资产品,重新进行回测。相较于双指标的情景,三指标的情景的年化收益率与夏普率有所下降(分别降低到了11.43%与1.38),三指标策略滤去了很多短期套利的机会,而选择具有长期持有潜力的试点入市,这就造成其在回溯期问的盈利能力有所下降。但是同时可以发现胜率提升到了72.41%,而且日均成交笔数从2.27笔降低到0.21笔。
结果务析:所以可以看出,双指标与三指标各自有各自的优势。
双指标策略的夏普率与年化收益率较高,能够带来更多的收益,但同时由于交易信号达成难度较低,造成交易非常频繁而且胜率不高,其高收益率来源于其高频率的交易,其盈利主要来源于短期套利,所以双指标策略比较适用于交易成本较低、投资者风险偏好较高或者市场短期内波动较为明显(即有着大量短期但规模较小的套利机会)的情景。
三指标策略的夏普率与年化收益率较低,但由于交易信号达成较难,所以交易频率很低,其收益主要来源于一旦发现套利机会并入场后长期持有该产品直到有明显信号显示出场时平仓所带来的长期持有收益,所以三指标策略主要适用于交易成本较高、投资者风险厌恶程度较高或者市场短期内波动不明显(即缺乏大量但规模较小的套利机会)的情景。
二、风险模型
本文选择价格波动超限止损模型作为本策略的风险模型,其本质就是倘若对于阿尔法模型给出做多信号但下一期实际价格下跌到买入价的(l-止损比例)时无论阿尔法模型是否给出平仓信号都由风险模型强制平仓,同样倘若对于阿尔法模型给出做空信号但下一期实际价格上涨到买入价的(1+止损比例)时无论阿尔法模型是否给出平仓信号都有风险模型强制平仓。
这个风险模型虽然本身并不能协助套利策略盈利,甚至有时会因为价格的随机扰动而造成无谓的平仓损失,但很多时候,尤其对于突发的股灾或者偶发的事件造成的价格反常波动,它能够保障一个套利策略的损失可控。
本文通过迭代优化最终选择0.02作为风险模型的止损比例。
结果分析:相较于没有风险模型的纯阿尔法模型套利策略,加入风险模型后套利策略的夏普率与年化收益率均明显下降,这是由于一些出于随机扰动造成的价格反预测的变动被风险模型错误识别为平仓信号造成无谓平仓,一方面造成了价格变动的损失,同时也造成了交易成本的损失。但是同时对比图像可以看出加入风险模型后的总资产图像更加平稳,波动幅度有所下降,这是由于很多细微的震荡被风险模型滤去了。
综上所述,可以看出风险模型一殷适用于市场波动明显、市场未来短期态势难以预测以及投资者强烈风险厌恶的情景之下,加入风险模型后会造成收益率与夏普率的下降,但作为回报,套利策略的损失上限得到更好的保障。
三、交易成本模型
交易成本在交易过程中是个非常重要的决定投资决策的影响因素,尤其是在量化高频交易策略当中,这主要是因为:高频交易就意味着必须在短时问内进行大量的交易以套利,这就会造成非常高昂的交易成本,而大多数情况下套利机会能提供的套利空问都不会很大,这就导致如果一次高频交易的套利空间甚至无法抵补交易成本,那么这个套利机会就是不值得捕捉的。
本文选择常数交易成本的方法管理交易成本,即在每次交易成本中默认交易价格为当前市场价格加上或减去交易成本后的值。对于滑价,做以下处理:如果是做多交易,则交易价格为目前价格加上预设的划价:如果是做空交易,则交易价格为目前价格减去预设的划价。
基于上海期货交易所目前的规定,本文假设划价为0.5元每单位,而交易成本为总成交额的5/10000。
四、执行模型
对于一个标准的量化交易套利策略而言,一般包含五个部分,分别是阿尔法模型、风险模型、交易成本模型、投资组合构建模型、执行模型。
目前本文已经完成了前三个部分的编写,关于投资组合构建模型,他一般是用于将选择出的多个有套利可能的投资产品进行头寸匹配来实现在保证期望收益率固定的情况下最小化收益的波动性的目的,而本文主要分析针对单一投资产品的套利策略,所以不涉及投资组合构建模型。
一个量化套利策略必须落实到执行模型当中,即通过执行模型将阿尔法模型、风险模型、交易成本模型与投资组合构建模型实体化为python可以识别理解、可以与期货交易所或股票交易所的交易平台相衔接的一个可用于实际交易的策略。
执行模型的核心就是设置当交易信号发生时应该如何进行交易。
本文选取相对保守的少进多出型执行模型。在这个执行模型下,当出现价格上涨信号时,倘若目前是多头则进一步买多,若此时是空头则平仓但不反向买多,若同时持有多空头则平掉空头但不进一步买多:同样出现价格下跌的信号时,倘若目前是空头则进一步卖空,若此时为多头则平仓但不卖空,若同时持有多空头则平掉多头但不进一步卖空。
五、量化交易策略的后期修正
在構建并代码化策略后,量化交易者还需要基于最新的市场情况在后期不断修正策略代码或调整参数,这是由于对于任何策略而言,其适用的市场情况是不同的,比如说如第二部分讨论的,双指标策略比较适合于价格剧烈波动而没有明显趋势的情况,通过观察价格走势图可以发现2018年l1月30日至2019年1月15日期问非常符合这个特点(这个时段正好是价格趋势发生反转的时期,所以价格波动比较明显且无显著变化趋势),所以本文特别的将回溯时问设置为这个期问重新进行了回溯。
这个时间段内双指标策略的表现非常理想,其夏普率达到了6.95,年化收益率达到了24.7%,这远比将这个策略应用于2018年2月1日至2019年3月20日这整个区间所得到的结果好。
而量化交易者对策略的后期修正就是不断基于对目前基本面的分析,大体预测出未来一段时问内市场的大体情况,并基于此选择出最佳的套利策略或者调整参数至最优水平。
参考文献:
[1]王颜溶,董莹莹,冯小珊.基于高频交易数据的波动率及量化交易研究【J].现代商业,2019(09):85-88.
[2]李雁,刘金山,杨镇纲等.商品期货量化交易策略【J].中国商论,2019(01):54-57.
[3l[美]里什-纳兰.打开量化投资的黑箱,第二版【M].北京:机械工业出版社,2019.
[4]李易桐.基于MACD指标的沪金期货量化交易模型的参数优化研究『D].南宇:广西大学,2018.
【5]刘峰,蔡志杰,乐斌.基于市场资金流向分析的商品期货量化交易策略[J].数学建模及其应用,2017,6(03):35-41.