マス指数(Mass Index)はどのように計算されますか?
直接の答え
マス指数(Mass Index)は、価格系列の高値-安値レンジを用い、2回平滑化して比率に変換し、その後ロール(移動)ウィンドウで合計することで算出される、ボラティリティベースの指標です。各時点における指標の値は、これらの決定論的な手順から導かれますが、解釈は選択したパラメータと、市場のボラティリティ条件に大きく左右されます。
メカニズムまたは定義
マス指数(しばしば MI と略されます)は、「価格レンジの広がり方(高値−安値)が変化すると、市場の挙動の変化に先行することがある」という考え方から構築されています。計算は、指標のパラメータを選べば完全に指定できます。
典型的な計算では、次の概念と入力を使います。
-
価格レンジ(生のレンジ): 各バーまたは時点 t ごとに、レンジを次のように計算します。
- Range(t) = High(t) − Low(t)
-
1回目の平滑化(EMA または類似のもの): レンジを長さ n の移動平均で平滑化します。
- S1(t) = MovingAverage(Range, n)
-
2回目の平滑化: S1 を同じ長さ n でさらに平滑化します。
- S2(t) = MovingAverage(S1, n)
-
比率(「マス」ステップ): 最初の平滑化系列を2つ目の平滑化系列で割って比率を作ります。
- Ratio(t) = S1(t) / S2(t)
直感: S2 が S1 に比べて小さい場合、比率は大きくなります。この比率は、レンジの変化に対して平滑化がどう反応するかに敏感です。
-
ロール(移動)合計(MIステップ): 長さ m のウィンドウで比率を合計します。
- MI(t) = Σ[Ratio(t−k)] for k = 0 to m−1
多くの MI の説明では、m は 平滑化長の2倍に設定されます(たとえば n = 9 なら m = 18)。また、チャーティング実装によっては特定のデフォルトのパラメータ組を使うこともありますが、正確なデフォルトは普遍的ではありません。
計算に影響する前提
MI を正確に自分で計算するには、少なくとも次を(またはデータソースで)仮定する必要があります。
- バーの種類と時間軸(1分足、日足など)。
- High と Low を定義する価格系列(スポット価格の配信の慣習は異なる場合があります)。
- 「移動平均」が何か(一般的には指数移動平均ですが、実装によって異なることがあります)。
- n(平滑化)と m(合計ウィンドウ)に対して どの期間を選ぶか。
比較対象の指標の実装と、これらの前提がどれかでも異なる場合、数値は一致しない可能性があります。
証拠または例
MI は、入力とパラメータが決まれば決定論的なので、短いデータセットで小さな実例を使って検証できます。
最小の例のセットアップ
時点 t = 1…6 に対して、High と Low を持つバー データがあると仮定します。パラメータを次のように選びます。
- 平滑化長 n = 2
- ロール合計ウィンドウ m = 4
- 移動平均の方法: 説明のための 単純移動平均(SMA)(EMA のような別の選択をすると結果が変わります)
手順 A — 生のレンジを計算:
- Range(t) = High(t) − Low(t)
手順 B — 最初の平滑化系列 S1 を計算:
- S1(t) は、直近 n 点における Range の移動平均です。
- SMA と n = 2 の場合、S1(t) は Range(t) と Range(t−1) に依存します。
手順 C — 2つ目の平滑化系列 S2 を計算:
- S2(t) は、直近 n 点における S1 の移動平均です。
手順 D — 比率を計算:
- Ratio(t) = S1(t) / S2(t)
手順 E — MI をロール合計として計算:
- MI(t) = Ratio(t) + Ratio(t−1) + Ratio(t−2) + Ratio(t−3)
値を再現するときに確認すべきこと
計算した MI をプラットフォームの MI と比較する場合:
- アラインメント: 同じバーインデックスを使っていることを確認します(十分なウォームアップ期間の後にのみ値を出力するプラットフォームがあります)。
- ウォームアップの影響: S1 と S2 はそれぞれ n 点を必要とし、MI は m 個の比率を必要とするため、初期の値は十分な過去データが必要になることがよくあります。
- 割り算のエッジケース: S2 が 0、または極端に小さくなる場合(特定のデータや平滑化の挙動で起こり得ます)、比率が急増したり不安定になったりすることがあります。
「シグナル」を解釈しなくても、この検証は EMA と SMA の違い、あるいは異なる期間デフォルトなどのよくある不一致を見つけるのに役立ちます。
限界とリスク
MI の仕組みは安定していますが、実データでの挙動は条件と実装上の選択に依存します。主な制限には次が含まれます。
-
パラメータ感度: n(平滑化長)または m(合計ウィンドウ)を変えると、MI の大きさとタイミングが変わります。パラメータデフォルトが異なる2つの実装は一致しない可能性があります。
-
移動平均の違い: あるプラットフォームが EMA を使い、別のプラットフォームが SMA を使う(または「移動平均」の定義が異なる)場合、計算される S1 と S2 が異なり、その差が Ratio と MI に連鎖します。
-
ボラティリティ・レジーム依存: MI は高値-安値レンジに基づきます。非常に低ボラティリティの期間ではレンジが小さくノイズっぽくなり、比率が不安定になったり、微小な変動に支配されたりすることがあります。
-
データ品質と市場のミクロ構造: 高値と安値は、スプレッド、ティックサイズ、ギャップ、そしてデータがどのようにサンプリングされるかの影響を受け得ます。MI は High−Low を直接使うため、そうしたアーティファクトに反応し得ます。
-
解釈は一般化が保証されない: 指標が転換点の可能性を検出するのに有用だと説明されていても、過去の関連性が将来のパフォーマンスを保証するわけではありません。
-
故障モード: 割り算の不安定性: MI には平滑化系列の比率が含まれるため、S2 が 0 に近づく(数値的または構造的に)と、MI は意味のあるレンジ拡大と無関係な極端な値を生成する可能性があります。
これらの制限から、MI は将来の価格方向性についての単独の確実性としてではなく、定量的な計算と記述的なツールとして扱うべきです。
検証または次の質問
マス指数を独立に検証するには:
- 対象にしている実装が使っている 正確なパラメータ値(n と m)を確認します。
- 両方の平滑化ステップで使われる 移動平均の種類を確認します。
- Range = High−Low を計算し、次に S1 と S2、次に Ratio、そしてロール合計を計算します。
- プラットフォームの ウォームアップ挙動(MI が利用可能になる最初の時点)を再現できているか確認します。
さらに進めたい場合の有用な次の質問は、MI の構築が関連するボラティリティやレンジに基づく概念とどう違うのか、そして設定を変えることでロール合計の挙動や反応性がどう変わるのか、です。