什么是ATR,它是如何计算的?
平均真实波幅(Average True Range,ATR)由J. Welles Wilder开发,并在其1978年的著作《新概念技术交易系统》中首次提出。ATR衡量的是在回溯周期内(通常为14个周期)真实波幅的平均值。
任意一根K线的真实波幅取以下三者中的最大值:
- 当前最高价减去当前最低价(该K线的波动范围)
- 当前最高价减去前一根收盘价(用于计算向上跳空)
- 当前最低价减去前一根收盘价(用于计算向下跳空)
ATR则是这些真实波幅值在N个周期内的指数移动平均(采用Wilder的平滑方法计算)。标准设置为14个周期。日线图上的14周期ATR衡量的是过去两周的平均日波动范围——能清晰反映当前市场的波动状况。
ATR不能告诉你方向,它只能告诉你市场波动的幅度。ATR上升意味着波动率扩大;ATR下降意味着波动率收缩。这两种状态都需要不同的仓位规模应对方式。
为什么ATR优于固定点数或百分比止损
大多数新手交易者使用固定止损:"我总是在亏损100美元时止损"或"我总是使用2%的止损"。这些方法在实践中会失效,因为市场波动率并非恒定不变。100美元的止损对于BTC日波动范围仅为500美元的平静周来说也许是合理的,但在日波动范围达到3000美元的扩张周里就显得很鲁莽——因为市场可能在几秒钟内就波动100美元。
基于ATR的止损能够自动适应:
- 低波动率(低ATR):市场波动较小。此时适合设置更紧的止损——而更紧的止损意味着在承受相同美元风险的前提下,可以使用更大的仓位规模。ATR仓位规模计算法会在条件有利时自动增加你的仓位。
- 高波动率(高ATR):市场波动较大。此时需要更宽的止损以避免被震荡出局。ATR仓位规模计算法会自动减小你的仓位,保护你不在危险的市况下过度加仓。
这就是ATR仓位规模计算法的核心优势:美元风险保持恒定,而仓位规模会随当前市场状况自动调整。无论市场处于平静盘整还是剧烈扩张,你所承担的账户风险比例——比如1%——始终保持一致。
不同交易类型的标准ATR倍数
ATR倍数决定了止损相对于入场点应设置多少个ATR单位的距离(以做多为例)。按交易风格划分的标准惯例如下:
- 1倍ATR:剥头皮/紧止损。适用于非常短周期的交易,追求高精度并接受较高的止损触发率。常用于1分钟至5分钟图表。
- 1.5倍ATR:日内波段。对于15分钟至1小时图表的交易来说是较为合理的平衡点,能给交易留出应对日内正常噪音的空间。
- 2倍ATR:波段交易止损。这是4小时或日线图上多日波段仓位最常用的倍数,既能过滤典型的回调噪音,又比完整的日波动范围更紧。
- 3倍ATR:头寸交易/宽止损。用于周线级别的交易,或希望给仓位留出最大空间的情况。在该倍数下,仓位规模会明显更小。
选择倍数时应基于你的时间周期和策略,而不是选择能产生最大仓位规模的那个数值。
ATR仓位规模计算公式
一旦确定了ATR值和所选倍数,仓位规模计算就非常简单:
止损距离 = ATR × 倍数美元风险 = 账户规模 × 风险百分比仓位规模(以计价货币计) = 美元风险 / 止损距离 × 入场价格—— 或等价地:仓位规模(以基础货币计) = 美元风险 / 止损距离名义价值 = 仓位规模(基础货币) × 入场价格
对于多单,R目标水平是在入场价上方按ATR倍数延伸:
- TP1(1R):入场价 + 1倍ATR——最低回报目标,大多数成功交易应能达到
- TP2(2R):入场价 + 2倍ATR——稳健的波段目标
- TP3(3R):入场价 + 3倍ATR——用于持仓延伸的扩展目标
对于空单,则在入场价下方镜像设置这些水平。
实例演算:ETH波段多单,使用2倍ATR止损
账户规模:10,000美元。每笔交易风险:1%(最大亏损100美元)。ETH入场价:3,500美元。当前14周期日线ATR:175美元(占价格的5%——属于ETH中等波动日的典型水平)。
采用2倍ATR倍数进行波段交易:
- 止损距离:175美元 × 2 = 350美元
- 止损价格:3,500美元 − 350美元 = 3,150美元
- 仓位规模:100美元 / 350美元 = 0.286 ETH
- 名义价值:0.286 × 3,500美元 = 1,000美元
- 有效杠杆:1,000美元 / 10,000美元 = 0.1倍(等同于现货——无需杠杆)
R目标:
- TP1(3,675美元):入场价 + 1倍ATR = +175美元。盈亏 = 0.286 × 175美元 = 50美元(账户的0.5%)
- TP2(3,850美元):入场价 + 2倍ATR = +350美元。盈亏 = 0.286 × 350美元 = 100美元(账户的1% = 1R)
- TP3(4,025美元):入场价 + 3倍ATR = +525美元。盈亏 = 0.286 × 525美元 = 150美元(1.5R)
波动率如何改变仓位规模:对比分析
同样的交易设置在ATR较低时展示了ATR仓位规模计算法的自适应特性。假设ETH进入波动率较低的压缩阶段:ATR降至70美元(日波动范围2%——属于震荡、低成交量行情的典型水平)。
使用相同的2倍倍数和1%风险:
- 止损距离:70美元 × 2 = 140美元
- 止损价格:3,500美元 − 140美元 = 3,360美元
- 仓位规模:100美元 / 140美元 = 0.714 ETH
- 名义价值:0.714 × 3,500美元 = 2,500美元
当ATR为70美元(低波动率)时,在承担相同美元风险的前提下,你可以建立比之前大2.5倍的仓位。这是正确的——在平静时期,你的止损相对于价格要紧得多,因此只需持有更多单位即可保持美元风险恒定。ATR仓位规模计算法告诉你应该在平静市场中加大仓位,在波动市场中减小仓位——这与情绪化交易者的做法恰恰相反。
将ATR仓位规模计算法应用于不同品种
ATR仓位规模计算法最大的优势之一,是它无需修改就能适用于任何品种和任何时间周期。无论你交易的是日线ATR为2,000美元的BTC,还是日线ATR仅为0.05美元的小市值山寨币,该公式都能计算出使你的美元风险保持在目标百分比的仓位规模。
这使得ATR仓位规模计算法非常适合同时交易多种资产的交易者。你无需为每个品种维护不同的固定止损规则,而是使用一个统一框架——ATR × 倍数——数学计算会自动处理不同品种间的波动率差异。一个由五个仓位组成的投资组合,若每个仓位都通过ATR方法设定为1%的风险,那么在五个仓位同时触发止损的情况下,最大回撤是可预测的:无论这些资产是什么,回撤都将是账户的5%。