SMMAの計算方法:数式、入力、そして何がうまくいかない可能性があるか

SMMA計算の数式入力の制限を検証。

SMMAの計算方法:数式、入力、そして何がうまくいかない可能性があるか

直接の答え

SMMA(Smoothed Moving Average:平滑化移動平均)は、再帰的な数式で計算されます。最初のポイントについて移動平均の初期値を計算した後は、次の各SMMA値は、選んだ期間(ウィンドウ長)を使って、最新の価格(またはデータポイント)と前回のSMMA値をブレンドします。重要な要件は次の3つです:(1)順序立てられた時系列、(2)選んだ期間N、(3)合意された初期SMMA値、または同等の開始ルール。

メカニズム:定義と数式

移動平均は、時系列(たとえば、各期間ごとに1回サンプリングされた価格)を、より滑らかな線へ変換します。SMMAは、毎回「新しい固定サイズの平均」だけに依存するのではなく、前回のSMMAに依存するという、平滑化の特定のスタイルです。

基本となる変数

  • N(期間/ウィンドウ長): 正の整数(例:5、10、20)。一般にNが大きいほど、出力はより滑らかになります。
  • t: 現在のデータポイントのインデックス。
  • xₜ: 時刻ステップtにおける現在の入力値(一般的には終値ですが、どんな一貫したデータ系列でも構いません)。
  • SMMAₜ: 時刻ステップtにおけるSMMA値。

よくある再帰的更新

SMMAの一般的な再帰は次のとおりです:

SMMAₜ = ( (SMMAₜ₋₁ · (N − 1)) + xₜ ) / N

これは、新しいSMMAが主に前回のSMMA(重みN−1)と最新の入力xₜ(重み1)に基づき、その後Nで割られることを示しています。

開始値が重要

再帰を使うには、最初に計算可能なポイントでのSMMAを定義する必要があります(インデックスの付け方によって、しばしばSMMA₍N₎またはSMMA₀と呼ばれます)。典型的な方法は、最初のN個の入力値に対して単純移動平均(SMA)を初期SMMAとして設定することです:

初期SMMA = (x₁ + x₂ + … + x_N) / N

他のプラットフォームでは開始の慣習が少し異なる場合もありますが、実務上の要件は同じです。初期値が定義されていなければ、後続のSMMA値を決定論的に計算できません。

証拠または例(明示的な前提つき)

次のように仮定します:

  • 時間ステップは等間隔です。
  • N = 4を選びます。
  • 入力系列は x₁, x₂, x₃, x₄, x₅, … です。
  • t = 4での初期SMMAを、最初の4つの値の平均として定義します。

入力を次のようにします:

  • x₁ = 10
  • x₂ = 12
  • x₃ = 11
  • x₄ = 13
  • x₅ = 14

ステップ1:初期SMMAを計算

初期SMMA(t=4のとき): (10 + 12 + 11 + 13) / 4 = 46 / 4 = 11.5

したがってSMMA₄ = 11.5です。

ステップ2:次のSMMA値を計算

再帰を使います: SMMA₅ = ( (SMMA₄ · (N − 1)) + x₅ ) / N = ( (11.5 · 3) + 14 ) / 4 = (34.5 + 14) / 4 = 48.5 / 4 = 12.125

この例は、次の2つの重要なメカニクスを示しています:

  1. 最新のポイントxₜは重み1/Nで入ってきます。
  2. 過去は、毎回N点平均ではなく、SMMAₜ₋₁を通じて表現されます。

制限とリスク:計算が失敗する可能性がある場所

1) 不正確または一貫しない初期値

もしあるプラットフォームが別の初期化ルールを使っている場合(たとえば、別の区間のSMAから開始したり、最初のSMMAを別のインデックスに合わせたりすることがあります)、異なる数値結果が再現されます。独立に検証するには、参照している実装で「最初のSMMAポイント」がどのように定義されているかを正確に確認してください。

2) データ欠損または不規則な時間間隔

SMMAは、各ステップtが次の期間に対応するような、順序立てられた系列を前提としています。データに欠損がある、重複したタイムスタンプがある、またはサンプリングが不規則である場合、再帰は実質的に、現実の時間間隔が不均一なまま平滑化してしまう可能性があります。出力は計算され続けますが、あなたが考えている「周波数」とは異なるものを表しているかもしれません。

3) 価格タイプの混在またはリサンプリングの不整合

もしxₜが一貫して選ばれていない場合(たとえば、終値と別のフィールドを切り替える、あるいは明確なリサンプリングルールなしに時間足を混ぜるなど)、SMMAの線は解釈しづらくなります。数式自体は決定論的ですが、その意味はxₜが実際に何であるかに依存します。

4) 期間の選択が反応性を変える

Nを変更すると、平滑化の強さが変わります:小さいNはより速く反応し、大きいNはよりゆっくり反応します。これを考慮せずに、異なるNのSMMA値を比較すると、タイミングや大きさについて誤解を招く結論を導く可能性があります。

検証と次に尋ねるべき質問

SMMA計算を独立に検証するには:

  1. あなたが使っている期間Nを固定します。
  2. 使用している入力系列xₜを書き出します(どのデータフィールドか、そしてどのサンプリング間隔か)。
  3. 初期SMMAルールを確認します(多くの場合、最初のN点に対するSMAですが、正確なインデックスの整合が一致している必要があります)。
  4. 再帰を使って1〜2ステップを再計算します。

良い次の質問は、あなたのSMMAが、参照しているシステムが定義する開始点と、数式に投入している入力系列と一致しているかどうかです。必要なら、再帰が反応性をどう変えるかを理解するために、SMMAを関連する移動平均と比較することもできます。

内部リンク(任意):

  • /forex-indicators/moving-averages/smma/
  • /forex-indicators/moving-averages/smma/how-does-smma-differ-from-related-forex-concepts/
  • /forex-indicators/moving-averages/smma/how-do-settings-change-smma/
  • /forex-indicators/moving-averages/smma/what-can-signals-from-smma-mean/
外国為替およびCFD取引には大きなリスクがあります。FoxiForexの情報は教育目的であり、個別の金融助言ではありません。スポンサー掲載は明確に表示されます。