平均真实波幅(Average True Range,ATR):真实波幅、N 日平滑与止损仓位应用
平均真实波幅(Average True Range,ATR)由 J. Welles Wilder 提出,用真实波幅 TR 的 N 日平滑刻画一只股票近期"每天大约会跳动多大"。本文讲清真实波幅 TR 的三取大定义、ATR 的 N 日平滑(默认 14)、只衡量波动大小而不含方向的本质、在止损与仓位管理上的用法,以及在大斑(Bastix)多智能体投研系统里技术分析 Agent 如何把 ATR 当作一条波动率证据、而非买卖或下单指令。大斑只做研究、不下单、不连接券商、不承诺收益。
ATR 是什么
ATR(平均真实波幅,Average True Range,图表里显示为 ATR,代码别名 atr) 是技术分析大师 J. Welles Wilder(威尔斯·怀尔德)在 1978 年的著作《New Concepts in Technical Trading Systems》中提出的一套波动率(volatility,价格波动剧烈程度)指标。同一本书里,他还提出了 RSI、DMI/ADX、PSAR 等一批至今仍在广泛使用的指标——ATR 是其中专门用来度量"波动大小"的那一个。
它诞生的背景很具体:Wilder 当年研究的是商品期货,这类品种经常出现跳空(今日开盘直接高于或低于昨日收盘,中间没有连续成交)和涨跌停。如果只用"今日最高价 − 今日最低价"来衡量一天的波动,就会严重低估这些跳空日的真实动荡。Wilder 的解决办法是发明一个叫**真实波幅(True Range,TR)**的量,把昨日收盘价也纳入进来,再对它做多日平滑,得到 ATR。
理解 ATR 的第一原则是:它只衡量波动的"大小",完全不含"方向"。ATR 变大,只说明这只股票最近每天的振幅在放大;至于是暴涨造成的还是暴跌造成的,ATR 一个字都不说。这一点是它区别于均线、MACD 等方向类指标的根本,也是最容易被误用的地方。
在大斑(Bastix)的图表体系里,ATR 是副图(单独画在 K 线下方的独立面板)指标,注册真名为 ATR,默认周期 14。与它同源、只是换了量纲的还有两个独立注册的兄弟指标:归一化平均真实波幅 NATR 与 ATR 百分比 ATRPercent,后文会说明区别。
怎么算
ATR 的计算分两步:先算每一天的真实波幅 TR,再对 TR 做 N 日平滑。
第一步:真实波幅 TR。 对某一个交易日,取以下三个值中的最大者:
- 今日最高 − 今日最低(当日振幅)
- |今日最高 − 昨日收盘|(今日高点相对昨收的跳动)
- |今日最低 − 昨日收盘|(今日低点相对昨收的跳动)
即 TR = max(今高 − 今低, |今高 − 昨收|, |今低 − 昨收|)。
为什么要取三者之大?因为要把跳空如实算进来。举个数字:昨日收盘 10.00 元,今日因利好高开,最低 10.50、最高 10.90。若只看当日振幅 = 10.90 − 10.50 = 0.40,会以为波动很小;但实际上从昨收 10.00 跳到今低 10.50,中间那 0.50 的跳空才是真正的波动。第二项 |10.90 − 10.00| = 0.90 抓住了这一点,取最大后 TR = 0.90,如实反映了这天的真实动荡。
第二步:N 日平滑得到 ATR。 ATR 就是 TR 的 N 日平滑值,默认 N = 14。Wilder 原始用的是他自己的平滑法(第一个 ATR 取前 14 日 TR 的简单平均,之后每日 ATR = (前一日 ATR × 13 + 当日 TR) / 14)。这是一种类似指数平滑的递推:新数据只占 1/14 权重,所以 ATR 曲线比单日 TR 平缓得多,能滤掉单日噪声、留下波动的趋势。
举个连贯的例子:假设某股过去 14 日 TR 的平均是 0.30 元,则今日之前 ATR ≈ 0.30。今日突发大波动,TR 跳到 0.90,则新 ATR = (0.30 × 13 + 0.90) / 14 ≈ 0.34。可以看到,单日的剧烈波动只把 ATR 从 0.30 抬到 0.34——ATR 是"钝"的,它反映的是一段时间的波动水位,不会因为某一天的异常就大起大落。这既是它的优点(稳定、抗噪),也是它的局限(滞后)。
再把这个平滑过程往后推几天看看它的"惯性"。接上例,今日 ATR = 0.34:
- 次日若继续放大,TR = 0.70,则 ATR = (0.34 × 13 + 0.70) / 14 ≈ 0.37。
- 第三日回归平静,TR = 0.20,则 ATR = (0.37 × 13 + 0.20) / 14 ≈ 0.36。
- 第四日仍平静,TR = 0.18,则 ATR = (0.36 × 13 + 0.18) / 14 ≈ 0.35。
可以看到,一次放量冲击把 ATR 从 0.30 推到 0.37 用了两天,而波动平息后 ATR 从 0.37 慢慢回落也要好几天——它像一个有惯性的水位计,涨得慢、退得也慢。这正是"平滑"要的效果:把单日的尖刺磨平,留下能代表"最近整体波动水位"的那条平缓曲线。也正因为有惯性,指望 ATR 在暴动当天就精确报出波动是不现实的,它给的是趋势性的波动水位而非瞬时值。
顺带说明一个常被忽略的细节:Wilder 用的"平滑"和普通的简单移动平均(SMA)不同。若用 14 日 SMA,14 天前的那个 TR 一旦滚出窗口就被完全丢弃,容易在"某个大波动日进出窗口"时让 ATR 突然跳一下;而 Wilder 递推法让每个历史 TR 的权重按几何级数缓慢衰减、永不硬性剔除,曲线因此更连续、更不容易因窗口边界产生突兀跳变。这也是为什么各家软件里的 ATR 数值可能略有差异——取决于它用的是 Wilder 原始平滑还是 SMA/EMA 近似,用之前最好确认一下口径。
ATR 的由来:Wilder 为期货波动而生
理解 ATR 的设计动机,要回到 Wilder 当年面对的问题。1970 年代他研究的商品期货,波动幅度天差地别:一份合约代表的实物数量、价格量级各不相同,而且期货常有"每日涨跌停板"和大幅跳空。用同一个固定的点数或百分比去衡量"棉花"和"黄金"的波动显然荒谬——它们"正常的一天"波动本就不在一个量级。Wilder 需要一个能自适应每个品种、每段时期的波动尺度,于是发明了真实波幅 TR,再平滑成 ATR。
这段出身留下两点烙印,至今影响着 ATR 的正确用法。其一,它天生就为"处理跳空"而设计,所以真实波幅 TR 才要把昨收拉进来三取大,这在会跳空的股票上同样成立。其二,它天生是"相对每个标的自己"的尺度,Wilder 从没想让不同品种的 ATR 绝对值互相比较——这正是后来要用 NATR、ATRPercent 做归一化的根源。把这两点记住,就不会误用它。
参数与三个量纲兄弟
周期 N = 14 是 Wilder 的原始推荐,约对应两到三周的交易日。周期调短(如 7)会让 ATR 更贴近近期波动、更灵敏,但也更毛糙;调长(如 21、30)更平滑、更能代表中期波动水位,但对波动变化的反应更慢。和大多数 Wilder 指标一样,14 是一个经验起点,不是普适最优值。
关键要注意 ATR 的一个"缺点":它是绝对值,单位与价格相同。一只 100 元的股票 ATR 可能是 3.00 元,一只 5 元的股票 ATR 可能是 0.15 元——直接比大小没有意义,因为价位量纲不同。为了解决横向比较问题,代码里另有两个独立注册的指标:
- 归一化平均真实波幅
NATR:把 ATR 除以收盘价再乘 100,换算成百分比。上例中 100 元股 NATR ≈ 3%,5 元股 NATR ≈ 3%,一下就能看出两者"相对波动"其实一样大。 - ATR 百分比
ATRPercent:思路与 NATR 类似,同样把 ATR 用价格归一化成百分比形态。
想比较"哪只票更躁",用 NATR 或 ATRPercent;想知道"这只票每天大约跳多少钱"(比如换算止损点位),用 ATR 绝对值。
止损与仓位:ATR 最扎实的用途
ATR 真正被广泛使用的地方,是风险度量——把"这只票每天大约波动多大"翻译成止损宽度和仓位大小。这是 ATR 相比其他指标的独特价值:它给的是一个可以直接换算成"钱"的波动尺度。
- 止损宽度随波动伸缩:常见做法是把止损距离设为若干倍 ATR(如 2 倍、3 倍)。逻辑很直接:波动大的股票,日常噪声就大,止损放太近会被随机波动轻易扫出,所以该放宽;波动小的票则可收窄。举例:入场价 20.00 元、ATR = 0.50,用 2 倍 ATR,则止损宽度 = 1.00 元,止损参考位约 19.00;若换一只 ATR = 0.20 的低波动票,同样 2 倍 ATR 的止损宽度只有 0.40。同样的"2 倍 ATR"规则,对不同波动的票自动给出了宽窄不同的止损,这就是它的巧妙处。
- 仓位大小随波动反向调整:给定一笔固定的风险预算(比如愿意为一次判断承担的回撤金额),波动越大、单位止损越宽,能买的股数就越少,反之越多。这让不同波动的标的在"承担的风险"这一维度上被拉齐,而不是每只都买一样多的股数。
必须强调:以上都是研究与风险度量层面的思路,不是保证不亏的规则。ATR 只降低"被日常噪声误扫"的概率,绝不能防止判断本身错误带来的亏损。而且大斑只做研究、不代客设置或执行任何止损与仓位——这些换算只用于研究判断,后文详述。
信号怎么读(分市况)
再强调一次:ATR 不带方向,所以它从来不是"买卖信号",而是一个描述"当前波动处于什么水位"的背景量。合理的读法是把它当观察点,看波动本身的状态:
- ATR 处于高位或快速抬升:市场进入高波动阶段,可能是趋势加速、也可能是消息冲击或恐慌。此时同样的价格波动更容易触发止损,仓位和止损宽度都需要相应调整;对方向类信号也要更谨慎,因为高波动里假动作更多。
- ATR 处于低位或持续收敛:市场趋于平静,振幅萎缩。历史经验是波动不会永远沉睡,极致的平静之后常常是变盘——但这仍只是波动状态,不指示方向,向上向下都可能,要等其他证据确认。
- ATR 从低位突然放大:往往与某个突破或事件同步发生。它能帮你确认"这次波动是真的加剧了",但放大的方向要看价格和量能,ATR 自己不告诉你。
- 不同标的横向比 ATR 走势:因为 ATR 是绝对值,跨标的比数值无意义,但把各自的 ATR 归一化(NATR/ATRPercent)后比"谁的相对波动更高、更快抬升",能帮你在一篮子标的里挑出当前最躁动的那些,这是可行且有用的观察。
- 价格新高但 ATR 不再放大:有时价格还在缓慢推高,ATR 却掉头走平甚至回落,说明推动价格的"波动能量"在退潮,趋势的力度在减弱。这是一个值得留意的背景变化,但同样只是观察点,不是卖出指令。
一句话:ATR 描述的是"波动多大",不是"往哪走"。 任何据此做的判断都必须和趋势方向、量能、基本面交叉验证。
常见误用
- 把 ATR 当方向信号:最普遍也最危险的错误。"ATR 涨了所以要买"是彻头彻尾的误读——ATR 涨只说明波动大了,方向可能是暴跌。
- 拿绝对值跨股票比较:用 100 元股的 ATR = 3.00 和 5 元股的 ATR = 0.15 比大小,得出"前者波动大得多"的结论,忽略了价位量纲。要比相对波动请用 NATR 或 ATRPercent。
- 忽视 ATR 的滞后:ATR 是 14 日平滑,突发暴动当天它只微微抬头,若指望它"提前预警"波动是不现实的;它擅长描述已经发生的波动水位,不擅长预测。
- 把"ATR 倍数止损"当成不亏的保证:用 2、3 倍 ATR 设止损是一种把止损宽度与波动挂钩的合理思路,但它只是降低被日常噪声扫出的概率,绝不等于不会亏损,更不是稳赚规则。
- 不看软件口径就直接比数值:不同平台的 ATR 可能用 Wilder 原始平滑、也可能用 SMA 或 EMA 近似,数值略有出入。跨平台照搬一个"ATR 阈值"而不确认口径,可能得出偏差结论。
大斑多智能体系统里,ATR 扮演什么角色
这是大斑与"把指标当信号灯"的工具最本质的区别。在大斑的多智能体投研系统里,ATR(以及其余 100 多个技术指标)不是一个会自动触发买卖、更不会去下单的信号源,而是技术分析 Agent(技术分析智能体)在形成研究结论时引用的一条波动率证据。
- 技术分析 Agent 读取 ATR 的当前水位与变化(例如"ATR 已升至近三个月高位,波动显著放大"),把它转述成自然语言判断,并标注这是基于哪段行情区间、哪个周期参数(默认 14)算出来的,纳入可追溯的证据链,方便被独立复核和重算。
- 这里体现了 ATR 作为"波动率证据"的独特价值:它帮 Agent 判断当前市场处于什么波动状态,从而决定其他信号该怎么解读——高波动阶段,Agent 会对方向类信号的可靠性打折、对风险度量更保守;低波动阶段则相反。这是纯方向指标给不了的元信息。
- 需要特别说明的是:ATR 常与"止损""仓位"这类执行动作相关联,但在大斑这里,它只用于研究判断层面——比如帮助描述"若按波动给风险预算,这只标的的合理回撤空间偏大"。大斑不下单、不连接券商、不代客设置或执行任何止损,这些波动度量不会变成任何自动化的成交或风控动作。
- 这条波动率证据会与基本面、市场情绪等其他 Agent 的判断共同进入研判,而不是单独拍板。最终大斑产出的是研究结论与目标权重层面的观点,不是"止损挂在 9.4 元、买入 700 股"这种伪精确的成交指令——大斑只做研究、不下单、不连接券商、不承诺收益。
换句话说:ATR 在大斑这里的价值,不是"它告诉你何时买卖或止损",而是"它提供一个可被独立质疑、可被重新计算的波动观测,让研究结论对风险的判断站得住脚"。
要再点透一层:正因为 ATR 不含方向,它在证据链里扮演的是"背景/权重"角色,而不是"方向/信号"角色。方向类证据(趋势、量价、基本面)说"往哪走",ATR 则说"现在这个环境有多颠簸、这条判断该给多大的把握和多宽的风险余量"。把它摆在这个位置——一个调节其他证据可信度的波动背景量——才用对了它。
常见问题
(见上方 FAQ;本节与页面结构化数据同源。)
参考来源
- Average True Range (ATR) — Definition, Formula, How to UseInvestopedia · 支撑:ATR 由 Wilder 提出、真实波幅 TR 三取大定义、14 日平滑默认参数、用于衡量波动而非方向 · 访问日期:2026-08-19
- True Range — Definition and How It Is CalculatedInvestopedia · 支撑:真实波幅 TR 三项取最大的原始定义与跳空处理 · 访问日期:2026-08-19
成交额(Amount,成交金额):以钱计量的资金参与度、与成交量的区别
成交额(Amount)是一个周期内所有成交按“成交量×成交价”累加得到的金额,单位是钱(元)。它衡量的是真实流入市场的资金规模,不受股价高低造成的“手数虚高/虚低”影响,比成交量更适合横向比较不同价位股票的资金参与度。本文讲清成交额的定义、算法与算例、怎么读、常见误用,以及在大斑(Bastix)多智能体投研系统里技术分析 Agent 如何把它当作一条量价证据、而非买卖指令。大斑只做研究、不下单、不连接券商、不承诺收益。
布林带(Bollinger Bands,BOLL):三轨原理、参数与交易信号
布林带(Bollinger Bands)由中轨移动平均线与上下两条标准差通道构成,用带宽的开口与收口刻画股价波动的强弱。本文讲清三轨的计算方式、常用参数(20 日、2 倍标准差)、开口/收口/触轨/假突破的读法、%b 与带宽两个衍生量,以及在大斑(Bastix)多智能体投研系统里技术分析 Agent 如何把布林带当作一条证据、而非买卖指令。大斑只做研究、不下单、不连接券商、不承诺收益。