分享

程序化交易系统之利用“能量潮”加权算法抓大波段!

 hyqg8 2020-04-25

牛角问答,股票期货专业投机者。

程序化交易系统之利用“能量潮”加权算法抓大波段!

前言

在所有的股票或期货技术指标的算法中,几乎是基于价格或基于成交量进行计算,因此,既考虑了价格变化,又考虑成交量变化的算法寥寥无几。

通常情况下,我们分析价格走势,都会以价格和成交量结合分析。这样更能够揣摩交易对手的意图。

作者喜欢既有价格,又考虑了成交量指标的算法,是有原因的。

首先,价格上涨幅度越大成交量就越大吗?不一定,因为缩量还不是一样的上涨,如下图所示。

程序化交易系统之利用“能量潮”加权算法抓大波段!

其次,价格上涨幅度越小成交量就越小吗?也不一定,因为一根十字k线同样可以有巨量,如下图所示。

程序化交易系统之利用“能量潮”加权算法抓大波段!

单纯的以价格或者成交量所设计的算法,都不能很好的解释价格变动内在逻辑。

因此,OBV加权成交量算法,横空出世!

接下来,将用最简单的方式讲解OBV加权成交量算法的内在机理,与跨周期过滤和跟踪止盈相结合。

并用这个改进后的算法用程序化交易平台编写,实现自动化交易。

我将介绍两种算法及其区别,在程序化交易系统中OBV加权成交量算法,为何更具有优势。

揭开“WOBV 算法” 的神秘面纱

WOBV中的“W”,代表权重“weight”,具有加权算法的OBV能量潮。两者虽说只有一个字母的差距,但对我们实际分析和程序化交易意义影响深远!

我们将两种算法和最终效果进行比较。

1、算法剖析与OBV缺陷。

(1) OBV算法。

他的逻辑主要以当前k线的价格上涨或下跌状态,来决定当前是否是减少OBV值或增加OBV值,如下图所示。VOL,成交量

  • 价格上涨的OBV计算过程。
程序化交易系统之利用“能量潮”加权算法抓大波段!

效果图如下。

程序化交易系统之利用“能量潮”加权算法抓大波段!
  • 价格下跌OBV的计算过程。
程序化交易系统之利用“能量潮”加权算法抓大波段!

效果图如下。

程序化交易系统之利用“能量潮”加权算法抓大波段!

注:OBV代表当前k线的OBV值,OBV[1]代表上一根k线的OBV值。OBV初始值为历史数据第一根k线的成交量。

从图中我们可以得出一个结论。

  • 当价格上涨时,OBV值就加上当前k线的成交量。
  • 当价格下跌时,OBV值就减去当前k线的成交量。

下图是OBV算法的效果图。

程序化交易系统之利用“能量潮”加权算法抓大波段!

我们从算法和k线图中得知,OBV技术指标每次增加或减少的值,都是当前k线的全部成交量。

此算法有一个致命缺陷。当k线上涨或下跌幅度极小,成交量又非常大,此时指标的值不管三七二十一,还是加上当前k线的成交量。例如,十字星k线。

说白了,就没办法识别当前价格走势的力度,相当鸡肋!

程序化交易系统之利用“能量潮”加权算法抓大波段!

这也是OBV与“WOBV”算法最明显的区别!

说完了OBV算法,接下来我们将对WOBV算法、优势进行深度分析。

(2) WOBV算法剖析。

WOBV算法与OBV相比,其实最核心的就是它公式中权数的计算,即k线实体比上k线振幅。

这个算法是在OBV能量潮算法上改进而来,主要原理是k线实体占k线振幅的百分比作为权数,对成交量进行加权。并以此来做出的程序化策略,更具有适应未来的能力。

算法如下图所示。

程序化交易系统之利用“能量潮”加权算法抓大波段!

注:WOBV代表当前k线的WOBV值,WOBV[1]代表上一根k线的WOBV值。WOBV初始值为历史数据第一根k线的权数*VOL。

效果如下图所示。

程序化交易系统之利用“能量潮”加权算法抓大波段!

相当于一个动态调节器,

  • 当我们的k线实体非常大时,权数就越大,WOBV就变得灵敏,说明趋势强劲。
  • 当k线实体变小时,权数就越小,WOBV就变得迟钝,说明趋势减弱。

从上图中我们就可以看出,行情虽然仍在上涨,但WOBV值已经开始横向变动或反转。

预示着,上涨动能减弱随时会发生趋势反转或进入横盘震荡,此时突破策略在这里开仓的话,大大的增加策略假突破的风险和拥有较低的利润空间。

勿让自己,得不偿失。

WOBV与OBV两者谁更具有优势,一张图就能解决!请看第二个子图中的指标和k线图。

程序化交易系统之利用“能量潮”加权算法抓大波段!

注:加粗黑线,WOBV。蓝色线,OBV值。

WOBV优势:

  • 作为一个预警信号,当一波大幅上涨后,一旦WOBV横向整理或开始反转时,此时可以减少仓位或平仓。
  • 同时在WOBV 横向整理或者反转区域可以选择不开仓,减少假突破,提高胜率。

这就是采用了,加权的成交量算法—WOBV算法的优势。

小结。

说完了WOBV与OBV算法原理,接下来将分享,基于WOBV算法程序化交易策略,并与跨周期过滤跟踪止盈结合,打造交易系统

基于WOBV 算法的交易系统

在前面,我们已经分享了OBV与WOBV算法的主要区别。后者更能刻画价格波动规律,具有良好的自适应能力。

当价格动能较强,WOBV越大,更灵敏。动能减弱时,WOBV提前横向整理,或反转。

也就是所谓的,自适应能力!

下面是基于WOBV算法的程序化交易策略逻辑。

① 开仓逻辑(多头为例):

  • 价格在周线EMA8均线以上,处于多头趋势
  • 在WOBV上穿WOBV_MA,且最高价突破当前最高价+1倍ATR。
程序化交易系统之利用“能量潮”加权算法抓大波段!

② 平仓逻辑:

  • 采用具有加速算法的跟踪止盈方法,平仓。
  • 正如下图所示,价格波动大时,止盈线收得更紧。波动小时,以上一根k线的速度进行移动。

③ 策略信号:

程序化交易系统之利用“能量潮”加权算法抓大波段!

策略回测分析

作者用螺纹钢期货指数合约进行回测分析。

① 回测参数设置:

  • 回测资金,10万。
  • 回测区间,2009-至今。
  • 回测品种,螺纹钢期货指数
  • 回测周期,30分钟。
  • 开仓手数,1手。
  • 滑点,1跳。
  • 费用,1%%。

② 资金曲线:

程序化交易系统之利用“能量潮”加权算法抓大波段!

最后

文章主要给大家分享了OBV与WOBV算法的区别,优劣势。且利用WOBV算法与跨周期、跟踪止盈、ATR波动率方法构建程序化交易策略。

同时也提到了,WOBV算法具有自适应的功能,其核心就在于权数的计算。

权数=(收盘价-开盘价)/(最高价-最低价)

当k线上下引线变长时,WOBV值就会越小。反之,就越大。

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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多