Ta-lib建筑系列评估订单

时间:2017-08-20 22:22:51

标签: python time-series ta-lib

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

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

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

1 个答案:

答案 0 :(得分:0)

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

以下是证据:

enter image description here

在开头添加30个零并删除最后一个零,指针很好地适合输入系列。

enter image description here