ストキャスティックレンジの計算方法?公式、入力、および制限
直接的な回答
ストキャスティックレンジは、選択した「現在の価格」を、過去の高値と安値で定義されたローリングルックバックウィンドウ内に配置し、その結果をスケーリングして、現在の価格がその過去の範囲内でどの位置にあるかを表す境界付き値にします。
簡単に言えば、これは「過去N本のバーの中で、今日の価格は観測されたレンジのトップにどれだけ近く、ボトムからどれだけ遠いのか」という質問に答えます。
メカニズムと定義
典型的なストキャスティックレンジの計算は、次の構造に従います。
- ルックバックウィンドウの長さを選択し、通常はNと呼ばれます。
- 各バーごとに計算します:
- HighestHigh(N) = 過去N本のバーの選択した高値の最大値
- LowestLow(N) = 過去N本のバーの選択した安値の最小値
- 「現在の」値として使用する価格を選択します。一般的な選択肢は現在の終値です(ただし、一部のバリアントでは他の価格成分を使用します)。
次に、スケーリングされた位置を計算します:
ストキャスティックレンジ(基本形)
[ KR = \frac{CurrentPrice - LowestLow(N)}{HighestHigh(N) - LowestLow(N)} ]
これをパーセンテージのような測定値として表現するために、一部の実装では100を掛けます:
[ SR = 100 \times \frac{CurrentPrice - LowestLow(N)}{HighestHigh(N) - LowestLow(N)} ]
解釈(シグナルを約束しない):
- CurrentPrice = LowestLow(N)の場合、KR = 0(またはSR = 0)。
- CurrentPrice = HighestHigh(N)の場合、KR = 1(またはSR = 100)。
- CurrentPriceが2つの間にある場合、値は0と1(または0と100)の間にあります。
データ要件
上記を一貫して計算するには、次のものが必要です:
- OHLC(または少なくとも高値、安値、選択した現在の価格(例:終値)の時系列データ。
- バーの境界の明確な定義(例:日足バー対1時間足バー)、ローリング高値/安値は粒度に依存するため。
- 固定されたルックバック長N。
バリアントの違い(なぜ2つのチャートが異なる結果を示すか)
ストキャスティックレンジは、他の「ストキャスティック」指標とともに議論されることが多く、実装が異なります。最も一般的な不一致の原因は以下の通りです:
- どの「現在の」価格を使用するか(終値対他の成分)。
- 最高高値と最低安値の計算方法(例:OHLCの高値/安値を使用するか、調整済み入力を使用するか)。
- スムージングが適用されるか(一部のバージョンではスケーリングの前後に移動平均ステップを追加します)。
これらの選択肢は計算された数値を変更するため、実装定義に依存する公式として扱う必要があります。
証拠または例(明示的な仮定付き)
以下は、スムージングなしの基本形を使用した具体例で、以下を仮定しています:
- CurrentPrice = Closeを使用します。
- 過去N = 5本のバーを使用します。
- 計算します:
- **HighestHigh(5)**は過去5本の高値から
- **LowestLow(5)**は過去5本の安値から
過去5本のバーで以下を観測したと仮定します:
- HighestHigh(5) = 1.2000
- LowestLow(5) = 1.1800
- CurrentPrice(最新の終値)= 1.1950
ステップ1:分母(レンジ幅)を計算します:
- HighestHigh(5) − LowestLow(5) = 1.2000 − 1.1800 = 0.0200
ステップ2:分子(ボトムからの距離)を計算します:
- CurrentPrice − LowestLow(5) = 1.1950 − 1.1800 = 0.0150
ステップ3:スケーリングします:
- KR = 0.0150 / 0.0200 = 0.75
- SR = 100 × 0.75 = 75
したがって、ストキャスティックレンジの値は、クローズが観測された5本の高値-安値レンジの約75%の位置にあることを示しています。
重要な例外:分母がゼロの場合
**HighestHigh(N) = LowestLow(N)**の場合、分母はゼロになります。これは、ウィンドウ内で高値と安値が等しい場合(例:関連する入力に変動がない期間やデータのクイックによる)に発生する可能性があります。
このような場合、実装では通常:
- デフォルト値(しばしば0または欠落)を返すか、
- 特別なケースの動作を定義します。
計算を確認する際には、選択した方法がこのエッジケースをどのように処理するかを確認してください。
制限とリスク(結果を壊す可能性のある要因)
-
ウィンドウ選択はすべてを変えます ルックバック長Nは高値-安値の境界を制御します。長いNはより広いレンジを使用し、通常はより滑らかで安定したスケーリングを生成します。短いNはより速く反応しますが、一時的な極値に対してより敏感になる可能性があります。
-
粒度はローリングレンジに影響を与えます 日足バーから時間足バーに切り替えると、「N本のバー」の最高高値と最低安値は異なる時間範囲を指すため、計算された値は直接比較できません。
-
データ品質とソースの一貫性 計算には高値と安値の極値を使用するため、データフィードやバー構築の微小な違いがHighestHigh(N)とLowestLow(N)をシフトさせ、オシレーター値をシフトさせる可能性があります。
-
バリアント定義により、異なるインジケーターのように見える可能性があります 1つのプラットフォームがスムージングを適用したり、異なる「現在の」価格を使用したりすると、計算されたストキャスティックレンジはルックバック長が同じでも異なる可能性があります。
-
組み込みの予測保証はありません 数学が正しくても、過去のレンジ内の計算された位置は、そのものだけでは将来の結果を保証しません。過去のレンジ構造は変化する可能性があり、同じストキャスティックレンジレベルは非常に異なる市場状況で発生する可能性があります。
確認と次に質問すべきこと
ストキャスティックレンジを独立して確認するには:
- 正確な実装定義を確認します:N、どの価格がCurrentPriceか、値が0–1または0–100にスケーリングされるか、スムージングが使用されるか。
- OHLCデータから直接**HighestHigh(N)とLowestLow(N)**を計算します。
- 公式をバーごとに再計算し、HighestHigh(N) − LowestLow(N) = 0のエッジケースを確認します。
次のステップが必要な場合は、Nと任意のスムージング(特に)の選択された設定が出力にどのように影響するかを尋ねてください。一般的なフォローアップは:設定はストキャスティックレンジをどのように変えますか?