移動平均は、時系列データ(より一般的には時系列に限らず系列データ)を平滑化
する手法である。音声や画像等のデジタル信号処理に留まらず、金融(特にテクニカル分析)分野、気象、水象を含む計測分野等、広い技術分野で使われる。有限インパルス応答に対するローパスフィルタ(デジタルフィルタ)の一種であり、分野によっては移動積分とも呼ばれる。主要なものは、単純移動平均と加重移動平均と指数移動平均の3種類である。普通、移動平均といえば、単純移動平均のことをいう。 単純移動平均 (英: Simple Moving Average; SMA) は、直近の n 個のデータの重み付けのない単純な平均である。例えば、10日間の終値の単純移動平均とは、直近の10日間の終値の平均である。それら終値を p M {\displaystyle p_{M}} , p M − 1 {\displaystyle p_{M-1}} , ..., p M − 9 {\displaystyle p_{M-9}} とすると、単純移動平均 SMA(p,10) を求める式は次のようになる: SMA M = p M + p M − 1 + ⋯ + p M − 9 10 {\displaystyle {\text{SMA}}_{M}={p_{M}+p_{M-1}+\cdots +p_{M-9} \over 10}} 翌日の単純移動平均を求めるには、新たな終値を加え、一番古い終値を除けばよい。つまり、この計算では、改めて総和を求め直す必要はない[注釈 1]。 SMA t o d a y = SMA y e s t e r d a y − p M − n + 1 n + p M + 1 n {\displaystyle {\text{SMA}}_{\mathrm {today} }={\text{SMA}}_{\mathrm {yesterday} }-{p_{M-n+1} \over n}+{p_{M+1} \over n}} テクニカル分析では様々な n の値が使われる(5、22、55、200など)[1]。期間の選択は注目している動きの種類に依存する。すなわち短期間の動きなのか、中期間の動きなのか、長期間の動きなのか、である。いずれにしても、移動平均線は、市場が上昇傾向(ブルマーケット)にある場合はサポート
単純移動平均
一般に移動平均線は実際の動きから少し遅れて平滑化した上で追随する。SMA をあまりに長期間の平均を取るようにすると、現在の平均的な価格からかけ離れた古い価格の影響を受けすぎることがある。これに対処するために考案された、最近の価格に大きな重み付けを与える方式として、後述するWMAとEMAがある。
SMAの特徴として、データに周期的変動があるとき、その周期でSMAを求めると周期が平滑化される。しかし、経済や金融では完全な周期的変動が生じることはほとんどない[2]。 加重平均とは、個々のデータに異なる重みをつけて平均を計算するものである。単に加重移動平均 (英: Weighted Moving Average; WMA) と言った場合、線形加重移動平均 (英: Linear Weighted Moving Average; LWMA) のことを指し、重みを徐々に線形に(一定量ずつ)減らす手法を指す。n 日間の WMA では、最も現在に近い日の重みを n とし、その前日を n-1、…… のように重みを減らしていって、最終的にゼロにする。 WMA M = n p M + ( n − 1 ) p M − 1 + ⋯ + 2 p M − n + 2 + p M − n + 1 n + ( n − 1 ) + ⋯ + 2 + 1 {\displaystyle {\text{WMA}}_{M}={np_{M}+(n-1)p_{M-1}+\cdots +2p_{M-n+2}+p_{M-n+1} \over n+(n-1)+\cdots +2+1}} WMA の重み付け N=15 の場合 翌日の WMA を計算するには、 WMA M + 1 {\displaystyle {\text{WMA}}_{M+1}} と WMA M {\displaystyle {\text{WMA}}_{M}} の分子 (numerator) の差分が n p M + 1 − p M − ⋯ − p M − n + 1 {\displaystyle np_{M+1}-p_{M}-\cdots -p_{M-n+1}} であることに注目する。ここで、n 日間の総和 p M + ⋯ + p M − n + 1 {\displaystyle p_{M}+\cdots +p_{M-n+1}} を Total M {\displaystyle {\text{Total}}_{M}} で表すと、次のようになる: Total M + 1 = Total M + p M + 1 − p M − n + 1 {\displaystyle {\text{Total}}_{M+1}={\text{Total}}_{M}+p_{M+1}-p_{M-n+1}} Numerator M + 1 = Numerator M + n p M + 1 − Total M {\displaystyle {\text{Numerator}}_{M+1}={\text{Numerator}}_{M}+np_{M+1}-{\text{Total}}_{M}} WMA M + 1 = Numerator M + 1 n + ( n − 1 ) + ⋯ + 2 + 1 {\displaystyle {\text{WMA}}_{M+1}={{\text{Numerator}}_{M+1} \over n+(n-1)+\cdots +2+1}} この分母は三角数であり、 n ( n + 1 ) 2 {\displaystyle n(n+1) \over 2} として簡単に計算できる。 上図は、WMA での重みがどのように変化(減少)するかを示したものである。次節の指数平滑移動平均での重みと比較するとよい。 指数移動平均(英: Exponential Moving Average; EMA) では、指数関数的に重みを減少させる。指数加重移動平均 (英: Exponentially Weighted Moving Average; EWMA)、指数平滑移動平均 (英: Exponentially Smoothed Moving Average) とも呼ばれる。重みは指数関数的に減少するので、最近のデータを重視するとともに古いデータを完全には切り捨てない(重みは完全にゼロにはならない)。右図は、重みの減少する様子を表したものである。なお、EMA は移動平均とは呼べないとする立場もあり、その場合は指数平滑平均 (英: Exponential Average) と呼ぶ。 重みの減少度合いは平滑化係数と呼ばれる 0 と 1 との間の値をとる定数 α で決定される。α は百分率で表現されることもあり、平滑化係数が 10% というのは α=0.1 と同じことを表している。αを時系列区間 N で表すこともあり、その場合は α = 2 N + 1 {\displaystyle \alpha ={2 \over {N+1}}} となる。例えば、N=19 なら α=0.1 となる。重みの半減期(重みが0.5以下となる期間)は、約 N/2.8854 である(N>5 のとき1%の精度で)。 時系列上のある時点 t の値を Yt で表し、ある時点 t での EMA を St で表す。S1 は定義しない。S2 の値をどう設定するかにはいくつかの手法があり、S2 の値を Y1 とすることが多いが、S2 を時系列上の最初の4つか5つのデータの平均とすることもある。α が小さい場合、S2 をどう設定するかは比較的重要であるが、αが大きい場合は(古い値の重みが小さくなるので)重要ではない。 t≧3 の場合の EMA の計算式は次のとおりである。[3] S t = α × Y t − 1 + ( 1 − α ) × S t − 1 {\displaystyle S_{t}=\alpha \times Y_{t-1}+(1-\alpha )\times S_{t-1}} この計算式は Hunter (1986)によるものである[3]。各データの重みは、 α ( 1 − α ) x Y t − ( x + 1 ) {\displaystyle \alpha (1-\alpha )^{x}Y_{t-(x+1)}} になる。Roberts (1959) では Yt-1 の代わりに Yt を使っていた[4]。 この式をテクニカル分析の用語を使って表すと次のようになる。用語が異なるだけで同じ式である EMA t o d a y = EMA y e s t e r d a y + α × ( price t o d a y − EMA y e s t e r d a y ) {\displaystyle {\text{EMA}}_{\mathrm {today} }={\text{EMA}}_{\mathrm {yesterday} }+\alpha \times ({\text{price}}_{\mathrm {today} }-{\text{EMA}}_{\mathrm {yesterday} })}
加重移動平均
指数移動平均EMA の重み付け N=15 の場合