已弃用 (2026-05-25) —— 该算子是 Layer-1 变换、非 Layer-0 原子输入,已并入
compute_ema_v1。保留作历史。
做什么(One-liner)
EMA 指数移动平均(α = 2/(n+1) convention,adjust=False 递推)。
怎么用
python
from services.algo.technical import compute_ema
compute_ema(prices, period=12) # MACD 快线
compute_ema(prices, period=26) # MACD 慢线核心公式
α = 2 / (period + 1)
EMA_0 = P_0
EMA_t = α × P_t + (1-α) × EMA_{t-1}
# pandas 等价
prices.ewm(span=period, adjust=False).mean()假设与适用场景
假设:TradingView / MT4 convention α = 2/(n+1) + recursive (adjust=False) + first-value init。
适用:MACD、Bollinger middle、momentum 策略。
不适用:Wilder α=1/n(那是 RSI)、短序列。
已知局限
- α 硬编码 2/(n+1)
- adjust=False recursive(前几期 biased)
- 等距假设
参考文献
Murphy (1999) + Roberts (1959) EWM 统计起源。
Golden Test
tests/golden/fixtures/tier1/compute_ema/,1e-12,2026-04-20 passing。
Changelog
- 1.0.0 (2026-04-20) — 首次 Active

