如何在外汇中计算平均真实波幅(ATR)
直接答案:外汇中的“平均真实波幅”含义
平均真实波幅(ATR)是一种基于选定周期数内真实波幅(TR)平均值的波动率衡量指标。在外汇市场中,您通过当前周期的最高价、最低价以及前一周期的收盘价来计算TR,其定义与其他流动性市场的标准一致。
计算ATR的步骤如下:
- 使用下方三部分规则为每个周期计算TR,
- 在选定的回溯窗口内对TR进行平均(通常使用标准平滑方法)。
详解:机制与输入
1) 为每个周期定义真实波幅(TR)
对于每个周期(例如,您所选时间框架上的每根K线),您需要使用:
- 最高价 = 周期内的最高价格
- 最低价 = 周期内的最低价格
- 前一收盘价 = 前一周期的收盘价格
将TR计算为以下三项中的最大值:
- (最高价 − 最低价)
- abs(最高价 − 前一收盘价)
- abs(最低价 − 前一收盘价)
原因说明:这三项分别捕捉了波动是否来自当前K线的范围,或相对于前一收盘价的跳空/跳变。尽管外汇市场通常连续交易,“前一收盘价”仍作为比较基准。
2) 从TR计算ATR
有两种常见方式从N个周期的TR中形成ATR:
- 简单移动平均法:t时刻的ATR是最近N个TR值的算术平均。
- Wilder风格平滑法:ATR通过平滑因子递归计算,使用前一期ATR和当前TR。这种方法生成的ATR序列更平滑,反应更渐进。
具体选择(简单平均 vs 平滑)会影响ATR数值,因此在验证结果时需记录所用方法。
3) 选择时间周期与数据一致性
ATR取决于您使用的K线时间周期(例如1小时 vs 4小时)。同时,确保OHLC输入(最高价、最低价、收盘价)来自同一数据源,并在整个周期内采用一致的交易时段/时区规则。
可手动验证的示例
以下是一个可手动验证单个周期计算的具体方法。
假设在周期t中:
- 最高价 = 1.1050
- 最低价 = 1.1010
- 前一收盘价 = 1.1020
步骤A:计算三个TR候选值:
- 最高价 − 最低价 = 1.1050 − 1.1010 = 0.0040
- abs(最高价 − 前一收盘价) = abs(1.1050 − 1.1020) = 0.0030
- abs(最低价 − 前一收盘价) = abs(1.1010 − 1.1020) = 0.0010
步骤B:取最大值:
- TR = max(0.0040, 0.0030, 0.0010) = 0.0040
步骤C:在N个周期内计算ATR
- 若使用N周期简单平均,则对最近N个TR值求平均。
- 若使用平滑法,则应用选定的递归规则,结合前一期ATR和当前TR。
验证检查:
- TR不应为负数。
- ATR应反映TR的平均幅度;若TR反复飙升,ATR通常应上升。
- 手动重新计算几个周期的TR,确认工具/公式与您的计算结果一致。
局限性、不确定性与误读风险
- 时间周期敏感性:ATR随所选K线时间周期变化。同一货币对在不同时间压缩下可能显示不同的ATR水平。
- 方法敏感性:结果取决于使用简单平均还是平滑方法,以及回溯周期长度N。
- 仅衡量波动,不指示方向:ATR仅衡量波动幅度,不反映价格方向。ATR上升本身并不表示看涨或看跌。
- 数据与“周期边界”问题:不同经纪商或数据供应商可能使用不同的交易时段和时区规则定义K线。微小的输入差异可能改变TR,从而影响ATR。
鉴于这些依赖关系,应将ATR视为在特定窗口内对已实现价格变动幅度的计算指标——而非可靠的前瞻性预测工具。