金融, 动量

三重指数振荡器Trix

Trix

三重指数振荡器(Trix):捕捉趋势背离的动量指标 一、什么是 Trix 指标? Trix,全称 Triple Exponential Average Oscillator,中文常译为三重指数振荡器,是一种旨在消除短期价格波动、专注于长期趋势变动的技术分析工具。它本质上是一个动量型振荡器,利用三次指数平滑处理后的收盘价变化率,来识别市场中的趋势背离与转折信…

三重指数振荡器(Trix):捕捉趋势背离的动量指标


一、什么是 Trix 指标?

Trix,全称 Triple Exponential Average Oscillator,中文常译为三重指数振荡器,是一种旨在消除短期价格波动、专注于长期趋势变动的技术分析工具。它本质上是一个动量型振荡器,利用三次指数平滑处理后的收盘价变化率,来识别市场中的趋势背离转折信号

Trix 最早由 Jack Hutson 于 1980 年代提出,广泛应用于股票、期货和加密货币市场中。


二、Trix 的计算原理

Trix 指标包含两个核心组成:

1. 三重指数移动平均(Triple EMA)

  • 首先对收盘价进行一次 EMA 平滑;
  • 再对第一次平滑结果进行第二次 EMA;
  • 最后再对第二次 EMA 结果进行第三次 EMA。

这一过程显著减少价格“噪音”,保留中长期趋势主线。

2. 动量计算

Trix 输出的是三重 EMA 的百分比变化率(即差值除以前一日值):

Trix = 100 * (当前三重 EMA − 昨日三重 EMA) / 昨日三重 EMA

这个值即是我们常说的 Trix 主线,通常会再计算一个 Trix 信号线,用于交叉判断。


三、pandas_ta 中的 trix() 函数说明

pandas_ta 中,可以通过 ta.trix() 快速调用该指标:

函数调用方式示例:

import pandas_ta as ta
df['TRIX'], df['TRIXs'] = ta.trix(df['Close'], length=18, signal=9).iloc[:,0], ta.trix(df['Close'], length=18, signal=9).iloc[:,1]

参数详解:

参数名 类型 含义 默认值
close Series 收盘价序列 必填
length int 三重 EMA 的周期长度 18
signal int 信号线(Signal Line)周期 9
scalar float 输出比例缩放因子(通常为 100) 100
drift int 差分的时间间隔 1
offset int 偏移期数 0

四、trix() 函数返回的字段含义

该函数返回一个 2列 DataFrame,列名格式如下:

字段名 中文名称 说明
TRIX_18_9_100_1 三重指数主线 18期Trix主值,百分比变化
TRIXs_18_9_100_1 信号线 对主线使用 9期 EMA 平滑所得

你可以通过交叉判断这两条曲线的位置,得出买卖信号。


五、Trix 的信号解读与交易应用

✅ 1. 趋势判断

  • Trix 主线为正:表明长期趋势向上;
  • Trix 主线为负:表明长期趋势向下;
  • Trix 由负转正或由正转负:趋势拐点信号。

✅ 2. 交叉策略

  • 金叉(Trix 主线上穿信号线):多头信号;
  • 死叉(Trix 主线下穿信号线):空头信号。

✅ 3. 背离识别

Trix 指标与价格走势的背离是一种强烈的预警信号:

  • 价格创新高但 Trix 无法创新高:可能是顶部信号;
  • 价格创新低但 Trix 无法创新低:可能是底部信号。

六、Trix 实战案例:以比特币为例

以下是使用 pandas_tamatplotlib 对 BTC-USDT 历史数据应用 Trix 指标的示例:

import yfinance as yf
import pandas_ta as ta
import matplotlib.pyplot as plt

# 获取历史数据
btc = yf.download("BTC-USD", start="2023-01-01", end="2024-01-01")

# 计算 Trix
trix = ta.trix(close=btc['Close'], length=18, signal=9)
btc = btc.join(trix)

# 绘图
plt.figure(figsize=(14, 6))
plt.plot(btc.index, btc['TRIX_18_9_100_1'], label='Trix 主线', color='blue')
plt.plot(btc.index, btc['TRIXs_18_9_100_1'], label='信号线', color='orange')
plt.axhline(0, linestyle='--', color='gray')
plt.title('比特币三重指数振荡器(Trix)示意图')
plt.legend()
plt.grid(True)
plt.show()

七、总结:Trix 是趋势捕捉与背离识别的双重工具

三重指数振荡器(Trix) 在趋势交易系统中具有不可忽视的重要地位:

  • 多层平滑算法有效降低市场噪声;
  • 可清晰捕捉趋势拐点与背离;
  • 配合 MACD、RSI 等其他指标使用效果更佳。

Trix 的结构与输出简单清晰,但内涵深刻,是中高级量化交易者构建交易策略时的理想选择之一。