RSIはFXでどのように機能するか
FXにおけるRSI:中核となる考え方
相対力指数(RSI)は、直近の上昇局面の強さが、直近の下降局面の強さと比べてどれほど強いかを測るモメンタム指標です。FXでは「価格」とは、分析している為替レート(たとえば、選択した通貨ペアが示すレート)を意味し、「直近」とは、選んだ時間枠(ウィンドウ)を指します。
RSIはスプレッド、金利、取引結果を直接は使いません。代わりに、過去の価格変化の時系列を、通常0〜100の範囲に収まる境界付きスコアへと変換します。
RSIが使う入力(そして使わないもの)
1) 価格系列
RSIには、選択したtimeframeに対応する過去の価格データが必要です。多くのRSI実装では、連続するローソク足の終値を使いますが、重要な要件は一定の間隔です。まずローソク足のtimeframe(たとえば1時間足または1日足)を決め、その後、終値の並びをそれに合わせて使います。
2) lookback期間
lookbackの長さを選びます。多くの場合「RSI period」(一般的には14ですが、厳密な数値は設定の選択です)として説明されます。この期間は、平均(gainとlossの平均)を計算するときに、直近の何件の変化を含めるかを決めます。
3) gainとlossの定義
1つの終値から次の終値までの変化を計算します。次に、その変化を次のように分けます:
- Gain(上昇):正の変化(価格が上がった場合)。そうでなければ0。
- Loss(下落):負の変化の大きさ(価格が下がった場合)。そうでなければ0。
このgain/lossの分割が、RSIが単に「価格の方向性」ではない理由です。lookbackウィンドウ内での上げ幅(up-moves)と下げ幅(down-moves)の大きさのバランスに基づいています。
RSIに含まれないもの
RSIの計算は、過去の価格変化のみを基にしています。取引コスト、流動性、あるいは国・地域ごとのルールを本質的に考慮するわけではありません。したがって、取引結果を含む解釈は、指標のメカニクスを超えた追加の仮定になります。
RSIの計算:手順と出力
典型的なRSIの計算は、段階的な手順に従います。
Step 1:終値間の変化を計算する
終値を (P_t) とします。1ステップの変化を次で計算します: (\Delta_t = P_t - P_{t-1})。
Step 2:変化をgainとlossに変換する
次を定義します:
- (\text{Gain}_t = \max(\Delta_t, 0))
- (\text{Loss}_t = \max(-\Delta_t, 0))
つまり、(\Delta_t) が正ならgainを記録しlossは0、(\Delta_t) が負ならlossを記録しgainは0になります。
Step 3:lookback期間で平均gainと平均lossを計算する
選んだ期間 (n) に対して、平均gainと平均lossを計算します。ある実装では、直近の (n) 件の変化に対して単純平均を使います。別の実装では、より最近の値に重みを強く与える平滑化(smoothing)手法を使います。
平滑化の詳細はソフトウェアによって異なり得るため、同じ入力価格と期間でも、プラットフォーム間でRSIの値がわずかに異なることがあります。これは独立した検証が重要になる大きな理由です。
Step 4:相対的な強さ(relative strength)を計算する
相対的な強さの比率を次で定義します: (RS = \frac{\text{Average Gain}}{\text{Average Loss}})。
平均lossが0の場合、比率は代数的な意味で未定義になります。実装はこの境界ケースを決定論的に処理します(一般的には最大のRSI値へマッピングするなど)。これにより、境界での挙動が厳密には変わり得ます。
Step 5:RSをRSIへ変換する
その後、RSIは境界付きの指数へ変換され、通常は次のようになります: (RSI = 100 - \frac{100}{1 + RS})。
この式により、通常のケースではRSIが限られた範囲に収まります。出力は、直近のgainとlossのバランスから導かれるモメンタムスコアです。
RSIを単独のシグナルとして扱わずに解釈する方法
RSIの解釈は通常比較です。つまり、RSIの水準を、その指標自身の履歴と比べる、または固定された基準水準(採用している慣習による)と比べる、という形になります。
メカニクスと解釈を分けるのに役立つポイントは2つあります:
- RSIの水準は予測ではありません。 それは直近のウィンドウで「何が起きたか」を要約するものであり、次に何が起きるかを示すものではありません。
- 意味はtimeframeと文脈に依存します。 FXの値動きは、セッション、ボラティリティのレジーム、そして取引対象(インストゥルメント)の特性によって異なります。RSIが正しく計算されていても、同じRSI値がまったく異なる市場状況で現れることがあります。
簡単なエビデンスベースの例(計算チェック)
固定されたtimeframeで、期間 (n) を使い、一定の平均化手法を用いて終値からRSIを計算しているとします。
RSIを独立に検証するには:
- (n) 個の連続した変化を作るために必要な、直近の (n!+ 1) 個の終値を取ります。
- 各ステップで (\Delta_t) を計算します。
- (\text{Gain}_t) と (\text{Loss}_t) に分けます。
- チャートツールが使うのと同じ方法で、平均gainと平均lossを計算します。
- 変換の数式から (RS) と、その後 (RSI) を計算します。
もしプラットフォームと実質的に異なるRSI値が出る場合、最もよくある原因は、次のいずれかの要素の不一致です:平均化/平滑化手法、正確な入力価格(終値か、別の価格か)、期間の長さ、あるいはゼロlossのような境界ケースの扱い。
限界、失敗パターン、そして確認すべきこと
1) timeframeへの感度
RSIは、選択したローソク足のtimeframeでの変化を反映します。同じ基礎となる市場であっても、1時間足の系列で計算したRSIは、1日足の系列で計算したRSIと意味のある違いが出ることがあります。これは「指標の誤り」ではなく、RSIがウィンドウ化され、スケールに依存することを思い出させるものです。
2) 実装間の平滑化の違い
あるツールが単純平均を使い、別のツールが平滑化アプローチを使う場合、RSIの値は完全には一致しません。RSIは平均化されたgainとlossから導かれるため、平均化のわずかな違いが、特に閾値付近でRSI水準をずらすことがあります。
3) 平均lossまたは平均gainが0になる境界ケース
平均化ウィンドウ内で下落が一度もなかった(または上昇が一度もなかった)場合、平均loss(または平均gain)が0になることがあります。RSIの境界での挙動は、実装がゼロ除算や関連する代数ケースをどう解決するかに依存します。
4) 予測精度の保証はない
RSIが過去のある挙動と相関していたとしても、過去の関係は将来の結果を保証しません。RSIの読みは長い間持続することもあれば、素早く反転することもあり、ボラティリティのレジームが変わる間は極端な状態のままになることもあります。
5) 検証手順は客観性を保つ安全な方法
誤解を減らす実践的な方法は、あなたが使っている価格系列から計算手順を直接検証し、次を確認することです:
- 期間の長さが一致していること、
- timeframeが一致していること、
- 正しい終値の値を使っていること、
- 平均化/平滑化手法が一致していること、
- 境界ケースの挙動が一致していること。
DOCUMENT END