为什么 Python 中的 TA-Lib 在计算 ATR 时返回 nan?
Why is TA-Lib in Python returning nan when computing the ATR?
我试图用 TA-Lib 获取几个交易品种(BTCUSDT、ETHUSDT)的 ATR,但结果都是“nan”,我不明白为什么。
这是一个包含示例数据的最小示例:
import talib
import numpy
highs = numpy.array([10697.12, 10706.16, 10744.75, 10747.88, 10745.42])
lows = numpy.array([10683.51, 10694.72, 10705.16, 10728.22, 10727.29])
closes = numpy.array([10696.47, 10705.16, 10728.23, 10742.46, 10730.27])
print(talib.ATR(highs, lows, closes, timeperiod = 5))
并且输出:
[nan nan nan nan nan nan nan nan nan nan nan nan nan nan]
你的例子应该会产生类似于
的结果
(<TALibResult.OK: 0>, array([nan, nan, nan, nan, nan]))
如果你尝试 timeperiod = 3
你会得到类似
的结果
(<TALibResult.OK: 0>, array([nan, nan, nan, 23.56333333, 21.75222222]))
因为ATR是时间周期=N的滚动函数。根据TA-Lib的readme python wrapper
Typically, these functions will have an initial "lookback" period (a required number of observations before an output is generated) set to NaN.
NaN
s(回溯期)的技术计数取决于您传递给滚动均值指标的可选参数(或其中使用的默认值)。但它可能不等于它。例如,在滚动装置指示器的滚动装置的情况下。如果您不想只从结果数组的开头跳过 NaN
,但知道要跳过的确切数据数,那么您可能会得到这个值。我想在 python 中,这可以通过 Ta-Lib 的摘要 API 和函数对象的回顾 属性 来实现。
我试图用 TA-Lib 获取几个交易品种(BTCUSDT、ETHUSDT)的 ATR,但结果都是“nan”,我不明白为什么。
这是一个包含示例数据的最小示例:
import talib
import numpy
highs = numpy.array([10697.12, 10706.16, 10744.75, 10747.88, 10745.42])
lows = numpy.array([10683.51, 10694.72, 10705.16, 10728.22, 10727.29])
closes = numpy.array([10696.47, 10705.16, 10728.23, 10742.46, 10730.27])
print(talib.ATR(highs, lows, closes, timeperiod = 5))
并且输出:
[nan nan nan nan nan nan nan nan nan nan nan nan nan nan]
你的例子应该会产生类似于
的结果(<TALibResult.OK: 0>, array([nan, nan, nan, nan, nan]))
如果你尝试 timeperiod = 3
你会得到类似
(<TALibResult.OK: 0>, array([nan, nan, nan, 23.56333333, 21.75222222]))
因为ATR是时间周期=N的滚动函数。根据TA-Lib的readme python wrapper
Typically, these functions will have an initial "lookback" period (a required number of observations before an output is generated) set to NaN.
NaN
s(回溯期)的技术计数取决于您传递给滚动均值指标的可选参数(或其中使用的默认值)。但它可能不等于它。例如,在滚动装置指示器的滚动装置的情况下。如果您不想只从结果数组的开头跳过 NaN
,但知道要跳过的确切数据数,那么您可能会得到这个值。我想在 python 中,这可以通过 Ta-Lib 的摘要 API 和函数对象的回顾 属性 来实现。