抛物线转向在商品期货择时策略中的应用(附源码)

Discussion in 'Philosophy and Strategy' started by JackSplor, May 5, 2018.

  1. NO.1 【QUANT.LA 量化干货聚集地】

    前言
    一名合格的交易者,不会因为自己的经验,而有所偏见,而是尊重事实,并做出理性客观的决策。 但大部分投资者总是在潜意识中存在这样那样的偏见,而这些偏见就是交易路上的绊脚石。


    很多人都有这样的偏见:「都已经连续跌了这么长时间了,并且跌到前期低点,肯定是底部了,正是抄底的时候」。据此轻易的作出判断,下更大赌注,这种做法,华尔街戏称「徒手接天上掉下来的刀子」。价格之所以下跌,背后肯定有不为所知的原因,价格总是走它自己的路,更不会听任你的偏见。


    所以,在交易中,判断归判断,但始终要尊重事实。牢记风控第一判断第二。一旦市场走势与自己的判断不符,承认错误,不断的修正自己,作出客观理性的决策,才是交易正途。




    NO.2 【QUANT.LA 量化干货聚集地】

    概述
    回到正题,本篇将为大家带来:基于抛物线转向的交易策略。


    抛物线转向(SAR)是一个计算非常复杂的分析工具,由美国威尔斯·威尔德发明。「抛物线」这个名字只是一个描述,实际上在指标中并不涉及抛物线的数学计算,它只是在图表上的形状跟抛物线比较相像。


    有意思的是,当你在图标上手动绘制趋势线时,它们通常与抛物线转向指标的点对齐。


    蓝色虚线——抛物线转向(SAR)

    [​IMG]

    数据来源:宽客在线(www.quant.la)


    抛物线转向最大的特点是:内置加速因子,将趋势方向与趋势强度相结合。在算法中,不仅利用价位变动的动能,还利用了时间变动性质来调整价位上设定的止损点。其中,递减或递增与实际价格之升跌幅度及时间长短有密切关系,可以很好的适应不同形态价格的波动。




    NO.3 【QUANT.LA 量化干货聚集地】

    原理及算法
    抛物线转向原理

    简单概括为:首先需要确定极值点(最高价或最低价 EP)。然后在它的基础上加上从 0.02 起步的加速因子(AF),然后每当触及下一个极值点时,再加 0.02。AF的最高为 0.20。然后用极点价与前一时段 SAR 之间的差值乘以加速因子,然后再加上前一时段的 SAR。


    涨势中的算法

    第一步:假设时间段是t。SAR(t)等于前面N个时间段的最低价格。Af(t)的初始值为0.02。

    • 如果SAR(t)大于t时间段的最低价L(t),则发生跳转,在下一个时间段时进入跌势;

    • 如果SAR(t)不大于t时间段的最低价L(t),在下一个时间段时进入涨势;

    • 极值Ep(t)等于最近N个时间段的最高价格;

    第二步:时间段是t+1,即:


    SAR(t+1)=SAR(t)+Af(t)*(Ep(t) – SAR(t))


    • 如果SAR(t+1)大于t+1时间段的最低价L(t+1),则发生跳转,在下一个时间段时进入跌势;

    • 如果SAR(t+1)不大于t+1时间段的最低价L(t+1),进入涨势下一步;并且,极值Ep(t+1)等于最近N个时间段的最高价格;

    • 如果该时间段的最高价,即H(t+1)比前面N个时间段的最高价高,则AF(t+1)=AF(t)+0.02,否则,AF(t+1)=AF(t)。

    第三步:在后面的时间段t+2,t+3,……,上重复涨势第二步中的算法,直到发生跳转为止。另外,AF的最大值是0.2。


    跌势中的算法

    第一步:假设时间段是t。SAR(t)等于前面N个时间段的最高价格。Af(t)的初始值为0.02。

    • 如果SAR(t)小于t时间段的最高价H(t),则发生跳转,在下一个时间段时进入涨势;

    • 如果SAR(t)不小于t时间段的最高价H(t),在下一个时间段时进入跌势;

    • 极值Ep(t)等于最近N个时间段的最低价格;

    第二步:时间段是t+1,即:


    SAR(t+1)=SAR(t)+Af(t)*(Ep(t) – SAR(t))


    • 如果SAR(t+1)小于t+1时间段的最高价H(t+1),则发生跳转,在下一个时间段时进入涨势;

    • 如果SAR(t+1)不小于t+1时间段的最高价L(t+1),进入跌势下一步;并且,极值Ep(t+1)等于最近N个时间段的最低价格;

    • 如果该时间段的 最低价 L(t+1),比前面N个时间段的最低价低,则AF(t+1)=AF(t)+0.02,否则,AF(t+1)=AF(t)。

    第三步:在后面的时间段t+2,t+3,……,上重复涨势第二步中的算法,直到发生跳转为止。另外,AF的最大值是0.2。


    关于SAR的算法,有很多种版本,上面这种算法只是其中之一,算法结构都差不多,区别是在细节上,比如:加速因子的触发条件、Ep(t)的确定算法等,会有所区别。




    NO.4 【QUANT.LA 量化干货聚集地】

    SAR实例
    上述的算法过程,你可能会看的云里雾里。不过你可以利用BotVS量化交易平台,直接引用talib库中的SAR指标:


    首先引用:☑商品期货交易类库

    upload_2018-5-5_15-48-42.png


    由上述几行代码就可以获取SAR指标:

    • 第一行:程序主函数;

    • 第二行:调用商品期货交易类库中的CTA框架,并传入两个参数(合约代码,回调函数);

    • 第三行:获取K线数组;

    • 第四行:控制K线数组的长度;

    • 第七行:调用talib库中的SAR函数;第一个参数是K线数组,第二个参数是加速因子的起始值,第三个参数是加速因子的最大值。

    • 第八行:测试,把计算好的SAR数组打印到日志上;



    NO.5 【QUANT.LA 量化干货聚集地】

    SAR优缺点
    SAR优点

    • 一定程度上减少了趋势型指标的滞后性。通过加速因子,每当行情快速波动的时候,SAR的变动速度也会加快,一旦价格失速或者反转,SAR都会紧贴价格走势,保护好利润或防止亏损扩大。

    • 尽管SAR算法很复杂,但从图形和运用上,与均线类似,属于价格与时间并重的趋势型分析系统,即使是初学者,使用起来也非常简单。

    • 一般的技术指标只有在K线走完后才能确定,而SAR在当根K线走完后就能确定下根K线的停损点,止盈止损可以做到提前心中有数,保持操作的主动性,避免被动追随的缺点。

    SAR缺点

    • 当行情陷入窄幅整理时,SAR经常会交替出现买卖信号,导致信号失效。

    • 计算SAR需要一定的周期数据,这也代表了它并不能完全消除滞后性。



    NO.6 【QUANT.LA 量化干货聚集地】

    策略构建
    单独的SAR是一套「反转系统」,即价格在止损点之上是多头,价格在止损点之下是空头,也就是说头寸永远停留在市场内,趋势向上就作多,趋势向下就作空,但是如果行情在盘整时就会来回亏损。


    事实上在策略构建中,SAR更适合作为出场点:

    • 在行情上涨走势中,每根K线的SAR 都高于上一根K线的SAR,止损点在逐步上移,从而保证浮盈也在逐步上移,这就是典型的移动止损。

    • 在行情加速上涨走势中,AF 加大,EP 增大,从而进一步加速止损点上移的速度,保证在强势情况下,止损点能紧密跟随股价的走势,并锁定更多的收益。

    所以,为了避免过于频繁短线,限制交易次数,同时过滤震荡行情,在进场点上,加入了长期移动平均线(MA)。


    入场点

    • 多头买入开仓:如果当前无持仓,并且收盘价高于对应的SAR值,并且收盘价格大于长周期移动平均线,就在下一根K线开盘买入;

    • 空头卖出开仓:如果当前无持仓,并且收盘价低于对应的SAR值,并且收盘价格小于长周期移动平均线,就在下一根K线开盘卖出;

    出场点

    • 多头卖出平仓:如果当前持有多单,并且收盘价低于对应的SAR值,就在下根K线开盘卖出;

    • 空头买入平仓:如果当前持有空单,并且收盘价高于对应的SAR值,就在下根K线开盘买入;



    NO.7 【QUANT.LA 量化干货聚集地】

    策略源码
    模板引用:☑商品期货交易类库


    策略源码:

    [​IMG]


    参数设置:

    [​IMG]

    图片来源:BotVS量化交易平台



    回测设置:

    [​IMG]

    图片来源:BotVS量化交易平台



    回测绩效:

    [​IMG]

    [​IMG]

    图片来源:BotVS量化交易平台




    NO.8 【QUANT.LA 量化干货聚集地】

    总结
    抛物线转向指标有一项哲学假设:只有继续高于最新抛物线转向指标的走势才值得您花费时间和资金。另外,它还可以作为出场条件,可以与其他条件组成攻守兼备的交易策略。


    交易者最难克服的就是:在盈利时落袋为安的心里,一点蝇头小利就想及早卖出。在亏损时固执侥幸的心里,小的亏损积累成大亏损。你如果没有一个相当明确的买卖法则,一定受不了心里的诱惑或恐惧,乱买卖一通。使用正期望的交易规则来约束自己,才是广大散户最捷径的道路。共勉!




    作者: Hukybo

    由 BotVS 宽客在线 首发授权刊载