テマはどのように計算されるか(計算式・パラメータ・必要データ)

TEMAの計算方法と、検証に必要な入力を学びましょう。

テマはどのように計算されるか(計算式・パラメータ・必要データ)

直接の答え:TEMAの計算

TEMAはTriple Exponential Moving Average(トリプル指数平滑移動平均)です。同じ入力価格系列から計算した3つの指数平滑移動平均(EMA)を組み合わせることで、1つの平滑化された値を生成します。

よく使われるTEMAの形は次のとおりです。

  • EMA1 = 期間 n の価格系列のEMA
  • EMA2 = EMA1のEMA(同じ期間 n
  • EMA3 = EMA2のEMA(同じ期間 n

そして、

TEMA = 3·EMA1 − 3·EMA2 + EMA3

したがって、3つのEMAを一貫して計算できれば、TEMAも計算できます。

メカニズムまたは定義:どんな入力とパラメータが重要か

1) 入力データ系列

TEMAは、時系列順に並んだ値の系列(しばしばテクニカル分析における「価格」系列)から計算されます。どの系列を使うかを決める必要があります(たとえば終値など)そして、それを一貫して使用してください。

重要な要件:TEMAは、正確な数値入力系列に依存します。2つのソースが異なる価格定義(または異なるリサンプリング規則)を使っている場合、同じ期間でもTEMA値は異なり得ます。

2) 平滑化期間 n

上の式で明示的に指定されている唯一のパラメータは、期間長 n です。

  • n はEMAがどれくらい素早く反応するかを制御します。
  • n が大きいほど、一般により強く平滑化され(反応は遅くなる)。
  • n が小さいほど、一般により速く反応し、しばしば短期の変動が大きくなります。

3) EMAステップ(構成要素)

TEMAを計算する前に、まずEMAを計算します。標準的なEMAの更新では、平滑化係数を使います。

α = 2 / (n + 1)

よくある再帰的な定義は次のとおりです。

EMA_t = α·Price_t + (1 − α)·EMA_(t−1)

再帰を開始するには、最初のEMA値に対する初期化ルールを選ぶ必要があります(たとえば、EMA_(first) を最初のPrice値に設定する、または最初の n 個の値の平均を使う—ソフトウェアによって異なる場合があります)。この初期化の選択は、初期のEMA、ひいては初期のTEMA値に直接影響します。

4) 3つのEMAを構築する

上のEMA定義を使うと:

  • EMA1 は、選んだ入力系列から直接計算されます。
  • EMA2 は、EMA1系列に同じEMA手順を適用して計算されます。
  • EMA3 は、EMA2系列に同じEMA手順を適用して計算されます。

3つとも同じ平滑化期間 n を使うため、同じ α になります。

証拠または例:自己検証できる計算ワークフロー

以下は、あなたのデータでまったく同じように再現できる計算ワークフローです。

この例の前提:

  • 数値系列 Price[1…T] を持っている。
  • 期間 n を選ぶ。
  • α = 2/(n+1) を使う。
  • 期間全体を通して、1つの一貫したEMA初期化方法を使う。

手順:

  1. 次の式で Price[t] から EMA1[t] を計算する:
    • EMA1[t] = α·Price[t] + (1−α)·EMA1[t−1]
  2. 同じEMA更新をEMA1に適用して EMA2[t] を計算する:
    • EMA2[t] = α·EMA1[t] + (1−α)·EMA2[t−1]
  3. 同じEMA更新をEMA2に適用して EMA3[t] を計算する:
    • EMA3[t] = α·EMA2[t] + (1−α)·EMA3[t−1]
  4. それらを組み合わせる:
    • TEMA[t] = 3·EMA1[t] − 3·EMA2[t] + EMA3[t]

独立検証のアイデア:

  • これらの手順を2回実装する(たとえばスプレッドシートとコードで)場合、同じ α と初期化ルールを使えば、少なくとも最初の「ウォームアップ」部分以降は、両方のTEMA系列はかなり一致するはずです。

制限とリスク:TEMAが誤解を招く、または破綻する場所

1) 初期値は初期化に依存する

EMAは再帰的な定義を使うため、EMA1の開始値が、その後のEMA1の値を決め、さらにEMA2、EMA3へと影響します。つまり、初期のTEMAポイントは実装間で目立って変わる可能性があります。

重要な制限:初期化の正確な使われ方がデータソースで分からない限り、EMAベースの指標の最初の数点は「ウォームアップ」値として扱うべきです。

2) TEMAは依然としてノイズ入力に敏感

TEMAは単純なEMAと比べて遅れを減らすように構成されていますが、基となる価格系列のランダム性を取り除くわけではありません。入力系列に頻繁な小さな反転やノイズがあると、TEMAはより遅い平均よりも大きく振動することがあります。

失敗パターン:不安定、または低品質な系列(たとえば欠損データの影響を受けている、またはサンプリングが一貫していない系列)に対してTEMAを計算すると、出力が信頼できなくなる可能性があります。

3) 現場には異なる定義が存在する

TEMA = 3·EMA1 − 3·EMA2 + EMA3 は広く使われていますが、プラットフォームによってはEMAの初期化の扱いが異なったり、実務上わずかに異なる慣習を使ったりすることがあります。その結果、異なるプロバイダーの「TEMA」ラインは完全には一致しないかもしれません。

検証リスク:「TEMA」という名前が計算詳細の完全一致を保証するとは考えられません。プロバイダーの正確なパラメータ設定と初期化を確認する必要があります。

4) 時間軸とデータ前処理が重要

  • n* を変えなくても、前処理—たとえばバーのリサンプリング、取引セッションの違い、欠損タイムスタンプの扱い—は入力系列を変え、その結果EMAチェーンも変わります。

重要な制限:TEMA値は、再計算なしでは、時間軸や異なる前処理を施したデータ間で転用できません。

検証または次の質問:TEMAを確認するために何と比較するか

TEMA計算を独立して確認するには:

  1. 使っている入力系列を確認する(たとえば終値)。
  2. 期間 n を確認し、それにより α = 2/(n+1) を確認する。
  3. EMA1のEMA初期化ルールを確認する(そしてEMA2とEMA3が同じ慣習を使っているかどうか)。
  4. EMA1、EMA2、EMA3を再計算し、次に 3·EMA1 − 3·EMA2 + EMA3 を適用する。

有用な次のステップは、同じデータセットで、同じ初期化を使った2つ目の独立実装で計算したTEMAと比較することです。ウォームアップ領域の後に一致するなら、あなたの仕組みはおそらく正しいです。

さらに進めたい場合は、同じ入力系列におけるTEMAが他の移動平均とどのように関係しているか、また n を変えると平滑さと反応性がどう変わるかも確認できます。

外国為替およびCFD取引には大きなリスクがあります。FoxiForexの情報は教育目的であり、個別の金融助言ではありません。スポンサー掲載は明確に表示されます。