蜂鸟金融终端:零滞后技术指标

蜂鸟金融终端:零滞后技术指标_第1张图片

您知道指标存在的问题:指标越准确,它们越滞后于价格。

在约翰埃勒斯(John Ehlers)的书籍和研讨会中,他反复解决了这个问题,并提出了许多指标,这些指标几乎没有滞后。他在《股票和商品》杂志2020年2月刊中的“反射:新的零滞后指标”一文中提出的新指标几乎没有滞后地从价格曲线中消除趋势。

指标有两种计算方法:ReFlex和TrendFlex。


ReFlex指标的算法

使用低通滤波器平滑价格曲线。

从N根K线前的价格到当前价格绘制一条线。

取线到价格的平均垂直距离。

将结果除以标准偏差。

 

TrendFlex指标的算法

使用低通滤波器平滑价格曲线。

将最后N个价格与当前价格的平均差。

将结果除以标准偏差。


 

因此,指标是经过过滤和标准化的移动平均线,但具有价格差异。Ehlers提供的TradeStation代码与Zorro的lite-C非常相似,因此编码指标只需几分钟。这是C版本:

蜂鸟金融终端:零滞后技术指标_第2张图片

蜂鸟金融终端:零滞后技术指标_第3张图片

根据上述算法说明,数据为价格曲线,周期为N。如果您熟悉C编程,那么遇到的唯一不寻常的一行就是这一行:

vars Filt = series(Data [0]),MS = series(0);

 

该行将时间序列分配给变量Filt和MS。到目前为止,一切都很好。但是,如果为指标分配时间序列,则用正确的初始值填充它非常重要。这是Filt系列的最新价格Data [0]。

如果我们用0代替它会发生什么?Filt是根据Ehlers的“ SuperSmoother”算法进行的低通滤波后的价格。如果低通滤波器以0开头,则它将从0逐渐爬升到滤波后的价格。这将使该过滤器的初始值无效。

因此,这是我进行指标编程的第一个重要提示,请始终使用应生成的范围内的值初始化时间序列。

为什么我们使用全局时间序列?我们本来可以定义静态数组。我可以看到一些为其他平台编写了相同指标的同事做到了这一点。当平台仅支持具有单个资产和单个时间范围的策略时,这是可以的。

但是,当在同一策略中以不同的时间范围和不同的价格曲线调用指标时,静态数组将全部混合在一起,并且指标产生错误的值。如有疑问,请使用系列。那是我的第二个建议。

一个小的C脚本,用于绘制2019 SPY曲线的指标:

蜂鸟金融终端:零滞后技术指标_第4张图片

蜂鸟金融终端:零滞后技术指标_第5张图片

您可以看到指标几乎没有滞后。剩下的问题是如何以及如何使用它们。在文章中,Ehlers对指标的目的非常沉默。所以我的第一个想法是将它们用于交易信号。

由于它们顺应价格曲线的峰值和谷值而没有滞后,因此我的想法是在谷底处建立多头,并在峰值时反转做空。所以我将这些行添加到绘图脚本中:

但是结果很糟糕。当我使用变体来生成交易信号(如交叉或区域)并增加测试周期时,并不会变得更好。当然,某些变体会产生积极的结果,但它们不会通过现实检查。

但是,指标在+/- 2范围内,几乎没有滞后。这使得它们成为机器学习系统(例如深度学习ANN)的无趋势输入的不错选择。也许有人为他们找到了另一个好用处!

脚本2020归档文件中提供了Zorro平台的C语言指标。可以使用#include语句将它们添加到任何交易系统中。

 


 

蜂鸟数据 trochil.cn

致力于为金融从业者提供高质价廉的金融数据,通过蜂鸟API,任何人都可以获取海量金融数据,并将数据整合到第三方应用程序,包括数据分析、回溯检验、量化交易、财经/金融APP等多维应用场景。

蜂鸟金融终端:零滞后技术指标_第6张图片

 

致力于提供开源金融数据库,整合20+交易所的实时报价、历史数据及新闻流,并提供高效的API接口,为金融从业者提供免费获取数据的渠道。数据库覆盖A股、港股、美股、外汇、数字货币、国内期货和宏观经济。

你可能感兴趣的:(蜂鸟金融终端:零滞后技术指标)