建筑系列的Ta-lib评价顺序

Ta-lib evaluation order for building series

我正在使用 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):

绿线显然是按相反顺序计算的(从 n 个样本到 0),而红线是按预期顺序计算的。为了实现红线,我必须反转输入序列和输出序列。

此测试的代码可在以下位置获得:python code

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

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

证明如下:

enter image description here

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

enter image description here