建筑系列的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
我正在使用 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