TRIX 是如何计算的?公式、输入和实际验证
在计算 TRIX 之前先理解其含义
TRIX(通常写作“TRIX”)是一种基于平滑价格构建的趋势指标。其核心思想是先减少噪声,然后测量经过深度平滑后的数值变化速度。
在许多实现中,TRIX 以百分比变化率的形式表示。关键点在于,TRIX 并不是一个神奇的单一数值:其输出取决于输入的价格序列(例如收盘价)、平滑长度以及用于计算变化的周期。
TRIX 公式(你需要计算的内容)
常见的 TRIX 计算步骤如下。
步骤 1:构建指数移动平均(EMA)
设 P[t] 为时间 t 的选定价格(例如收盘价)。对于平滑长度 n,EMA 的递归计算如下:
- EMA[t] = EMA[t−1] + α · (P[t] − EMA[t−1])
- 其中 α = 2 / (n + 1)
这将得到一个 EMA 平滑序列。
步骤 2:再次平滑——EMA 的 EMA
TRIX 使用三重平滑。因此你需要连续应用三次 EMA:
- EMA1[t] = P[t] 的 EMA,长度为 n
- EMA2[t] = EMA1[t] 的 EMA,长度为 n
- EMA3[t] = EMA2[t] 的 EMA,长度为 n
经过这三次处理后,EMA3[t] 即为“三重平滑”后的值。
步骤 3:将三重平滑值转换为变化率
TRIX 通常定义为 EMA3 在 TRIX 周期 m 内的百分比变化率:
- TRIX[t] = 100 · (EMA3[t] − EMA3[t−m]) / EMA3[t−m]
某些平台可能使用略有不同的缩放方式(例如返回原始分数而不是乘以 100)。但核心机制保持不变:三重平滑,然后计算 m 期的相对变化。
输入和参数要求(你需要的数据)
要正确计算 TRIX,你需要:
- 一致的价格序列 P[t]
- 选择你要平滑的数据字段(通常为“收盘价”)。
- 保持与后续验证或图表值对比时的一致性。
- 平滑长度 n
- 控制每次 EMA 处理对输入的平滑强度。
- TRIX 变化周期 m
- 控制计算变化率时回溯 EMA3 的时间长度。
- 一种初始化方法
- EMA 递归需要一个初始 EMA 值。许多系统使用初始平均值或第一个可用值作为种子。
- 不同的种子选择可能导致早期值不同,即使后期值会收敛。
如果你想独立验证任何显示的 TRIX 值,必须匹配这些选择:价格字段、n、m,以及(如适用)EMA 的初始化方式。
一个简单的计算示例(含假设)
为使计算具体化,假设:
- P[t] 是收盘价序列。
- 平滑长度 n = 3,因此 α = 2 / (3 + 1) = 0.5。
- TRIX 周期 m = 1(因此你与前一个三重平滑值比较)。
假设你已从前序步骤获得 EMA1[t−1]、EMA2[t−1] 和 EMA3[t−1]。
- 计算 EMA1[t]:
- EMA1[t] = EMA1[t−1] + 0.5 · (P[t] − EMA1[t−1])
- 计算 EMA2[t]:
- EMA2[t] = EMA2[t−1] + 0.5 · (EMA1[t] − EMA2[t−1])
- 计算 EMA3[t]:
- EMA3[t] = EMA3[t−1] + 0.5 · (EMA2[t] − EMA3[t−1])
- 将 TRIX[t] 计算为 EMA3 的百分比变化:
- TRIX[t] = 100 · (EMA3[t] − EMA3[t−1]) / EMA3[t−1]
重要假设:此处使用 m = 1。如果 m 大于 1,最后一步应将 EMA3[t] 与 EMA3[t−m] 比较。
预期的局限性和失效模式
即使你的代码正确,以下问题仍可能导致 TRIX 值看起来“错误”:
- 参数不匹配
- 如果其他图表使用不同的 n 或 m,数值将不同。
- 不同的价格输入
- 平滑“收盘价”与其他字段(如典型价格)会改变输出。
- 初始化差异
- 早期 TRIX 值可能因 EMA 序列的种子设置不同而偏移。
- 分母过小导致除法不稳定
- 由于 TRIX 是相对变化,若 EMA3[t−m] 非常接近零(某些数据变换下可能发生),百分比变化率可能变得不稳定。
- 过度平滑与响应性之间的权衡
- 较大的 n 会更平滑但可能延迟转折点;较小的 n 可能保留更多噪声。这是平滑机制固有的权衡。
重要的是,TRIX 是一种基于过去价格行为的指标。其历史关系不能保证未来表现;成本、执行和市场状态变化可能实际改变“趋势变化”的含义。
如何独立验证 TRIX
可靠验证 TRIX 的方法是使用你读取指标所用的相同数据重新计算:
- 步骤 A:收集确切的价格序列并确认字段(例如收盘价)。
- 步骤 B:使用选定的 n 实现 EMA,并确认 α = 2/(n+1)。
- 步骤 C:连续应用三次 EMA 得到 EMA3。
- 步骤 D:将 TRIX 计算为 EMA3 在 m 期内的百分比变化率。
- 步骤 E:比较多个时间戳,尤其是在足够“预热”数据之后。
预热很重要:早期值可能因 EMA 种子设置而不同。如果你的实现匹配相同定义,并忽略初始不稳定区域,结果应高度一致。
如果你的数值仍存在差异,最常见的原因是参数不匹配(n 或 m)、不同的价格输入或不同的 EMA 初始化。
你可能尝试的相关概念检查
如果你在比较不同指标,请确保未混淆定义。例如,某些相关的动量或趋势指标可能只使用一次 EMA 或不同的变化公式。在这种情况下,输出方向可能相似,但数值不会匹配,因为底层的平滑和变换步骤不同。