凯尔特纳通道的计算方法
直接答案
凯尔特纳通道通过在价格周围绘制三条线来计算:一条中线,通常是移动平均线;以及两条外侧轨道,它们从中线偏移一个平均真实波幅(ATR)的倍数。核心要求是时间序列价格数据,以便你可以计算移动平均线和ATR,然后使用固定参数(周期和乘数)将它们组合起来。
机制与定义
组成部分
- 中线(基准):通常为所选价格序列(例如收盘价)的移动平均线。移动平均线通过对最近 N 个观测值取平均来“平滑”数据。
- 波动率度量:ATR 用于估算回溯窗口内的平均价格波动。ATR使用每个周期的真实波幅(TR),该值反映了价格波动的幅度,并考虑了相对于前一收盘价的跳空。
- 轨道构建:上下轨道通过从中线加上或减去一个基于波动率的距离来构建。
逐步公式(通用形式)
设:
- (P_t) 为时间 (t) 的选定输入价格(通常为收盘价)。
- (MA_t) 为 (P_t) 在 (m) 个周期内的移动平均线(“基准”周期)。
- (ATR_t) 为时间 (t) 的 (n) 周期平均真实波幅。
- (k) 为轨道乘数(决定通道宽度的缩放因子)。
则凯尔特纳通道的线通常为:
- 上轨:(Upper_t = MA_t + k \cdot ATR_t)
- 中线:(Middle_t = MA_t)
- 下轨:(Lower_t = MA_t - k \cdot ATR_t)
ATR的计算方法(所需数据)
要计算ATR,首先需计算真实波幅 (TR_t)。对于每个周期 (t),真实波幅基于:
- 当前最高价 (H_t)
- 当前最低价 (L_t)
- 前一收盘价 (C_{t-1})
一个常见的定义是: [ TR_t = \max\big(H_t - L_t,\ |H_t - C_{t-1}|,\ |L_t - C_{t-1}|\big) ] 然后ATR通常是 (TR_t) 在 (n) 个周期内的平均值(通常使用移动平均法,如Wilder风格平滑,但不同实现可能使用不同的平均方法)。这意味着即使两个提供方使用相同的 (n),如果其平滑方法不同,也可能显示不同的ATR值。
移动平均线选择的重要性
即使在“基准为移动平均线”的概念下,仍有多种选择:
- 使用哪个价格序列(收盘价 vs. 典型价格 vs. 其他组合)
- 移动平均线类型(简单 vs. 指数等)
- 移动平均线在数据集开始时如何初始化
这些选择会改变 (MA_t),从而整体上移或下移通道。
可验证或可复现的示例
以下是可复现的数值设置。它不使用实时价格,仅展示依赖关系。
假设
- 时间步长:每个周期一根K线(例如,一根蜡烛图)。
- 每个周期 (t) 的输入数据:(H_t, L_t, C_t)。
- 中线使用收盘价的移动平均线:(MA_t = SMA_m(C_t))(选择 (m))。
- ATR从 (TR_t) 计算,并在 (n) 个周期内取平均。
- 乘数 (k) 固定。
计算流程
- 计算每个周期 (t\ge 2) 的 TR:
- (TR_t = \max(H_t-L_t, |H_t-C_{t-1}|, |L_t-C_{t-1}|))
- 在有足够数据的每个周期计算ATR:
- (ATR_t = \text{最近 } n \text{ 个周期的 } TR \text{ 的平均值})
- 计算中线:
- (MA_t = \text{收盘价 } C \text{ 在 } m \text{ 个周期内的移动平均})
- 计算轨道:
- (Upper_t = MA_t + k\cdot ATR_t)
- (Lower_t = MA_t - k\cdot ATR_t)
比较结果时应检查的内容
如果你在电子表格或脚本中实现此方法并与图表工具比较,常见的差异来源包括:
- 使用不同的价格作为基准
- 使用不同的ATR平均方法(简单平均 vs. Wilder风格平滑)
- ATR在不同时间点应用偏移(例如,(ATR_t) 使用当前K线还是以前一根K线结束)
- 真实波幅的不同定义,特别是对缺失数据的特殊处理
局限性与失效模式
1) 不同惯例产生不同通道
凯尔特纳通道并非具有单一固定参数集的通用公式。其结构一致(基准 ± 缩放后的ATR),但实现方式可能在以下方面存在差异:
- 基准价格(收盘价 vs. 其他)
- 移动平均线类型
- ATR平滑方法
- K线对齐和初始化
因此,如果两个来源显示不同的轨道,可能是由于计算惯例不同,而非“错误”值。
2) 初期周期不稳定或未定义
在数据集的开始阶段,可能没有足够的K线来计算:
- (m) 个周期的完整移动平均线
- (n) 个周期的完整ATR
许多图表工具会输出部分值、延迟输出或以不同方式初始化平均值。任何比较都应集中在 (MA_t) 和 (ATR_t) 均已完全形成的区域。
3) 通道宽度反映波动率,而非方向
尽管轨道对波动率有反应,但它们本身并不“预测”结果。更宽的轨道意味着波动率度量更大;它并不能告诉你价格将朝哪个方向移动。
4) 数据质量和K线构建影响TR和ATR
ATR依赖于 (H_t)、(L_t) 和前一收盘价 (C_{t-1})。如果你的输入数据包含:
- 缺失或修正的高低点
- 不同的交易时段截止点
- 时区变化
则 (TR_t) 会变化,从而改变ATR,进而影响通道宽度。
验证与后续问题
要验证你自己的计算,请选择一个数据集并明确写下你的惯例:基准(哪种移动平均线、哪种价格序列、(m) 值)、ATR方法(TR的定义和 (n) 周期内的平均方法)以及乘数 (k)。然后计算TR、计算ATR、计算基准,最后计算 (Upper_t) 和 (Lower_t)。
如果你想进一步探索,一个有用的后续问题是:改变 (m)、(n) 或 (k) 如何影响轨道的响应速度和宽度。这可以通过使用不同参数值重新运行相同数据,并观察 (Upper_t) 和 (Lower_t) 随时间扩展或收缩的速度来测试。