ATR里的跳空怎样算进去:真实波幅三项逐日对照
ATR中的跳空不是额外把缺口再加一次,而是由真实波幅TR的三项取最大自然纳入。本例向上跳空一根,当日高减低只有三元,但高与前收相差九元,TR应取九;向下跳空一根,当日高低差四元,低与前收相差十一元,TR取十一。只用当日振幅,会漏掉这两个跨期变化。
三个候选值分别覆盖了什么距离?
当日最高减最低,覆盖当日价格区间;最高与前收绝对差、最低与前收绝对差,覆盖上一观察结束与当日区间端点之间的距离。取三者最大,等价于在一维价格轴上,覆盖前收和当天高低区间所需的总跨度。不能把三项相加,否则重叠距离会被重复计算。
本文价格单位为元,五根全为合成样本,最早一根之前的已知收盘人为给定一百元。每根开、高、低、收均列出,但TR公式只直接使用高、低与前收。开盘价用来辨认跳空场景,不作为第四个单独相加的候选值。真实数据若含拆分或复权,需要先统一口径再套公式。
五根价格的三项候选怎样逐日列出来?
第一根从给定前收一百开始,收盘一百零一,故第二根比较基准是一百零一,不是第二根开盘一百零八。第四根的比较基准同理来自第三根收盘一百零六。
| 根 | 开 | 高 | 低 | 收 | 前收 | 高减低 | 高与前收绝对差 | 低与前收绝对差 | TR |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 100 | 102 | 98 | 101 | 100 | 4 | 2 | 2 | 4 |
| 2 | 108 | 110 | 107 | 108 | 101 | 3 | 9 | 6 | 9 |
| 3 | 108 | 109 | 105 | 106 | 108 | 4 | 1 | 3 | 4 |
| 4 | 98 | 99 | 95 | 96 | 106 | 4 | 7 | 11 | 11 |
| 5 | 96 | 98 | 94 | 97 | 96 | 4 | 2 | 2 | 4 |
第二根整个区间位于前收上方,从一百零一到一百一十的距离为九,覆盖隔夜变化与当日继续上行。第四根整个区间位于前收下方,从一百零六到九十五为十一。第三根的前收位于当日高低之间,此时高低差已经覆盖整个所需区间,另两项不会让TR更大。
有了TR以后,三期ATR如何初始化?
本例前三个TR为四、九、四,先取算术均值作为第三根的ATR种子;之后使用「旧ATR乘三分之二,加新TR乘三分之一」。前两根保留未形成,而不是填零后也拿来平均。由此得到下表,这个种子与递推完全写明,不冒称任何平台的默认值。
| 根 | 三期ATR |
|---|---|
| 1 | 未形成 |
| 2 | 未形成 |
| 3 | 5.666667 |
| 4 | 7.444444 |
| 5 | 6.296296 |
如果有人同样写三期,却用简单滚动均值、EMA权重二分之一或不同初始种子,后续ATR会不同。先确认TR原始列是否一致,再比较平滑方法;不要在真实波幅已经算错时,仅调整平均周期去逼近目标结果。
跳空已经包含在TR里,为什么不能再加缺口?
以第二根为例,九元覆盖前收一百零一到最高一百一十的全部跨度。若再加开盘与前收七元,就把部分区间重复累计,得到另一个没有按本文定义计算的量。缺口大小可作为单独观察字段保存,但不应在完成三项取最大之后悄悄并入TR。
同样,不能把绝对差漏成带符号差。向下跳空时,当日高减前收与低减前收都是负数,不取绝对值就可能被当日振幅压过去,从而恰好漏掉最需要纳入的向下跨度。对称的向上、向下样本比只有上涨数据更容易发现这种错误。
只改开盘价,TR会怎样变化?
保持高、低、收和前收不变,在当天合法高低范围内改变开盘价,本文TR保持不变。这是由公式字段决定的,不意味着实际市场开盘不重要,只说明这个指标没有直接使用它。若改变开盘价时又顺便改变了当天高低,就不再是单字段受控检验。
把所有价格整体加同一常数,三项距离也应保持;把价格改用分,TR与ATR都应放大一百倍,它们是价格单位量,不是百分率。需要比较不同价格水平资产时,若另做归一化,应明确分母与名称,不能把归一化结果继续当作原始元单位ATR对照。
前收缺失时,可以拿开盘代替吗?
只能作为明确披露的新约定,不能悄悄代换后声称已经包含全部隔夜变化。第一根若没有任何前收,可以选择保留缺失,或按声明策略使用当日高低差初始化;本例则显式提供一百元前收,避免这个歧义。真实数据缺失与停牌恢复,还需要查清到底哪个观察值是适用前收。
若前收来自原始价格,高低却来自调整价格,三项可能出现人工巨大差额。先核对同一数据口径、时间顺序与字段有效性,再解释跳空。高低倒置、收盘不在范围内或重复日期都需要先作为数据异常处理,不能让取最大操作把坏输入包装成有效波幅。
这张表能支持什么结论?
它能验证五根构造输入的TR与指定平滑ATR,帮助定位差额在哪根、哪一项出现。它不说明波幅大时该采取什么行动,也不预测下一期风险大小。相关夏普工具只用于其自身基础统计,不计算本文TR或ATR;若要复现,使用列出的原始价格与逐项公式即可。
只有收盘序列时,能否倒推出完整TR?
不能。相同前收与本收可以对应不同的当日最高最低,真实波幅就可能不同。用相邻收盘绝对差代替TR,是另一个波动量,不应沿用相同名称宣称已复现。若来源缺少高低价,应报告数据不足,或明确改用何种替代统计,不凭空生成一段高低区间。
开高低收四列在导出时也要验证映射顺序。把最低误读成收盘,有时数值仍落在合理价格区间,不会立刻报错,却会改变下一根前收,从而污染后续TR。逐根保存实际引用的前收列,可以把这个传播错误直接暴露出来。
扫描得到异常大值时,先回到三项候选找出最大来源,再查原始日期和调整因子;这样比给最终ATR设置一个任意上限更能说明问题。
在哪里继续核对基础概念?
概念背景见本站已有文章;相关基础核算工具提供其界面列明的计算。本文扩展实验依靠上面的独立输入和表格复现,不把全部情景视为工具已有功能。
道积君编辑组|AI辅助起草,构造算例经程序复算。本文数据、价格及规则假设均为教学构造,不是实盘或历史记录;仅用于投资教育,不推荐具体产品,不提供交易信号,不预测或保证收益。
来源核对:TA-Lib v0.6.4源码目录。核对日:2026-10-23。来源用于公式和概念比对,本文自定实验不冒称第三方软件运行结果;真实产品适用条件需查相应有效文件。
复算资料
本篇编号为DJ056。可下载Python核算脚本(文本)与完整输入输出JSON,对照文中表格复算。脚本文件改存为.py后可用Python运行;数据均为构造教学样本。