ボリンジャーバンドとRSIの計算方法
直接的な回答:公式、パラメータ、データ入力
ボリンジャーバンドとRSIは、どちらも単一の時系列(通常は終値)から計算されます:
- ボリンジャーバンドは、中間バンドの周りに上バンドと下バンドを作成します。中間バンドは通常移動平均であり、バンド間の距離は過去の期間における価格の標準偏差から得られます。
- RSI(相対力指数)は、最近のモーメントムを要約するオシレーターです。過去の期間における平均的な利益と平均的な損失を比較し、その結果を0から100の値にマッピングします。
過去の期間の長さと、ボリンジャーバンドの場合は移動平均の種類と標準偏差の乗数を選択すれば、両方の指標を計算できます。
メカニズム:各指標が必要とするものと計算方法
ボリンジャーバンド:定義とステップバイステップの計算
時系列 (P_t) を時刻 (t) における価格(一般的な入力は終値)と仮定します。パラメータを選択します:
- (n):過去の期間の長さ(期間数)
- (k):バンドの標準偏差乗数
- (\text{MA}):中間バンドに使用する移動平均の方法(しばしば単純移動平均、SMA)
各時刻 (t) において十分な過去のデータがある場合(すなわち、(t) には少なくとも (n) 個の過去の観測値がある場合):
-
中間バンド(基礎) [ \text{MB}t = \text{MA}(P{t-n+1},\dots,P_t) ] SMAを使用する場合、 [ \text{MB}t = \frac{1}{n}\sum{i=0}^{n-1} P_{t-i} ]
-
過去の期間における標準偏差 [ \sigma_t = \text{stdev}(P_{t-n+1},\dots,P_t) ] 標準偏差は、同じ期間の平均からの偏差から計算されます。
-
上バンドと下バンド [ \text{Upper}_t = \text{MB}_t + k,\sigma_t ] [ \text{Lower}_t = \text{MB}_t - k,\sigma_t ]
主要なデータ要件: ボリンジャーバンドは、同じ価格シリーズを一貫して使用します。終値から高値/安値に変えたり(またはサンプリング頻度を変更したり)すると、(\text{MB}_t) と (\sigma_t) が変化するため、バンドも変化します。
RSI:定義とステップバイステップの計算
RSIは価格変動を使用し、上昇と下降の動きを区別します。
同じ価格シリーズ (P_t) を仮定し、次のように選択します:
- (n):過去の期間の長さ
1期間の変動を計算します: [ \Delta_t = P_t - P_{t-1} ] 次に利益と損失を計算します: [ \text{Gain}_t = \max(\Delta_t, 0) ] [ \text{Loss}_t = \max(-\Delta_t, 0) ]
実践では複数の平滑化方法が使用されます。独立した検証において最も重要な点は、比較対象のツールと同じ平均化方法を使用することです。
一般的なアプローチは、最初に最初の (n) 期間における平均的な利益と損失を計算し、次に平滑化を適用する(しばしばワイルダーの方法に類似)ことです。概念的には:
-
過去の期間における平均的な利益(または平滑化されたシリーズ) [ \text{AvgGain}_t \approx \text{過去の } n \text{ 期間における Gain の平均(選択した平滑化方法で)} ]
-
平均的な損失 [ \text{AvgLoss}_t \approx \text{過去の } n \text{ 期間における Loss の平均(選択した平滑化方法で)} ]
-
相対的な強さ [ \text{RS}_t = \frac{\text{AvgGain}_t}{\text{AvgLoss}_t} ]
-
RSI変換を0–100の範囲に [ \text{RSI}_t = 100 - \frac{100}{1+\text{RS}_t} ]
エッジケースの処理: (\text{AvgLoss}_t = 0) の場合、(\text{RS}_t) は非常に大きくなり、一部の実装ではRSIが100に近くなります。(\text{AvgGain}_t = 0) の場合、RSIは0に近づきます。異なるプラットフォームはこれらの除算を慎重に処理するため、正確な数値結果は異なることがあります。
証拠または例:小さなデータセットからの値の再計算
ここには具体的で確認可能なミニ例の構造があります。(数値は方法のプレースホルダーです。重要なのは計算フローです。)
6つの順序付き価格 (P_1) から (P_6) があると仮定します。
ボリンジャーバンドの例のワークフロー
(n=3) と (k=2) を選択し、移動平均としてSMAを使用します。
- (t=3) の場合:
- (P_1, P_2, P_3) の平均を計算して (\text{MB}_3) を得ます。
- (P_1, P_2, P_3) の標準偏差を計算して (\sigma_3) を得ます。
- そして (\text{Upper}_3=\text{MB}_3+2\sigma_3) と (\text{Lower}_3=\text{MB}_3-2\sigma_3) を計算します。
- (t=4,5,6) について、ローリングウィンドウ ((P_2,P_3,P_4)) などを使用して繰り返します。
RSIの例のワークフロー
(n=3) を選択します。
- (t=2..6) について (\Delta_t=P_t-P_{t-1}) を計算します。
- 各 (\Delta_t) を (\text{Gain}_t) と (\text{Loss}_t) に変換します。
- 最初のRSI出力については、最初の (n) 期間(例:(t=2..4) に関連する期間、実装のインデックスに依存)における平均的な利益と平均的な損失を計算します。
- (\text{RS}=\frac{\text{AvgGain}}{\text{AvgLoss}}) を計算し、次に (\text{RSI}=100-\frac{100}{1+\text{RS}}) を計算します。
これが「証拠」である理由: 同じ順序付きデータに同じ公式を適用し、同じパラメータと平滑化の選択を使用すれば、同じ指標の軌跡を再現できます。再現できない場合、不一致は通常異なるパラメータ設定、異なる価格入力、または異なるRSI平滑化の慣習によるものです。
制限と失敗モード:何が起こり得るかとその重要性
パラメータと入力の感度
両方の指標は入力値の決定的な関数ですが、入力値は選択です:
- 価格シリーズの選択: 終値を使用するかどうかを変更すると、値が変化します。
- 過去の期間の長さ: (n) を変更すると、反応性が変化します。
- ボリンジャーバンドの移動平均と乗数: 異なる (\text{MA}) 種類や異なる (k) 値はバンド幅を変化させます。
- RSIの平滑化慣習: 異なる平滑化方法は、同じ (n) であっても異なるRSI曲線を生成することがあります。
RSIの除算ゼロと近似ゼロの安定性
RSIは比率に依存します。平均損失がゼロ(またはほぼゼロ)の場合、RSIは上限に近づきます。平均利益がゼロの場合、下限に近づきます。小さな数値の違い(例えば、実装が正確なゼロをどのように処理するか)は、RSIの違いを目立たせることがあります。
レジムシフトとボラティリティの急増
指標は未来の行動を「知りません」。ボリンジャーバンドは最近のボラティリティに基づいて広がったり狭まったりし、RSIは基礎となるパターンが持続する場合、長期間にわたって極端な読みを示すことがあります。レジムシフト(持続的なトレンド変化や急激なボラティリティ変化)が発生した場合、過去の関係性は情報を提供しなくなることがあります。
データと計算の整合性問題
独立した検証は、指標の欠陥ではなく実用的な問題により失敗することがあります:
- (P_t) を構築する際の異なるタイムゾーンやセッション境界
- 異なるサンプリング頻度
- 欠損データポイントや、シリーズ定義を変更する企業行動調整価格
検証または次の質問:計算を自分で確認する方法
ボリンジャーバンドとRSIを独立して検証するには:
- 入力シリーズを固定します: (P_t) が何であるかを正確に決定します(例:調整前の終値、調整後の終値)そして同じ順序を使用します。2) パラメータを固定します: (n)、(k)、ボリンジャーバンドの移動平均の種類、およびRSIの平均化/平滑化方法を記録します。