指数移动平均
指数移动平均(Exponential Moving Average,EMA)是一种加权移动平均,根据数据点的新旧程度分配不同的权重和重要性,即其权重随着时间的推移而指数递减。
定义
假设我们有 t t t 个数据: [ X 1 , X 2 , . . . , X t ] [X_1, X_2, ..., X_t] [X1,X2,...,Xt]
普通的平均数:
X
ˉ
=
1
n
∑
i
=
1
t
X
i
\bar{X}=\frac{1}{n}\sum_{i=1}^{t}{X_i}
Xˉ=n1i=1∑tXi
指数移动平均数的计算公式如下:
E
M
A
n
(
t
)
=
E
M
A
n
(
t
−
1
)
∗
(
1
−
α
)
+
X
t
∗
α
EMA_n(t) = EMA_n(t-1) * (1 - α) + X_t * α
EMAn(t)=EMAn(t−1)∗(1−α)+Xt∗α
其中:
- E M A n ( t ) EMA_n(t) EMAn(t) 表示第 t t t 个数据点的 n n n 日指数移动平均值
- E M A n ( t − 1 ) EMA_n(t-1) EMAn(t−1) 表示第 t − 1 t-1 t−1 个数据点的 n n n 日指数移动平均值
- X t X_t Xt 表示第 t t t 个数据点的值
- α α α 表示指数平滑因子,取值范围为 0 到 1,通常取值为 0.1 到 0.3
证明
根据定义,我们可以得到以下等式:
E
M
A
n
(
t
)
=
E
M
A
n
(
t
−
1
)
∗
(
1
−
α
)
+
X
t
∗
α
EMA_n(t) = EMA_n(t-1) * (1 - α) + X_t * α
EMAn(t)=EMAn(t−1)∗(1−α)+Xt∗α
将
E
M
A
n
(
t
−
1
)
EMA_n(t-1)
EMAn(t−1) 用上述等式代替,得到:
E
M
A
n
(
t
)
=
(
E
M
A
n
(
t
−
2
)
∗
(
1
−
α
)
2
+
X
t
−
1
∗
(
1
−
α
)
)
∗
(
1
−
α
)
+
X
t
∗
α
EMA_n(t) = (EMA_n(t-2) * (1 - α)^2 + X_{t-1} * (1 - α)) * (1 - α) + X_t * α
EMAn(t)=(EMAn(t−2)∗(1−α)2+Xt−1∗(1−α))∗(1−α)+Xt∗α
重复上述操作,可以得到:
E
M
A
n
(
t
)
=
(
X
0
∗
α
n
+
X
1
∗
α
n
−
1
+
.
.
.
+
X
t
−
1
∗
α
+
X
t
)
/
(
α
n
+
α
n
−
1
+
.
.
.
+
α
+
1
)
EMA_n(t) = (X_0 * α^n + X_1 * α^{n-1} + ... + X_{t-1} * α + X_t) / (α^n + α^{n-1} + ... + α + 1)
EMAn(t)=(X0∗αn+X1∗αn−1+...+Xt−1∗α+Xt)/(αn+αn−1+...+α+1)
将
α
α
α 等于 1 减去
β
β
β 代入,得到:
E
M
A
n
(
t
)
=
(
X
0
∗
β
n
+
X
1
∗
β
n
−
1
+
.
.
.
+
X
t
−
1
∗
β
+
X
t
)
/
(
β
n
+
β
n
−
1
+
.
.
.
+
β
+
1
)
EMA_n(t) = (X_0 * β^n + X_1 * β^{n-1} + ... + X_{t-1} * β + X_t) / (β^n + β^{n-1} + ... + β + 1)
EMAn(t)=(X0∗βn+X1∗βn−1+...+Xt−1∗β+Xt)/(βn+βn−1+...+β+1)
因此,指数移动平均线可以表示为:
E
M
A
n
(
t
)
=
∑
i
=
0
t
−
1
X
i
β
t
−
i
−
1
∑
i
=
0
n
−
1
β
i
EMA_n(t) = \frac{\sum_{i=0}^{t-1} X_i \beta^{t-i-1}}{\sum_{i=0}^{n-1} \beta^{i}}
EMAn(t)=∑i=0n−1βi∑i=0t−1Xiβt−i−1
其中:
- β β β 表示指数平滑因子,取值范围为 0 到 1,通常取值为 0.1 到 0.3
特点
指数移动平均线具有以下特点:
- 越近期的数据加权影响力越重,但较旧的数据也给予一定的加权值。
- 指数移动平均线的计算公式是一个递归公式,因此可以很容易地计算出任意长度的指数移动平均线。
- 指数移动平均线可以用于识别趋势、判断支撑和阻力水平、以及预测未来价格走势。
应用
指数移动平均线在技术分析中有着广泛的应用。它可以用于识别趋势、判断支撑和阻力水平、以及预测未来价格走势。
- 趋势识别
指数移动平均线可以用于识别趋势。如果短期指数移动平均线穿越长期指数移动平均线,则表明趋势发生了变化。
- 支撑和阻力水平
指数移动平均线可以用于识别支撑和阻力水平。如果价格在指数移动平均线附近波动,则表明该水平可能成为支撑或阻力水平。
- 预测未来价格走势
指数移动平均线可以用于预测未来价格走势。如果短期指数移动平均线向上突破长期指数移动平均线,则表明价格可能继续上涨。反之,如果短期指数移动平均线向下突破长期指数移动平均线,则表明价格可能继续下跌。
注意事项
在使用指数移动平均线时,需要注意以下事项:
- 指数移动平均线的周期长度会影响其敏感性。周期越短,指数移动平均线越敏感于短期波动;周期越长,指数移动平均线越敏感于长期趋势。
- 指数移动平均线可以与其他技术指标
reference
@misc{BibEntry2023Nov,
title = {{xn–56j炼丹技巧xn–66j指数移动平均xn–zg7cEMAxn–0g7c的原理及PyTorch实现}},
journal = {知乎专栏},
year = {2023},
month = nov,
urldate = {2023-11-09},
language = {chinese},
note = {[Online; accessed 9. Nov. 2023]},
url = {https://zhuanlan.zhihu.com/p/68748778}
}