金融, 重叠

三角形移动平均线trima

Triangular Moving Average

三角形移动平均线:兼顾平滑与灵敏的价格中枢 ——Triangular Moving Average(TMA) 一、指标缘起 三角形移动平均线(下称 TMA)与常见的简单移动平均线(SMA)或指数移动平均线(EMA)不同,它采用对称三角权重:窗口中心的数据权重最大,两端权重逐级递减,如同等腰三角形。这种设计在削弱价格噪声的同时,仍能保持对趋势变化的敏感度,被视为“进阶版 SMA”。

三角形移动平均线:兼顾平滑与灵敏的价格中枢

——Triangular Moving Average(TMA)


一、指标缘起

三角形移动平均线(下称 TMA)与常见的简单移动平均线(SMA)或指数移动平均线(EMA)不同,它采用对称三角权重:窗口中心的数据权重最大,两端权重逐级递减,如同等腰三角形。这种设计在削弱价格噪声的同时,仍能保持对趋势变化的敏感度,被视为“进阶版 SMA”。


二、核心算法

当周期 n 为偶数时,将价格序列先做一次 n/2 期 SMA,再对结果再做一次 (n/2+1) 期 SMA;若 n 为奇数,则两次取同样的 (n+1)/2

TradingView 公式:TMA = SMA(SMA(src, ceil(n/2)), floor(n/2)+1)

这种“两次平滑、居中加权”的递归,使得曲线在波动性大的市场中依然流畅,且相较 EMA 滞后更低


三、用 pandas_ta 计算 TMA

import pandas as pd, pandas_ta as ta
df = pd.read_csv("OHLC.csv")           # 包含 close 列
df["TMA_10"] = ta.tma(df["close"], length=10)
  • length 预设值 10,可根据品种波动性调整。
  • 返回结果为 Series,列名如 TMA_10
  • 可用 offset 将曲线前移或后移,避免“未来数据泄露”误判。

四、TMA 与其他均线对照

均线 权重分布 延迟 平滑度 典型用途
SMA 等权 长周期支撑
EMA 递减 快速拐点
TMA 对称三角 震荡过滤

TMA 在震荡格局下优于 EMA,避免频繁假信号;在单边趋势中又比 SMA 反应更快,成为短中周期交易的黄金折中方案。


五、实战示例:BTC 日线

import matplotlib.pyplot as plt
plt.plot(df["close"], label="收盘价", alpha=.6)
plt.plot(df["TMA_10"], label="TMA(10)", color="orange")
plt.title("Bitcoin 与三角形均线")
plt.legend(); plt.grid(); plt.show()

图中可见:

  • 价格上穿 TMA 并持续在其上方→多头延续;
  • 价格跌破 TMA→预示回调;
  • 当烛线紧贴 TMA、波幅收窄,则为蓄势阶段

六、策略要点

  1. 趋势过滤:仅在价格位于 TMA 上方时做多,下方时做空。
  2. 多均线交叉:用 TMA(10) 与 TMA(30) 交叉判断中线拐点。
  3. 动态止损:将 TMA 作为跟踪止盈/止损线,跟随趋势保护利润。

七、结语

三角形移动平均线凭借独特的对称权重,在平滑与灵敏之间找到理想平衡。配合 pandas_ta.tma() 的Python实现,交易者可高效将其融入量化策略,用更干净的趋势线洞悉市场脉搏,提升决策质量与回测稳健度。