ウィリアムズ %R(ウィリアムズR)の計算方法

ウィリアムズRの計算式の入力に関する、見返し(ルックバック)制限の検証。

ウィリアムズ %R(ウィリアムズR)はどのように計算されるのか

直接の答え:ウィリアムズ %R の計算式

Williams %R(「Williams R」または「%R」と表記されることが多い)は、現在の終値を直近の取引レンジと比較するオシレーターです。標準的な計算では、長さ N の見返し(ルックバック)ウィンドウを使用します。

数式(標準形): [ \text{Williams %R} = -100 \times \frac{H_{N} - C}{H_{N} - L_{N}} ]

ここで:

  • (C) = 最も直近の終値(計算しているバーの終値)
  • (H_{N}) = 過去 N 本のバーにおける最高値(現在のバーを含む)
  • (L_{N}) = 過去 N 本のバーにおける最安値(現在のバーを含む)

出力レンジ(計算可能な場合): 有効な (H_{N} \neq L_{N}) があるとき、結果は通常 −100 から 0 の範囲に収まります。

メカニズムと定義:入力が意味するもの

ウィリアムズ %R を手順ごとに計算するには、移動(ローリング)レンジ内の正規化された位置として扱います。

  1. ルックバック・ウィンドウ(N)を選ぶ。

    • 図示のための例として: (N = 14) 本のバー。
    • N の選択は、新しい高値や安値に対して指標がどれだけ素早く反応するかを変えます。
  2. その N 本のバーにおける移動の極値を見つける。

    • (H_{N}) は、ウィンドウ内の「高値」の最大値です。
    • (L_{N}) は、ウィンドウ内の「安値」の最小値です。
  3. 現在の終値をレンジと比較する。

    • 分子 (H_{N} - C) は、現在の終値がウィンドウの最高値からどれだけ下にあるかを測ります。
    • 分母 (H_{N} - L_{N}) は、ウィンドウ全体のレンジ幅(総レンジサイズ)を測ります。
  4. 負の符号を付けてオシレーターにスケールする。

    • −100 を掛けることで、−100 から 0 のスケール上での正規化された位置を表します。

簡単な実例(明示的な前提つき)

次の前提で、あるバーで指標を計算しているとします:

  • ルックバック・ウィンドウ (N = 5)
  • (C = 1.2000)
  • 過去 5 本のバーにおける最高値が (H_{N} = 1.2100)
  • 過去 5 本のバーにおける最安値が (L_{N} = 1.1950)

計算:

  • (H_{N} - C = 1.2100 - 1.2000 = 0.0100)
  • (H_{N} - L_{N} = 1.2100 - 1.1950 = 0.0150)

そして:

  • (\frac{H_{N}-C}{H_{N}-L_{N}} = \frac{0.0100}{0.0150} = 0.6667)
  • (\text{Williams %R} = -100 \times 0.6667 \approx -66.67)

純粋に数学的な解釈:

  • (C) が (H_{N}) に近いほど、分数は小さくなり、値は 0 に近づきます。
  • (C) が (L_{N}) に近いほど、分数は大きくなり、値は −100 に近づきます。

限界とリスク:計算が失敗したり誤解を招いたりする場所

Williams %R は数学的にはシンプルですが、実際の利用は、計算された値に影響する細部に依存します。

1) レンジが崩壊したときのゼロ除算

過去 N 本のバーで次が成り立つ場合:

  • (H_{N} = L_{N})

このとき分母 (H_{N} - L_{N}) は 0 になり、数式は定義されません。これは、ウィンドウ内で価格が変動しないとき(たとえば流動性が低い期間やデータの問題の後など)に起こり得ます。このような場合、プラットフォームは「利用不可」、空欄の値、または別の扱いを表示することがあります。

2) ルックバックの選択が反応性を変える

(H_{N}) と (L_{N}) は移動ウィンドウから得られるため、N の異なる値は次を変えます:

  • 新しい極値がウィンドウに入ったり出たりする頻度
  • 価格変化の後に指標がどれだけ速く動くか

これは予測精度を保証するものではなく、パラメータ感度です。

3) データ定義:高値・安値・終値の取得元

Williams %R は、バーの 高値安値終値 の値に直接依存します。実務上、プロバイダーはバーの作り方を変えることがあります:

  • 値がビッド/アスクのミッドポイントに基づくのか、最終約定に基づくのか、または他のフィードに基づくのか
  • セッションがどのようにロールオーバーするか
  • ギャップのある時間軸で「終値」がどのように選ばれるか

同じ数式が使われていても、入力データが異なれば、プロットされる結果も異なり得ます。

4) 過去の関係は将来の結果を意味しない

計算されたオシレーター値が既知の過去の挙動と一致していても、それは、同様の将来の条件が同じ結果を生むことを保証しません。市場環境は変化し得て、指標は将来方向を直接測るものというより、価格データの変換であり続けます。

5) 計算されたレンジを考慮せずに %R を解釈する

よくある失敗パターンは、オシレーター値だけに注目し、それが意味のあるレンジに基づいているかを確認しないことです。

  • 初期のバーでは (H_{N}) と (L_{N}) を計算するのに十分な履歴がない可能性があります。
  • ウィンドウ内のボラティリティが異常に低い場合、小さな価格差が大きな「パーセンテージのような」変化を生むことがあります。

検証と次の質問:自分で確認する方法

必要な入力と数式だけを使って、独自にウィリアムズ %R を検証できます。

  1. 時間軸を選び、チャート上のバーを1つ決めます。
  2. テストしたいルックバック・ウィンドウ (N) を固定します。
  3. そのウィンドウ上で (H_{N})(最高値)と (L_{N})(最安値)を手作業で求めます。
  4. 同じバーの終値 (C) を読み取るか記録します。
  5. 次に代入します: (\text{Williams %R} = -100 \times \frac{H_{N} - C}{H_{N} - L_{N}})
  6. 計算した値が、チャートツールに表示される値と一致するか確認します(四捨五入の範囲内で)。

一致しない場合、不一致の原因は通常、次の扱いの違いです:

  • ウィンドウの包含(極値が現在のバーを含むかどうか)
  • バーの構築(高値/安値/終値がどのように定義されるか)
  • 欠損データ、または未定義ケースの扱い

必要なら、(たとえば (N) を変えるなどして)感度がどう変わるかを比較したり、この指標が他のモメンタム・オシレーターとどのように関係するかを見直したりできます。

DOCUMENT END

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