2017-08-20 25 views
0

我使用ta-lib基于市场价格建立指标系列。我做了一些相同概念的实现,但是在任何实现中我发现了同样的问题。要获得正确的一系列值,我必须还原输入序列并最终还原结果序列。通过一个方便的包装确实调用TA-lib库的Python代码是:建筑系列的Ta-lib评估订单

rsi1 = np.asarray(run_example( function_name, 
           arguments, 
           30, 
           weeklyNoFlatOpen[0], 
           weeklyNoFlatHigh[0], 
           weeklyNoFlatLow[0], 
           weeklyNoFlatClose[0], 
           weeklyNoFlatVolume[0][::-1])) 

rsi2 = np.asarray(run_example( function_name, 
           arguments, 
           30, 
           weeklyNoFlatOpen[0][::-1], 
           weeklyNoFlatHigh[0][::-1], 
           weeklyNoFlatLow[0][::-1], 
           weeklyNoFlatClose[0][::-1], 
           weeklyNoFlatVolume[0][::-1]))[::-1] 

两个系列都可以在这里观察到的图(该指标是真的SMA): enter image description here

绿色明显地以相反的顺序(从n个采样到0)计算行,而按照预期顺序计算红色行。要实现红线,我必须反转输入序列和输出序列。

这个测试的代码可以在:python code

有人观察到同样的行为呢?

+0

问题必须在你身边。也许与阴谋。你可以在TA指标被调用后调试返回数据吗? – truf

回答

0

我发现我的问题处理方法有什么问题。简单的答案是,MA指标将结果数组上的第一个有效值置于零位,所以结果序列从零开始,并且比输入序列少N个样本(其中N是本例中的周期值)。恢复的计算想法是完全错误的。

这里的证明:

enter image description here

添加在开始30个零和取出最后的指示器套在输入串联很好。

enter image description here