Vortex 指标如何计算:公式、输入与验证

Vortex 指标计算公式的输入、验证与局限性。

Vortex 指标如何计算:公式、输入与验证

Vortex 是什么,以及“计算”意味着什么

Vortex 是一种技术指标,用于衡量在选定回溯周期内价格方向性动量的强度。在实际应用中,它基于每根价格K线的高点和低点进行计算,生成两个值,通常称为 VI+ 和 VI−。

这里的“计算”是指:对每一根K线,该指标会计算方向性动量分量,然后在回溯窗口内取平均值,从而得到两条线,通过比较这两条线可以判断近期价格走势更倾向于向上还是向下。

关键的一点是,给定输入的价格序列(高点和低点)以及选定的参数(尤其是回溯周期长度),该指标的数值输出是确定性的。在不同市场、数据提供商或数据集之间发生变化的并非公式本身,而是输入数据和K线的构建方式。

Vortex 的计算(公式与参数)

为了描述其计算机制,假设你有一组按时间顺序排列的K线。令:

  • High[t] 表示当前K线的最高价。
  • Low[t] 表示当前K线的最低价。
  • High[t−1] 和 Low[t−1] 表示前一根K线的最高价和最低价。

选择一个回溯周期长度,通常记为 N(例如,在许多教学场景中 N = 14)。对于每一个已有足够历史数据的K线 t,Vortex 会生成两个类似真实波幅(true-range)的方向性动量分量:

  1. 计算上升和下降动量分量
  • VM+(t) = |High[t] − Low[t−1]|,如果 High[t] − Low[t−1] > 0;否则为 0
  • VM−(t) = |Low[t] − High[t−1]|,如果 Low[t] − High[t−1] > 0;否则为 0

(一些公开资料中使用“若相关差值为正则保留,否则设为0”的方式来表达这些分量。其目的是通过相邻K线的高点和低点来区分向上或向下的动量。)

  1. 计算综合波幅分量
  • TR(t) = max(High[t], Low[t−1]) − min(Low[t], High[t−1])
  1. 在回溯周期内取平均
    对最近 N 根K线(从 t−N+1 到 t)求和后再除:
  • VI+(t) = (k 从 t−N+1 到 t 的 VM+(k) 之和) / (k 从 t−N+1 到 t 的 TR(k) 之和)
  • VI−(t) = (k 从 t−N+1 到 t 的 VM−(k) 之和) / (k 从 t−N+1 到 t 的 TR(k) 之和)

在通常定义下,这会产生两个介于 0 和 1 之间的值,因为每个 VM 分量都是从与 TR 相同波幅逻辑中的非负部分构建而来。如果 TR 的总和为 0(例如,输入数据异常或恒定不变),则除法无定义;稳健的实现方式会返回缺失值或跳过该计算。

哪些数据要求是关键的

要自行计算 Vortex,你需要:

  • 一组按时间顺序排列的K线。
  • 每根K线的最高价和最低价。
  • 选定的回溯周期 N。

你不需要收盘价来进行核心 Vortex 计算(按常见描述);方向性强度来源于当前K线高/低点与前一根K线之间的关系。

通过可验证的示例验证计算

由于此处不假设任何具体实时价格,示例为符号化但可验证。

设 N = 3,并考虑K线 t = 1, 2, 3, 4。假设你想计算 VI+(4) 和 VI−(4)。计算将使用 k = 2, 3, 4 这三根K线作为最近的回溯窗口。

步骤 A:对每个 k ∈ {2, 3, 4},计算:

  • VM+(k),使用 High[k] 和 Low[k−1]
  • VM−(k),使用 Low[k] 和 High[k−1]
  • TR(k),使用 High[k]、Low[k]、High[k−1]、Low[k−1]

步骤 B:在窗口内求和:

  • SumVM+(4) = VM+(2) + VM+(3) + VM+(4)
  • SumVM−(4) = VM−(2) + VM−(3) + VM−(4)
  • SumTR(4) = TR(2) + TR(3) + TR(4)

步骤 C:相除:

  • VI+(4) = SumVM+(4) / SumTR(4)
  • VI−(4) = SumVM−(4) / SumTR(4)

你可以独立验证的内容:

  • 如果 VM+(k) 在所选“方向性差值”非正时被设为 0,则只有当上升动量在窗口中占主导时,VI+(t) 才会上升。
  • 如果高低点模式对称或交替出现,导致 VM+ 和 VM− 值相近,则 VI+ 和 VI− 也会趋于接近。

即使不解释这两条线的意义,你也可以通过重新计算每根K线的中间分量(VM+、VM− 和 TR),并检查求和与除法结果是否与你的计算器或图表软件一致,来确认计算的正确性。

预期的关键局限性与失效模式

  1. 对回溯周期长度(N)的敏感性
    较长的 N 会使方向性强度在更多K线上平滑,使 VI+ 和 VI− 反应更慢。较短的 N 会使它们对近期变化响应更快。失效模式是误判时机:相同的市场行为可能仅因参数选择不同而产生不同的读数。

  2. 依赖于K线的构建方式
    Vortex 使用每根K线的最高价和最低价。如果图表使用不同的时间周期、不同的交易时段,或来自不同数据供应商的略有差异的高低点数据,你计算出的 VI+ 和 VI− 可能不同。这不是公式问题,而是输入数据对齐的问题。

  3. 并非独立信号
    该指标输出的是方向性强度的相对度量,而非方向或时机的保证。在缺乏上下文的情况下解释 VI+ 与 VI− 的关系可能导致过度自信——尤其是在震荡市中,两条线都可能频繁波动。

  4. 除以零或接近零的波幅
    如果在窗口内 TR 的总和为 0(例如,输入序列为常数或退化),则比率无定义。即使不完全为零,极小的 TR 总和也可能使比率不稳定,放大噪声。

如何在不预设结果的情况下验证 Vortex 计算

一种实用的验证方法是将该指标视为纯粹的数学计算:

  1. 选定 N 和特定的K线索引 t。
  2. 提取你的图表或数据文件中使用的精确高低点数值。
  3. 对回溯窗口内的每一根K线 k,重新计算 VM+(k)、VM−(k) 和 TR(k)。
  4. 求和并相除,得到 VI+(t) 和 VI−(t)。
  5. 将你计算出的数值与同一时间段和K线对齐的图表输出进行比较。

如果你的数值不匹配,常见原因包括:

  • 对方向性分量的定义不同(正/零逻辑的表达方式存在微小差异)。
  • 参数约定不同(例如,标为 N 的指标可能在内部使用不同的有效窗口长度)。
外汇和差价合约交易具有重大风险。FoxiForex的信息仅用于教育,不构成个人财务建议。赞助内容会被清楚标注。