分享

基于日内波动极值的股指期货趋势跟随系统

 鹰击天空同 2017-08-02

一、日内波动极值策略思想


对于趋势交易者而言,市场的大幅波动是其收益和亏损的源动力,无论何时何地,投机人都对市场的大幅波动表现出浓厚的兴趣,无论这种波动是向上的还是向下的,因为投机人只有溶于波动的市场中才有机会博取高额收益,平静无奇的市场只能是一潭死水。没有波动市场,交易量将持续下降,投机人交易兴趣将逐步丧失,这种局面是任何人都不想见到的。


可以想象的是,如果市场波动很小,更极端一点,在一条近乎直线走势的市场中,无论何种策略、无论采用何种模型,都是无法赚钱的,神仙亦乏术。


收益源自波动,而波动往往分散在少数不同的时间点,市场大的波段走势依靠少数交易日完成,在剩余的交易日中,市场往往表现出横盘震荡的特征,观沪深300指数自2005年以来的涨跌波动不难发现这一特点。


从图2可以看出,自2005-01-04至2011-10-31共计1657个交易日中,沪深300指数涨幅超过5%的交易日数总共仅有17个,占比1.03%,跌幅超过-5%的交易日数总共有28个,占比1.69%。综上所述,策略收益来源于波动,而波动发生在非常少数的交易日中,正确的时点做正确事情才是亘古不变的真理。



图1 沪深300指数走势与波动特征



图2 沪深300指数波动分布


(二)抓取波动:日内极值策略


既然策略收益源自市场波动,那么如何抓住波动博取收益呢?我们的回答是利用基于日内波动极值的趋势跟随策略来跟随波动。根据我们长期看盘的经验和体会,随着市场的单边趋势运行,价格波动极值会逐步被突破,而这种突破又是上下两个方向均可的,如果价格向上突破极值点,那么我们认为随后的价格波动继续向上的可能是偏大的,同理如果价格向下突破极值点,那么我们认为随后的价格波动继续向下的可能会偏大,从而形成趋势跟随策略。


那么,如何来定义和计算价格波动极值呢?我认为可以基于日内的价格运行计算,具体来讲,日内某个时点的极值就是自当日开盘以来截止至当前时点,市场创出的最高值或者最低值,前者称为日内极高值,后者称为日内极低值。


我们来看几个实际的走势图,图3是沪深300指数期货当月合约在2010年4月19日的5分钟走势图,我们发现随着价格的不断下跌,日内极值低(图中红色线)被不断突破,卖空信号不断出现(图中标记蓝色向下箭头的位置)



图3 沪深300指数期货当月合约2010年04月19日5分钟走势


图4是当月合约在2011年10月11日的5分钟走势图,当日市场大幅高开近3%,随后一路下行,不断创出日内新低,日内极低值(图中红色线)不断被向下突破,卖空信号不断发出(图中标记蓝色向下箭头的位置)。



图4 沪深300指数期货当月合约2011年10月11日5分钟走势


图5是当月合约在2010年9月30日至2010年10月8日两个交易日的5分钟走势图,两个交易日市场都是单边上行,大幅拉升,我们注意到日内极高值(图中黑色线)不断被向上突破,买入信号不断发出(图中标记红色向上箭头的位置)。



图5 沪深300指数期货当月合约2010.9.30、2010.10.8之5分钟走势


图6是最近刚刚发生的案例,是股指期货当月合约在2011年11月2日的5分钟走势图,当日市场受希腊公投事件的影响大幅低开,不少投资者多翻空,但是市场仅仅做了一个低开动作,午后开始拉升,全天收于最高点,我们注意到日内极高值(图中黑色线)不断被向上突破,买入信号不断发出(图中标记红色向上箭头的位置)。



图6 沪深300指数期货当月合约2011年11月02日5分钟走势


从以上四个案例不难发现,日内波动极值策略确实能够抓住市场的大幅波动,随着波动的开始和延续,日内波动极值被不断向上突破或者向下突破,买入信号或者卖空信号不断发出,此时进场跟随市场波动是上上策,也就是在正确的时点做出了正确的事情。


二、日内波动极值策略模型


(一)模型的数学定义与信号触发

记c1、c2、c3、....cn为股指期货日内某一频率下 K线的收盘价序列, h1、h2、h3...hn为股指期货日内某一频率下K 线的最高价序列,l1、l2、l3...ln为股指期货日内某一频率下 K线的最低价序列, sL 为日内波动极值偏移周期数,定义:



其中,vHi、vLi为第i根K线处的日内波动极高值和日内波动极低值。

由于我们的买卖信号都是价格向上或向下穿越日内波动极值而触发的,当i 值太小的时候,vHi、vLi缺乏稳定性,且某种程度上丧失了价格波动极值的本质,因此我们截去i 小于某一个阀值的信号计算,从直观意义上理解,即为在日内交易中开盘后某一段时间内不触发信号,当开盘交易数据量达到一定程度后开始进行日内极值波动趋势跟随策略。


记cL 为截断阀值,则买卖信号按如下规则触发:

上述模型触发之信号会连续同号,比如连续触发买入信号或者连续触发卖出信号,我们对首个信号采取开仓操作,然后依据我们的头寸跟踪策略跟踪头寸,直到平仓离场为止,平仓之后再根据最新的买卖信号进行相应方向的开仓操作。


下面我们来讨论模型参数,上述日内波动极值策略具有两个参数:一是信号截断阀值cL ;二是sL 为计算日内波动极值点的数据量偏移参数,我们分别来讨论:


(1)信号截断参数cL 如前文所述,我们截掉股指期货交易日开盘后若干个数据不进行信号的触发计算,因为在此时间区间内,波动极值由于数据量不够而缺乏稳定性,因此需要放弃这段时间内的信号,我们在此设置参数值为15,如果我们选择5分钟频率来进行趋势跟随,那么截掉15 个数据意味着开盘后前75 分钟内我们不交易。


(2)偏移参数sL ,该参数用于计算日内波动极值,按照一般的逻辑思维,截止到当前时点的日内波动极值应该是自开盘以来至当前时刻为止的市场极值点,但是在此定义下的买卖信号将很难发出,因为这意味着要求当前时刻收盘价大于等于(触发买入信号)或者小于等于该极值(触发卖出信号),满足这样的条件是非常困难的,也是非常不必要的,为此我们对该极值进行若干周期的偏移,相当于将上述极值向右偏移sL 个位置,在此我们将该参数设置为2。


(二)日内波动极值策略历史信号

我们利用金字塔软件开发了上述日内波动极值策略的信号指标,如图7所示,图中绿色向下箭头指示卖出信号,红色向上箭头指示买入信号。同时我们给出了最近两次市场大幅波动时模型信号情况,分别是2011年10月11日(如图8)、2011年11月02日(如图9)。



图7 沪深300指数期货当月合约历史5分钟走势及模型信号



图8 沪深300指数期货当月合约2011年10月11日5分钟走势及模型信号



图9 沪深300指数期货当月合约2011年11月02日5分钟走势及模型信号


三、日内波动极值策略实证分析


上述模型仅仅回答了何时开仓的问题,至于开仓之后如何跟踪头寸并平仓离场未有作答,在进行实证分析之前,我们首先回答这个问题。


(一)头寸跟踪策略

这里主要是借鉴了抛物线系统(SAR)的原理,给定初始离场价之后由SAR迭代公式动态更新,直至平仓离场,此头寸跟踪策略是我们认为目前为止最佳的投机头寸跟踪方法,可以广而用之,因此我们在本策略中仍然采用该方法。


此处我们仅对该头寸跟踪策略进行结论性介绍,头寸跟踪策略分为两个部分,一是初始止损位的设定;二是离场价的动态计算跟踪。


(1)初始离场价:设定为信号发生点所在周期的最高价(空头信号)或最低价(多头信号),如此严格离场价设定可以很好的控制策略回撤问题,若单次止损幅度非常大的话,连续若干次失败的信号将导致策略回撤非常大。


(2)离场价位的动态计算:

记hi,li为i时刻的最高价、最低价,i=1,2,3,...n,j0为开仓时点,给定k时刻的离场价vC ,则




其中AF为加速因子,加速因子初始值为0,每当市场创出自开仓以来新高或者新低一次,加速因子增加0.01,且加速因子最大值为0.1。


(二)实证分析

(1)数据选取

本文选取沪深300指数期货当月合约5分钟高频数据为策略实证分析数据,时间段为2010年4月16日至2011年12月09日。


(2)策略评价方法

策略评价指标我们选取如表1,这里需要说明的是,经验来看,趋势投机策略在严格止损的机制下胜率一般很难超过40%,但赔率一般要大于3,这意味着一次操作,它的潜在盈利与潜在亏损的倍数值要超过3,赔率低于3的策略不尽如人意。


表1 交易策略评价体系



(3)模拟交易情景

记F1为开仓成交价, F2为平仓成交价,c为单边手续费率,I为单边冲击成本,M为杠杆倍数,则单次交易收益率为:




此处模拟交易相关设定为:

手续 费:万分之一;

冲击成本:0.4 个指数点;

杠杆倍数:1;


开仓价格: OpenPrice1,信号发生后第1 根K 线开盘价;

          OpenPrice2, 信号发生后第1 根K 线的(成交金额÷成交手数÷300);  

         OpenPrice3,信号发生后第1 根K 线的(最高价+最低价+开盘价+收盘价)÷4;


平仓价格: ClosePrice1, 离场价被触及时的离场价;

         ClosePrice2, 离场价被触及后第1 根K 线的开盘价;

         ClosePrice3, 离场价被触及后第1 根K 线的(成交金额÷成交手数÷300);

         ClosePrice4, 离场价被触及后第1 根K 线(最高价+最低价+开盘价+收盘价)÷4;


根据上述开仓、平仓成交价假设设计如下几种不同组合的模拟交易情景,如表2。


表2 开平仓成交价假设情景



(4)实证结果

在给定了偏移参数sL 为2,信号截断参数cL 为15的假设下,进行模拟交易,模拟交易情景为A,实证结果如下表3,在总共403个交易日中,总共完成了488个完整交易,其中获胜次数(收益率大于0)为140次,胜率为28.69%,单次获胜平均收益率为1.13%,单次失败平均亏损率为-0.33%,赔率为3.44,期末累计收益率为52.07%。


持仓周期方面,从图14来看,持仓周期在0.1天(27分钟)以内的交易次数为231次,占比为43.5%,持仓周期在0.5天(135分钟)以内的交易次数为457次,占比为86%,持仓周期超过1天的交易次数有7次,占比为1.3%。


表3 日内波动极值之趋势跟随策略情景A交易结果




图10 日内波动极值之趋势跟随策略情景A交易资金曲线



图11 日内波动极值之趋势跟随策略情景A交易资金曲线



图12 日内波动极值之趋势跟随策略情景A最大回撤曲线



图13 日内波动极值之趋势跟随策略情景A连胜次数与连败次数



图14 日内波动极值之趋势跟随策略情景A交易持仓天数分布


(4)不同模拟交易情景下的交易结果

上述的模拟交易结果是在情景A的环境下完成的,对交易通道、交易速度等要求较高,市场容量有限,因此我们进一步讨论在更为宽松的环境下的交易结果:


表4 日内波动极值之趋势跟随策略不同情景下的交易结果对比




图15 日内波动极值之趋势跟随策略不同情景下的交易结果对比


(5)策略收益参数稳定性

日内波动极值策略有两个参数,分别是信号截断参数cL 、偏移参数sL ,上述实证分析参数分别设置为15、2,下面改变参数来观察期末收益率的变化,从下图来看,偏移参数在2至6之间时,策略收益率最高,且收益率随着截断阀值的提升有很大的提高,策略实证分析之默认参数并非最优参数。



图16 日内波动极值之趋势跟随策略参数稳定性


原创声明:本文系宽客公众号作者原创,转载请注明出处。



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多