見出し画像

EMAの平滑化係数に関する考察

移動平均線(MA: Moving Average)はインジケータの中で最も広く用いられるものである.昔ながらの単純移動平均線(SMA: Simple Moving Average)も用いられるが,最近は指数平滑移動平均線(EMA: Exponential Moving Average)が主流になっている.

EMAについて勉強し始めると,間もなくEMAには平滑化係数(smoothing factor)$${\alpha \in (0,1)}$$というフリーパラメータが存在するが,金融の世界では,ある特定の選び方($${n}$$をローソク足の数として$${\alpha=\frac{2}{n+1}}$$)が流布していることが分かる.

しかし,なぜその選び方が業界スタンダードになっているのか調べても分からなかったので,自分で考えることにした.自分としては一応の落とし所を見つけることができたので,ここに記録しておく.識者からコメントなど頂けたら幸いである.


指数平滑化(exponential smoothing)とは

いま,$${t+1}$$個のデータ$${\{x_0,x_1,\cdots, x_{t-1}, x_t\}\; (t \in {\mathbb N})}$$があるとする.例えば,$${t}$$が今日の日付で,今日も入れて$${t+1}$$日分の過去の為替レート(または株価など)が分かっていると考えればよい.

まず,期間$${n}$$のSMAの今日の値は次のように定義される.

$$
\begin{align*}{}
u_t := \frac{x_{t}+x_{t-1}+ \cdots +x_{t-(n-1)}}{n}.
\end{align*}
$$

つまり,$${n}$$個のデータの算術平均である.それに対して,EMAは次のように定義される.

$$
\begin{align*}{}
s_0 & = x_0,\\
s_t &= \alpha x_{t} +(1-\alpha) s_{t-1} \;\;\; (t \geq 1).\\
\end{align*}
$$

ここで,$${\alpha \in (0,1)}$$が平滑化係数である.つまり,$${s_t}$$は今日のレート$${x_t}$$と昨日のEMAの値$${s_{t-1}}$$の加重平均である.極端な場合を考える.$${\alpha \to 1-0}$$の極限ではまったく平滑化(smoothing)はされず($${s_t=x_t}$$),$${\alpha \to +0}$$の極限では平滑化され過ぎて,すべての$${s_t}$$がデータの初期値に等しくなってしまう($${s_t=s_{t-1}=\cdots=s_0=x_0}$$).

上の式を繰り返し用いると,$${s_t}$$が全データ$${\{x_0,x_1,\cdots, x_{t-1}, x_t\}}$$の線形結合で表されることが分かる.

$$
\begin{align*}{}
s_t = \alpha [x_{t} +(1-\alpha) x_{t-1} +(1-\alpha)^2 x_{t-2} + \cdots +  (1-\alpha)^{t-1} x_{1} ] + (1-\alpha)^t x_0.\\
\end{align*}
$$

この式から,なぜ「指数」平滑と呼ばれるかも分かる.右辺を見ると過去に遡るほどデータに$${(1-\alpha),(1-\alpha)^2,\cdots,(1-\alpha)^t}$$という重みが掛けられており,過去の値からの影響が指数関数的に軽減されているからである.

さて,$${s_t}$$が$${\{x_0,x_1,\cdots, x_{t-1}, x_t\}}$$の重み付き「平均」となっているためには,係数の総和が1になっていなければならない.ここで,等比級数の和の公式$${S_n = \sum_{k=0}^n r^n = \frac{1-r^{n+1}}{1-r} \; (r \neq 1)}$$を用いると,上式の係数の総和は

$$
\begin{align*}{}
&\alpha [1 +(1-\alpha) +(1-\alpha)^2 + \cdots +  (1-\alpha)^{t-1} ] + (1-\alpha)^t
\\
&= \alpha \frac{1-(1-\alpha)^t}{1-(1-\alpha)} + (1-\alpha)^t
=
1
\end{align*}
$$

と,$${\alpha, t}$$に依らず1になっていることが分かる.


業界スタンダードにはどんな意味があるのか

ここで,「業界スタンダード」$${\alpha=\frac{2}{n+1}}$$には,どのような意味があるのか深読みしてみよう.$${s_t}$$を$${x_0,x_1,\cdots}$$で表した式で第$${n}$$項までを残すと次のようになる.

$$
\begin{align*}{}
s_t \simeq \alpha [x_{t} +(1-\alpha) x_{t-1} +(1-\alpha)^2 x_{t-2} + \cdots +  (1-\alpha)^{n-1} x_{t-(n-1)} ]
\end{align*}
$$

このとき,右辺が本来の$${s_t}$$のうちどの程度の割合を正しく近似できているかは,各項の係数の和として計算できるはずである:

$$
\begin{align*}{}
W_n:=
\alpha [1 +(1-\alpha) +(1-\alpha)^2 + \cdots + (1-\alpha)^{n-1}]
%=
%\alpha \frac{1-(1-\alpha)^{n}}{1-(1-\alpha)}
=
1-(1-\alpha)^{n}.
\end{align*}
$$

この式に$${\alpha=\frac{2}{n+1}}$$を代入して,$${n \to \infty}$$の極限をとってみる:

$$
\begin{align*}{}
W_n
=
1-\left(1-\frac{2}{n+1}\right)^{n}
=
1-\left(1-\frac{2}{n+1}\right)^{\frac{n+2}{2} \cdot \frac{2n}{n+2}}
\to
1-\frac{1}{e^2}
\;
(n \to \infty).
\end{align*}
$$

ここで,ネイピア数$${e}$$の定義から$${\lim_{y \to 0}(1-y)^{1/y}=1/e}$$であることを用いている.また,最後の極限値の近似値は$${1-\frac{1}{e^2} \simeq 0.864\cdots}$$である.

上の結果から言えることは,「$${\alpha=\frac{2}{n+1}}$$とすれば,($${n}$$が十分大きければ)第$${n}$$項までで全データの約86%を取り入れていることになる」ということである.


素朴な疑問

完全には納得いかないが,議論の大筋はあっている気がする.

では,なぜ86%なのであろうか.$${1-\frac{1}{e^3} \simeq 0.95}$$(つまり95%)や$${1-\frac{1}{e^4} \simeq 0.98}$$(つまり98%)では駄目なのだろうか.一般に,平滑化係数を$${\alpha=\frac{m}{n+m-1}\;(m \in {\mathbb N})}$$とすれば,上の極限は$${1-\frac{1}{e^m}}$$となるから,いくらでも調整可能である.多分,そこら辺は経験的なものから86%が妥当と考えられるようになったのだろう.

EMAって何?という人には以下の動画が役立つだろう.


いいなと思ったら応援しよう!