牛角问答,股票期货专业投机者。 前言在所有的股票或期货技术指标的算法中,几乎是基于价格或基于成交量进行计算,因此,既考虑了价格变化,又考虑成交量变化的算法寥寥无几。 通常情况下,我们分析价格走势,都会以价格和成交量结合分析。这样更能够揣摩交易对手的意图。 作者喜欢既有价格,又考虑了成交量指标的算法,是有原因的。 首先,价格上涨幅度越大成交量就越大吗?不一定,因为缩量还不是一样的上涨,如下图所示。 其次,价格上涨幅度越小成交量就越小吗?也不一定,因为一根十字k线同样可以有巨量,如下图所示。 单纯的以价格或者成交量所设计的算法,都不能很好的解释价格变动内在逻辑。 因此,OBV加权成交量算法,横空出世! 接下来,将用最简单的方式讲解OBV加权成交量算法的内在机理,与跨周期过滤和跟踪止盈相结合。 并用这个改进后的算法用程序化交易平台编写,实现自动化交易。 我将介绍两种算法及其区别,在程序化交易系统中OBV加权成交量算法,为何更具有优势。 揭开“WOBV 算法” 的神秘面纱WOBV中的“W”,代表权重“weight”,具有加权算法的OBV能量潮。两者虽说只有一个字母的差距,但对我们实际分析和程序化交易意义影响深远! 我们将两种算法和最终效果进行比较。 1、算法剖析与OBV缺陷。 (1) OBV算法。 他的逻辑主要以当前k线的价格上涨或下跌状态,来决定当前是否是减少OBV值或增加OBV值,如下图所示。VOL,成交量。
效果图如下。
效果图如下。 注:OBV代表当前k线的OBV值,OBV[1]代表上一根k线的OBV值。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。 效果如下图所示。 相当于一个动态调节器,
从上图中我们就可以看出,行情虽然仍在上涨,但WOBV值已经开始横向变动或反转。 预示着,上涨动能减弱随时会发生趋势反转或进入横盘震荡,此时突破策略在这里开仓的话,大大的增加策略假突破的风险和拥有较低的利润空间。 勿让自己,得不偿失。 WOBV与OBV两者谁更具有优势,一张图就能解决!请看第二个子图中的指标和k线图。 注:加粗黑线,WOBV。蓝色线,OBV值。 WOBV优势:
这就是采用了,加权的成交量算法—WOBV算法的优势。 小结。 说完了WOBV与OBV算法原理,接下来将分享,基于WOBV算法程序化交易策略,并与跨周期过滤和跟踪止盈结合,打造交易系统! 基于WOBV 算法的交易系统在前面,我们已经分享了OBV与WOBV算法的主要区别。后者更能刻画价格波动规律,具有良好的自适应能力。 当价格动能较强,WOBV越大,更灵敏。动能减弱时,WOBV提前横向整理,或反转。 也就是所谓的,自适应能力! 下面是基于WOBV算法的程序化交易策略逻辑。 ① 开仓逻辑(多头为例):
② 平仓逻辑:
③ 策略信号: 策略回测分析作者用螺纹钢期货指数合约进行回测分析。 ① 回测参数设置:
② 资金曲线: 最后文章主要给大家分享了OBV与WOBV算法的区别,优劣势。且利用WOBV算法与跨周期、跟踪止盈、ATR波动率方法构建程序化交易策略。 同时也提到了,WOBV算法具有自适应的功能,其核心就在于权数的计算。 权数=(收盘价-开盘价)/(最高价-最低价)。 当k线上下引线变长时,WOBV值就会越小。反之,就越大。 |
|