使用已封装的技术指标时,我们需要特别关注实现细节,例如回测的时候使用了某个版本的指标,实盘使用另一个版本的指标,如果实现细节不一致就需要调整为一致,否则回测和实盘用的都不是一个指标,交易就是胡来了。
在使用TA Lib的ATR指标的时候就发现初值计算算法与其他版本不一致的问题。
这源于TrueRange的初值计算方法,TA Lib源文件注释说明如下:
* Some books and software makes the first TR value to be
* the (high - low) of the first bar. This function instead
* ignore the first price bar, and only output starting at the
* second price bar are valid. This is done for avoiding
* inconsistency.
有的TR的第一个值直接使用第一个k线的最高最低之差,TA Lib则是不计算第一个k线的TR,从第二个k线开始计算。从TR的定义上面来看,从第二个k线开始计算更合适。
其实使用指标库的话最好选用开源的,如果有需要修改的地方可以直接修改。
如果是黑盒子的话,细节未知,实盘交易还是要慎重,如果是公式都不明确的指标的话更不靠谱了。
文章评论