コンテンツにスキップ

RSIに優位性はあるか

買われすぎ、売られすぎを 0〜100 で示す RSI(Relative Strength Index)を、網羅的に検証しました。教科書的な5家族のルール(70/30逆張り、順張りブレイクアウト、50ラインのトレンドフィルタ、極端値からの離脱、傾き)を、期間、閾値、モードで総当たりしたグリッド検証から、クロスペア8種、週足、機械学習の特徴量としての検証まで行いました。対象は USD/JPY を中心に9通貨ペア、日足21年ぶんです。

RSI は、移動平均線(MA)の検証(ケース:移動平均は効くのか)と同じ手続きにかけました。結論の骨格は MA と同じ「FDR 補正後の生存はゼロ」ですが、一点だけ MA では現れなかった残余があります。

検証の前提とデータ

「1,620 実験で棄却」という主張自体が、検証可能でなければ意味がありません。用いたデータと条件を明示します。

項目内容
対象通貨ペアUSD/JPY(主)/メジャー: EUR/USDGBP/USDAUD/USD / JPYクロス: EUR/JPYGBP/JPYAUD/JPYNZD/JPYCAD/JPY
時間足日足(週足も併せて検証)
期間2005-01-03 〜 2026-07-10(USD/JPY 日足 5,582 本)
データソースYahoo Finance
期間パラメータ7, 9, 14, 21, 25, 28
RSI種類Wilder RSI(α=1/n\alpha = 1/n)、Cutler RSI(SMAベース)
閾値(hi=70, lo=30)(hi=80, lo=20)
モードlong_only / switch / short_only
IS/OOS 分割時系列で前半50%=インサンプル、後半50%=アウトオブサンプル
コスト控除スプレッド 2 pips + スリッページ 1 pip(片側)。JPYクロスは相応スケール
統計判定Bootstrap 2,000 回で OOS シャープの信頼区間と p 値、Benjamini-Hochberg 法で FDR 補正(α=5%\alpha = 5\%
乱数シード42(再現可能)

探索したルール家族は次の5つです。R1 threshold reversion:「RSI < 30 で買い、RSI > 70 で売り」の教科書逆張り。R2 threshold breakout:逆手法で、極端値に張り付いてもさらに伸びる方向に順張り。R3 centerline:「RSI > 50 で買い、< 50 で売り」の方向フィルタ。R4 recover cross:極端値を離脱した直後を狙うフェイラースイングの近似。R5 slope:RSI の傾きの向きに従うモメンタム追随。

検証で得られた事実

グリッド(288実験)、クロスペアと週足の追撃(1,332実験)、そして機械学習の特徴量検証を統合すると、次の7点が残ります。

  1. FDR 補正後の positive-Sharpe 生存者は 0 件。α=5%\alpha=5\%、6期間、2閾値、Wilder と Cutler の両RSI、5家族、9通貨ペア、日足と週足を組み合わせて網羅しても、支持する統計的証拠は得られなかった。
  2. R1 threshold reversion の long_only は、IS と OOS の双方でシャープが正になる候補が複数あった。USD/JPY 日足 cutler(14) 70/30 long_only は IS +0.462、OOS +0.544、p=0.081p=0.081、露出6%。これは MA で見た「IS≈0、OOS だけ勝つ」という選抜バイアスとは質的に異なる。
  3. クロスペアでも補正前 p<0.05p<0.05 が集中した。EUR/JPY wilder(21) 70/30 switch は OOS +0.955、p=0.003p=0.003、GBP/USD cutler(14) 80/20 の R4 switch は OOS +0.908、p=0.005p=0.005。ただし露出はいずれも1〜10%と低い。
  4. R2 threshold breakout の short_only(RSI < 30 で売り追随)は有意にマイナス(p=0.029p=0.0290.0360.036)。「オーバーソールドで売る」順張りは統計的に負ける。
  5. R5 slope の short_only(RSI が下がっているから売る)も有意にマイナス(p=0.019p=0.0190.0200.020)。
  6. 機械学習の特徴量としての RSI は有害だった。baseline に RSI を加えると OOS の R2R^2 が悪化し(ΔR2=0.037\Delta R^2 = -0.037)、rsi_only は最悪(OOS R2=0.208R^2 = -0.208)。MA(+0.003+0.003)や MACD(+0.010+0.010)と符号が逆転する。
  7. RSI の残余(灰色帯)が現れるのは「連続予測」ではなく「離散的な rare event」の側だった。露出1〜10%の低頻度シグナルとしてだけ捕捉される。

RSI が単純ルールで edge を持たない構造的な理由

以下は検証結果からの帰納的な解釈です(仮説であり、証明ではありません)。

  1. RSI 70/30 は Wilder が公開して40年以上参照されている。全参加者が同じ数値を同じ式で計算するため、単純な閾値ルールほど裁定圧力が強く、edge があれば効率化の過程で消える。
  2. RSI は「過去 n 本の上下バランスの比率」という統計量であり、未来の因果を含まない。「70/30 で反転する」のは、それを見ている参加者の行動集約による自己言及的な現象の可能性が高い。
  3. RSI の順張り(R2、R5)は円安期に負ける。USD/JPY 21年のドリフトに逆行して下方向を狙う短期モメンタムは、系統的に負ける。これは MA の short_only と同じ構造。

RSI にだけ「灰色帯」が残る理由(推定)

MA も MACD も、単純ルールは「IS≈0、OOS だけ勝つ」という選抜バイアスの一型に収まりました。RSI の R1 reversion long_only だけが、そこから外れます。なぜ RSI にだけ残余が出るのか、仮説として次を挙げます(いずれも証明ではありません)。

  1. RSI 70/30 は「稀な極端値」、つまり統計的な外れ値を切り出している。露出4〜8%は21年で300〜500日程度で、極端値からの平均回帰は金融時系列で文書化されたアノマリーの一つ(Poterba & Summers, 1988)と整合する。
  2. USD/JPY の円安ドリフトが long 側を優位にしている。「long のみ + 稀な reversion シグナル」は、ドリフトの受動的捕捉に低頻度の平均回帰を足し合わせる形になる。短期 short_only はドリフトに逆行して負けるが、稀な long reversion はドリフトに沿う。
  3. それでも FDR は通過しない。1,332実験で偶然当たりの期待は約 66.6 件だが、実測の補正前 p<0.05p<0.05 は15〜20件程度で、期待をむしろ下回る。「独立した edge」と「data snooping の残り」を現段階で厳密に切り分けることはできない。

したがって「複数ペアで補正前 p<0.05p<0.05 が集中する」という事実は、単なる偶然だけでは説明しにくいが、edge の存在を保証もしない、という位置にとどまります。

「負けるなら、逆をやれば勝てる」は成立しない

有意にマイナスの結果(R2、R5 の short_only)を見ると、「では逆をやれば有意にプラスでは」と考えたくなります。しかし、この検証ではそれは成り立ちません。

R2 short_only は「RSI < 30 で売る」ルールです。その逆は「RSI < 30 で買う」であり、これは R1 の long_only とまったく同じシグナルにすぎません。負けルールの反転が独立した勝ちルールを生むのではなく、すでに検証済みの同じシグナルに戻るだけです。R5 の傾き追随も同様で、向きを変えてもコストは同額かかり、グロスがほぼゼロのルールは反転しても同じコストを引かれて負けます。「有意に負ける」の意味は「その行為を避けるべき」であって、「逆をやれば儲かる」ではありません。

RSI とは何なのか

検証結果を矛盾なく説明する、最も倹約的な定義はこうです。

  • RSI は「予測器」ではない(少なくとも連続的には)。翌日リターンを線形にも非線形にも予測する情報を含まず、機械学習の特徴量として加えると baseline を悪化させる。
  • RSI は「過去 n 本の上下バランスの記述」である。価格モメンタムを 0〜100 に正規化した要約統計であり、未来の因果は含まない。
  • RSI には「稀な極端値からの離脱局面での弱いシグナル」が残っている可能性がある。複数ペアで補正前 p<0.05p<0.05 が集中するが、FDR は通過せず、独立確認は済んでいない。存在するとしても露出4〜8%の rare event で、期待シャープは +0.4〜0.5 程度。
  • RSI は「参加者の共通言語」として機能する。70/30 は多くの参加者が意識する水準を作る。ただしこれは予測力ではなく、集合的な注意による現象。

RSI の使ってよい用途と、危険な用途

RSI の役割を、edge の源として使うのか、edge の記述や執行の補助として使うのかを、必ず先に区別してください。両者の期待値は根本的に異なります。

否定されていない用途(補助)は、edge を主張せずに使う場合です。

  • 記述: 価格モメンタムのバランスを 0〜100 で視覚化し、チャート整理や振り返りに使う
  • 状態ラベル: 「RSI < 30 は過去 n 本で下落偏重」という状態を、別戦略の環境認識入力にする
  • 執行の補助: 「RSI が 70 を超えたら部分利確」など、exit や部分手仕舞いの一貫した参照点
  • 追試の候補: RSI < 30 での逆張り(R1 long_only)は、信念で運用に持ち込むのではなく、事前登録した追試で潰す対象として

edge の源として使うべきでない用途(棄却済み)は次のものです。

  • 順張りブレイクアウト(R2、とくにオーバーソールドでの売り追随は有意にマイナス)
  • 傾きへの追随(R5、短期の売り追随は有意にマイナス)
  • 50ラインの単独方向フィルタ(R3、MA の方向フィルタと同型で edge なし)
  • 機械学習の連続予測の特徴量(baseline を悪化させる)
  • 週足での逆張り(baseline と誤差レベル)

メタ結論

  • 「RSI 70/30 は逆張りシグナル」(単純ルール)は棄却。 FDR 補正後の生存はゼロ。
  • 「RSI 順張りは強トレンドで効く」は積極的に危険。 R2、R5 の short 側で有意にマイナスの edge を確認。
  • 「機械学習の特徴量としての RSI」は有害。 加えると baseline の OOS 性能が落ちる。
  • 「RSI 極端値からの逆張り」だけは灰色帯として残る。 複数ペアで補正前 p<0.05p<0.05 が集中し、選抜バイアスでは説明しにくい。ただし FDR は通過せず、独立確認が必要。
  • 正しい位置: RSI は「過去の上下バランスの記述」であり、連続的な予測器ではない。極端値逆張りの残余は、証明ではなく次に潰すべき仮説。

MA との違いを一言でいえば、MA は「灰色帯すら残らず棄却された」のに対し、RSI は「棄却しきれない残余を一点だけ残した」ことです。この差は、RSI に予測力があることを意味しません。追試で消える可能性は十分あります。

この結論の適用範囲と限界

検証は万能ではありません。この結論の射程を明示します。

  • 時間軸: 日足と週足のみ。分足は未検証。
  • 通貨ペア: メジャー4+JPYクロス5の9ペアで確認。他のマイナーは未検証。
  • 期間: 2005–2026 の21年。他の相場制度や金融政策局面で挙動が異なる可能性。
  • RSIの種類: Wilder と Cutler。Stochastic RSI や Connors RSI 等は未検証。
  • 未検証の家族: ダイバージェンス(価格と RSI の乖離)、動的閾値(Constance Brown 流)、レジーム条件つき切り替えは、この結論の範囲外。灰色帯の焦点仮説(cutler(14) 70/30 long_only の完全別データでの追試)も未実施。

検証詳細(ラウンド別)

各ラウンドで「どの神話を、どう試し、どうなったか」の詳細です。すべて日足(週足はリサンプル)終値ベース、IS/OOS は時系列 50:50、統計判定は Bootstrap 2,000 + Benjamini-Hochberg FDR(α=5%\alpha=5\%)です。

グリッド(USD/JPY 日足、5家族、288実験)

期間6種 × 閾値2種 × モード3種を、Wilder と Cutler の両RSIで総当たりしました。

家族実験数最大 OOS Sharpe最小 OOS Sharpe補正前 p<0.05p<0.05FDR生存IS>0 かつ OOS>0
R1 threshold reversion(逆張り)72+0.544−0.484005件以上
R2 threshold breakout(順張り)72+0.316−0.6872(負側)0少数
R3 centerline(50ライン)36+0.584−0.442000
R4 recover cross(極端値離脱)72+0.509−0.391003件以上
R5 slope(傾き)36+0.241−0.7034(負側)00
合計288+0.584−0.703608件以上

偶然当たりの期待は α=0.05\alpha=0.05N=288N=288 で 14.4 件ですが、実測の補正前 p<0.05p<0.05 は6件(両側)で、しかも負側に集中しました。

R1 reversion の上位は、他家族と質的に違います。cutler(14) 70/30 long_only(露出6%、IS +0.462、OOS +0.544、p=0.081p=0.081)や wilder(25) 70/30 long_only(露出4%、IS +0.475、OOS +0.470、p=0.098p=0.098)は、IS と OOS の符号が揃います。short_only(RSI > 70 で売り)は円安ドリフト期に全滅し、方向の非対称も一貫しました。一方 R3 centerline の上位は IS が全てマイナスで、MA の方向フィルタと同型の選抜バイアスです。R2 と R5 の short_only は有意にマイナスで、教科書の間違った側を示します。→ FDR 生存 0、ただし R1 は灰色帯。

クロスペア追撃(8ペア × 2家族、1,152実験)

グリッドで観測した R1 reversion long_only の残余が、真の edge なら他ペアでも再現し、偶然なら消えるはずです。R1 reversion と R4 recover を、メジャー3+JPYクロス5の8ペアで再実行しました。

Pair家族ルール露出ISOOSpp
EUR/USDR1cutler(21) 70/30 long_only7%+0.234+0.5970.048
GBP/USDR4cutler(14) 80/20 switch11%−0.224+0.9080.005
GBP/USDR4wilder(9) 80/20 short_only3%−0.060+0.7760.011
EUR/JPYR1wilder(21) 70/30 switch3%+0.039+0.9550.003
EUR/JPYR1wilder(25) 70/30 short_only1%+0.475+0.7330.010
NZD/JPYR4cutler(9) 70/30 short_only24%+0.195+0.6950.018
CAD/JPYR4wilder(14) 70/30 short_only6%−0.349+0.7310.016

グリッドと合わせた累計1,332実験に BH-FDR を適用すると、positive-Sharpe の生存は 0 件でした。偶然当たりの期待は66.6件で、実測の補正前 p<0.05p<0.05(正側)は15〜20件程度と、期待をむしろ下回ります。それでも、上位候補が特定のパラメータ(期間14、21、25、閾値70/30 と80/20)と特定の家族(R1、R4)に集中し、複数ペアで同じ形が繰り返される点は、完全にランダムな偶然だけでは説明しにくいものです。8ペアの結果は独立ではなく(通貨相関、共通のマクロドリフト)、8つの成功は6〜8実験程度に相当すると見るべきで、edge の確認ではありません。→ FDR 生存 0、灰色帯は残る。

週足 USD/JPY(3家族、180実験)

「ノイズの少ない上位足なら効く」を検証しました。週足の always-long baseline OOS は +0.482(日足の +0.388 より高い)です。R1 reversion、R4 recover、R3 centerline の各上位は、いずれも baseline を僅かに超えるか下回る程度で、露出も低く、日足と同じパターンでした。FDR は通過せず、baseline を明確に超えません。→ 棄却。

機械学習の特徴量(GBM、日足)

「単純ルールが負けても、機械学習の特徴量としてなら情報を持つ」を検証しました。翌日 log return を GBM(n=200depth=3lr=0.05)で予測し、3変種を比較します。

変種特徴量数OOS R2R^2シグナル OOS Ann Sharpe
baseline(returnsのみ)14−0.135−0.427
baseline + RSI38−0.172−0.446
rsi_only24−0.208−0.516

baseline に RSI を加えると OOS R2R^2 が悪化しました(ΔR2=0.037\Delta R^2 = -0.037、シグナルシャープも 0.019-0.019)。RSI は機械学習の特徴量として有害です。これは MA(ΔR2=+0.003\Delta R^2 = +0.003)や MACD(+0.010+0.010)と符号が逆転する明確な違いです。RSI の情報は lagged returns で既に捕捉されており、追加すると過学習を悪化させて OOS 性能を落とします。ただし、これは連続予測タスクの点予測性能の話であり、「極端値からの離脱時に短期反転する」という離散的な rare event の残余(R1 の灰色帯)と矛盾しません。連続予測モデルは、訓練データの大部分でシグナルが発生しないこの離散パターンを捉えられないためです。

累計(グリッド + クロスペア + 週足): 1,620実験、positive-Sharpe の FDR 生存 0件

参考