EMA(指数移動平均)の計算方法
直接的な回答
指数移動平均(EMA)は、スムージング係数を使用して、前回のEMAと現在のデータポイントで更新されます。一般的な形式では:
- 時間 (t) の価格(またはデータ値)を (x_t) とします。
- 時間 (t) のEMAを (EMA_t) とします。
- スムージング係数を (\alpha) とします。
このとき:
[EMA_t = \alpha,x_t + (1-\alpha),EMA_{t-1}]
選択した「長さ」(n)から(\alpha)を選ぶ一般的な方法は:
[\alpha = \frac{2}{n+1}]
再帰を開始するには、(EMA_{0})(または最初に計算するEMAポイント)の初期値を選択する必要があります。これは、公式が(EMA_{t-1})に依存するためです。
メカニズム: EMAとは何か、どのような入力が必要か
EMAは、古い値よりも最近の値に重みを付ける移動平均の一種です。固定サイズのウィンドウを平均する単純移動平均と異なり、EMAは再帰的な更新によって過去を「記憶」します。
主要な用語(およびそれらが公式に対応するもの):
- データシリーズ (x_t): これは、スムージングする数列です。多くの文脈では、これは終値の数列であることが多いですが、計算自体は、数値の時系列データがあればよいと仮定しています。
- 長さ (n): このパラメータは、EMAが新しい変化にどれだけ早く反応するかを制御します。一般的に、(n)が大きいほど(\alpha)が小さくなり、反応が遅くなります。(n)が小さいほど(\alpha)が大きくなり、反応が速くなります。
- スムージング係数 (\alpha): これは、現在の値 (x_t) と前回のEMA (EMA_{t-1}) の混合を制御します。
- 初期EMA値: EMAはステップバイステップで計算されるため、最初のEMA値の選択は初期の結果に影響を与えます。
概念的な動作 各ステップでは、以下のものをブレンドします:
- 最新の観測値 (x_t) の一部、および
- 過去の観測値の影響を含む前回のEMA (EMA_{t-1}) の一部。
数学的には、繰り返し代入により、EMAは過去の値の加重平均であり、重みは時間とともに指数関数的に減少します。このため、EMAは最近の変化に迅速に反応しながら、ノイズを平滑化することができます。
証拠または例: EMAをステップバイステップで計算
以下は、リアルタイムデータを仮定せずに、EMAのメカニズムを示す小さな具体例です。
前提条件
- 長さ (n = 3) を選択します。
- (\alpha = \tfrac{2}{n+1} = \tfrac{2}{4} = 0.5) を計算します。
- 実演のために簡単な初期化を使用: 初期EMAを最初のデータ値に設定します。(EMA_1 = x_1)。
- 偽のシリーズ (x_1=10,; x_2=12,; x_3=11) を使用します。
計算
- 初期化:
- (EMA_1 = x_1 = 10)
- 次のステップ((t=2)):
- (EMA_2 = \alpha x_2 + (1-\alpha)EMA_1)
- (EMA_2 = 0.5\cdot 12 + 0.5\cdot 10 = 11)
- 次のステップ((t=3)):
- (EMA_3 = 0.5\cdot 11 + 0.5\cdot 11 = 11)
これは、2つの実用的なポイントを示しています:
- (\alpha\in[0,1]) の場合、EMAは常に現在の値と前回のEMAの間にあります。
- 現在の値が前回のEMAと等しい場合、そのステップではEMAは同じままです。
結果を変えることができるもの
同じ (n) と (\alpha) の公式を使用しても、結果は異なる場合があります:
- EMAの初期化方法が異なる場合(例: 最初の単純移動平均を使用する代わりに (x_1) を使用する)、
- データシリーズに欠落点がある場合(欠落の扱い方を決定する必要があります)、
- 長さ (n) を (\alpha) にマッピングするための異なる規約を使用する場合(一部のシステムでは同等だが同一ではないマッピングを使用しています)。
制限と失敗モード: EMAができることとできないこと
EMAは平滑化メカニズムであり、予測エンジンではありません。
物質的な制限
-
遅れは固有のもの EMAは (EMA_{t-1}) を通じて過去の値に部分的に依存するため、変化に遅れて反応します。より速いEMA(小さい (n)、大きい (\alpha))は遅れを減らしますが、ノイズに対する感度を高める可能性があります。
-
初期値に依存する初期値 EMAには初期値が必要です。サンプルの最初の近くのEMAの「経路」はその選択に依存します。システム間でEMAを比較すると、異なる初期化規約のみによって初期段階で意見が異なる場合があります。
-
非定常変化とレジムシフト 時間とともに統計的性質が変化するデータ(例: ボラティリティが増加)では、同じスムージング係数が同じ種類のスムージング効果を生み出さない場合があります。EMAは正しく計算されますが、その解釈可能性は変化する可能性があります。
-
入力データの品質が重要 シリーズ (x_t) が不一致である場合(外れ値、欠落値、または「価格」の定義が異なる場合、例: 終値 vs. 他のフィールド)、EMAはその定義を反映します。EMAは悪いまたは不一致の入力を修正することはできません。
計算を独立して確認する方法
EMA計算を自分で確認するには、以下が必要です:
- 同じ入力シリーズ (x_t)、
- 同じ選択された長さ (n)(または使用された正確な (\alpha))、および
- 同じ初期EMA値の規約。
その後、以下を使用して複数の連続した (t) について (EMA_t) を再計算できます: [EMA_t = \alpha,x_t + (1-\alpha),EMA_{t-1}] 結果が異なる場合、最も一般的な原因は (\alpha) マッピングの不一致、異なる初期化、または欠落/余分な観測値の異なる処理です。
確認と次の質問
EMA出力を解釈する目的であれば、主な次のステップは、EMAが他の移動平均とどのように異なり、設定(特に長さ)を変更すると応答性にどのような影響を与えるかを理解することです。EMAを他の移動平均の公式と比較することから始め、次にスムージング係数がEMAが新しい値に従う速度にどのような影響を与えるかを確認できます。
より深い比較と設定効果については、以下を参照してください:
- 内部リンク: /forex-indicators/moving-averages/ema/how-does-ema-differ-from-related-forex-concepts/
- 内部リンク: /forex-indicators/moving-averages/ema/how-do-settings-change-ema/