ATR
又称 Average true range
平均真实波动范围,简称 ATR
指标
$$ \begin{cases}
A = High - Low \\
B = abs(Close_l - High) \\
C = abs(Close_l - Low) \\
TR = MAX( A, B , C )
\end{cases}
$$
其中
- $ High $
- 该周期的最高价
- $ Low $
- 该周期的最低价
- $ Close_l $
- 上一周期的收盘价
举一个例子来说。
1 | import talib |
输出
1 | [ nan nan nan nan 3.25] |
我们手动计算各个周期的 TR
。
有一,第一个周期前面没有 close
,所以,TR_1 = Nan
第二个周期的计算如下
- 最高价和最低价差值
2
- 上一周期的收盘价和该周期的最高价的绝对值为
2
- 上一周期的收盘价和该周期的最低价的绝对值为
0
所以 TR
为 2
,这样比较下来,所有的 TR
值为
[Nan,2,2,3,6]
ATR
是他们的平均值为 (2 + 2 + 3 + 6) / 4 = 3.25
有一点需要注意,ta-lib
和 MyTT
不一定一样,比如
1 | import talib |
输出
1 | [ nan nan nan 2.33333333 3.55555556] |
我们来手动计算一下, TR 的值为
[Nan,2,2,3,6]
第一个 ATR = (2 + 2 + 3) / 3 = 2.33333
第二个 ATR 的计算,如果是
(2.33333 * 2 + 6) / 3 = 3.5555556
如果是
(2 + 3 + 6) / 3 = 3.6666666
所以,Ta-lib
和 MyTT
采用的是两个不一样的计算路径,这一点要尤为注意。