🧪 AIシグナル研究日誌 #24
円クロスFXでRSI逆張りが機能しない理由——1163件の実データが示すシグナル格差
- 円クロスFX(ドル円・ユーロ円等)でのRSI売られすぎ逆張り買いの実勝率は19.4%(6/31件)、95%CI上限は36.3%で損益分岐43%を大きく下回ることを確認(通過A・棄却確認)
- 同じ円クロスFXでもBB下限タッチ逆張りの勝率は58.2%(32/55件)CI下限45.0%——同じ「逆張り買い」でも38.8ppの差がある
- RSI逆張りは資産クラスで真逆の成績:指数(日経・S&P等)では60.0%(24/40件)と有効なのに、円クロスFXでは19.4%(差40.6pp)
- 前向きトラッカー:rsi_oversold_bounce全体(前向き18/59=30%、E(R)=−0.288R)もin-sampleの損益分岐割れを追認
1. なぜこの仮説を立てたか
前回(第23回)では、RSI売られすぎ逆張り買い全体(全グループ)の実勝率が36.5%(70/192件)であり、BB下限タッチ41.8%との差は5.4ppにとどまることを確認しました。しかし集計の内側に「グループ別の大きな差」が隠れている可能性が残っていました。
特に注目したのが、円クロスFXです。探索的データとして円クロスFX(jpy_fx)×RSI逆張りの勝率が19.4%(N=31)と突出して低い一方、同じ円クロスFX×BB下限タッチは58.2%(N=55)という、同一資産クラスでの逆張り買いシグナルの極端な格差が見えていました。
第23回はこの差を「探索的発見」として記録するにとどめ、今回(第24回)で正式に仮説検証を行います。
2. 仮説と事前宣言基準
今回の仮説を以下のとおり事前に宣言します。
円クロスFX(USDJPY, EURJPY, GBPJPY, AUDJPY)での RSI 売られすぎ逆張り買い(rsi_oversold_bounce)の実勝率は、損益分岐43%を統計的に有意に下回るか。
事前宣言基準(このデータで検証可能・後から変えない):
- H1:jpy_fx × rsi_oversold_bounce のWilson CI上限が 43% 未満
- H2:サンプル数 N ≥ 20
- 両条件クリアで「通過A(棄却確認)」と判定。シロ結果の場合も正直に報告する。
3. 検証方法
- データ:signals-log.json の決済済みシグナル(outcome=tp1/tp2/sl)1163件
- フィルタ:group=jpy_fx AND signal=rsi_oversold_bounce
- 統計:Wilson信頼区間(95%)。LLMは使用せず、決定論コードのみ
- 比較対照:① jpy_fx × bb_lower_touch ② index × rsi_oversold_bounce
- 交絡確認:方向(long/short)・トレンド(上昇/下降/中立)・時間足(1h/4h)の分解
- 使用ライブラリ:signal_lab_verify.py(固定オラクル)の match/wilson/closed/win
4. 検証結果
4-1. 核心仮説の検証
| 条件 | 勝ち | N | 勝率 | 95% CI | E(R) | 判定 |
|---|---|---|---|---|---|---|
| jpy_fx × RSI逆張り | 6 | 31 | 19.4% | [9.2%~36.3%] | −0.549R | ❌ 損益分岐割れ |
| jpy_fx × BB下限(比較) | 32 | 55 | 58.2% | [45.0%~70.3%] | +0.356R | ✅ エッジあり |
| 指数 × RSI逆張り(比較) | 24 | 40 | 60.0% | [44.6%~73.7%] | +0.398R | ✅ エッジあり |
| メタル × RSI逆張り(参考) | 6 | 38 | 15.8% | [7.4%~30.4%] | −0.632R | ❌ 損益分岐割れ |
→ 通過A(棄却確認):円クロスFXでのRSI逆張り買いは統計的に損益分岐を下回ることが確認されました。
4-2. RSI逆張り買い:グループ別勝率の全体像
図1. RSI逆張り買い(rsi_oversold_bounce)を資産クラス別に集計。点線は損益分岐43%。指数(60.0%)と円クロス(19.4%)で同一シグナルが真逆の成績。
4-3. 円クロスFX内での比較:RSI vs BB下限タッチ
図2. 同じ「円クロスFXの逆張り買い」でも、シグナル種別で38.8ppの格差。RSI=19.4%(損益分岐割れ)、BB下限=58.2%(エッジあり)。
5. 交絡確認:なぜこの差が生まれるのか
5-1. 方向・トレンド・時間足の内訳
| 条件 | 勝ち | N | 勝率 | 95% CI | 備考 |
|---|---|---|---|---|---|
| ロング(買い) | 6 | 31 | 19.4% | [9.2%~36.3%] | 全件ロング(ショートは0件) |
| trend=上昇 | 2 | 2 | 100.0% | [34.2%~100.0%] | N小・信頼性低 |
| trend=下降 | 1 | 7 | 14.3% | [2.6%~51.3%] | 低い |
| trend=中立・もみあい | 3 | 22 | 13.6% | [4.7%~33.3%] | 主体(71%)・低い |
| tf=1h | 3 | 24 | 12.5% | [4.3%~31.0%] | 主体(77%)・低い |
| tf=4h | 3 | 7 | 42.9% | [15.8%~75.0%] | N小・過信禁止 |
5-2. BB下限タッチとのトレンド別対比
交絡として「トレンドの差」が原因かどうかを確認しました。
| トレンド | RSI逆張り | BB下限タッチ | 差 |
|---|---|---|---|
| 下降 | 14.3%(1/7) | 57.1%(4/7) | +42.8pp |
| 中立・もみあい | 13.6%(3/22) | 57.1%(12/21) | +43.5pp |
同じトレンド環境で比較しても、RSIとBBの差は約40ppのまま変わりません。トレンドの偏りで差が生まれているわけではなく、シグナル種別そのものの差と言えます。
6. 解釈:FXの構造とRSIの限界
なぜ指数では機能してFXでは機能しないのか
今回の結果は第14回の発見(bb_lower_touch × jpy_fx × 1h = 73.5%)と合わせると、円クロスFXの逆張り買いに関して次のような構造が見えてきます。
- RSI(相対力指数)は「直近の値動きの大きさ」を測るため、下落が続けば機械的にRSI=30以下になります。FXの円クロスは流動性が高く、一方向のトレンドが長時間続きやすい市場です。RSI=30近辺は「底値」ではなく「強いトレンドの途中」であることが多く、逆張りが機能しにくいと考えられます。
- BB(ボリンジャーバンド)下限は「現在値が過去の価格帯の中でどれだけ外れているか」を測ります。BBは移動平均と標準偏差の組み合わせのため、RSIよりも「統計的な過度な乖離」を捉えやすい可能性があります。
- 指数(株式)は「長期的に右肩上がり」という構造的バイアスがあります。売られすぎ(RSI低下)はその後の反発と結びつきやすく、RSI逆張りが機能しやすいと解釈できます。FXには同様の構造的バイアスがありません。
実運用上の含意
本研究の結果から導かれる参考情報(投資助言ではありません):
- 円クロスFX(USDJPY等)でRSI売られすぎシグナルが出ても、E(R)=−0.549Rという期待値の低さを考慮する価値があります
- 同じ逆張り環境でも、BBシグナルは別の統計的性質を持つ可能性があります(第14回参照)
- 指数(日経・S&P等)でのRSI逆張りは異なる性質を示しており、資産クラスを混在させた集計は実情を隠す場合があります
7. 前向きトラッカー定点観測
基準日 2026-06-29 時点での前向きトラッカーを更新しました。本日の主なポイント:
- ✅ 指数×ロング(全足ライブ):前向き N=96(先週比+6件)で引き続き昇格状態維持。E(R)=+0.31 CI[+0.08〜+0.55]
- rsi_oversold_bounce全体:前向き 18/59=30%、E(R)=−0.288 R CI[−0.56〜−0.01]。in-sampleの損益分岐割れを前向きでも裏付けており、今回のjpy_fx限定の棄却確認と整合的
- 新候補登録なし(sweep FDR通過は既登録19本と同一)
📡 前向きトラッカー定点観測(期待値ベース)
| 仮説 | 種別 | 宣言基準 | 前向き現在値(平均R) | 状態 |
|---|---|---|---|---|
| 指数×ロング(全足ライブ) | edge | 前向きN≥80かつ平均RのCI下限>0 | 平均R +0.31 CI[+0.08~+0.55](54/96・勝率56%) | ✅昇格 |
| group=all | gate | 前向きN≥80かつ平均RのCI上限<0 | 平均R -0.10 CI[-0.35~+0.15](31/80・勝率39%) | 🟡蓄積中 |
| trend=中立・もみあい×dir=long | gate | 前向きN≥80かつ平均RのCI上限<0 | 平均R +0.07 CI[-0.20~+0.34](34/74・勝率46%) | 🟡蓄積中 |
| tier=neutral | gate | 前向きN≥80かつ平均RのCI上限<0 | 平均R -0.26 CI[-0.51~+0.00](22/69・勝率32%) | 🟡蓄積中 |
| blocked=False | gate | 前向きN≥80かつ平均RのCI上限<0 | 平均R -0.12 CI[-0.39~+0.15](26/69・勝率38%) | 🟡蓄積中 |
| tf=4h×dir=long | gate | 前向きN≥80かつ平均RのCI上限<0 | 平均R -0.15 CI[-0.42~+0.12](24/66・勝率36%) | 🟡蓄積中 |
| dir=long | gate | 前向きN≥80かつ平均RのCI上限<0 | 平均R -0.05 CI[-0.34~+0.23](26/64・勝率41%) | 🟡蓄積中 |
| group=other_fx×dir=long | gate | 前向きN≥80かつ平均RのCI上限<0 | 平均R +0.02 CI[-0.27~+0.31](27/62・勝率44%) | 🟡蓄積中 |
| group=metal | gate | 前向きN≥80かつ平均RのCI上限<0 | 平均R -0.34 CI[-0.61~-0.07](17/60・勝率28%) | 🟡蓄積中 |
| 売られすぎ逆張り買い(rsi_oversold_bounce・全足) | edge | 前向きN≥80かつ平均RのCI下限>0 | 平均R -0.29 CI[-0.56~-0.01](18/59・勝率30%) | 🟡蓄積中 |
| blocked=False×dir=long | gate | 前向きN≥80かつ平均RのCI上限<0 | 平均R -0.07 CI[-0.39~+0.23](21/53・勝率40%) | 🟡蓄積中 |
| trend=下降×dir=short | gate | 前向きN≥80かつ平均RのCI上限<0 | 平均R +0.19 CI[-0.14~+0.52](25/49・勝率51%) | 🟡蓄積中 |
| trend=下降 | gate | 前向きN≥80かつ平均RのCI上限<0 | 平均R -0.13 CI[-0.47~+0.21](16/43・勝率37%) | 🟡蓄積中 |
| group=index | edge | 前向きN≥80かつ平均RのCI下限>0 | 平均R -0.33 CI[-0.66~-0.01](12/42・勝率29%) | 🟡蓄積中 |
| trend=中立・もみあい×dir=short | edge | 前向きN≥80かつ平均RのCI下限>0 | 平均R -0.18 CI[-0.53~+0.17](14/40・勝率35%) | 🟡蓄積中 |
| blocked=False×dir=short | gate | 前向きN≥80かつ平均RのCI上限<0 | 平均R -0.02 CI[-0.39~+0.35](16/38・勝率42%) | 🟡蓄積中 |
| trend=下降×dir=long | gate | 前向きN≥80かつ平均RのCI上限<0 | 平均R -0.18 CI[-0.56~+0.20](12/34・勝率35%) | 🟡蓄積中 |
| group=metal×dir=long | gate | 前向きN≥80かつ平均RのCI上限<0 | 平均R -0.42 CI[-0.77~-0.06](8/32・勝率25%) | 🟡蓄積中 |
| group=metal×reversalL | gate | 前向きN≥80かつ平均RのCI上限<0 | 平均R -0.37 CI[-0.78~+0.03](7/26・勝率27%) | 🟡蓄積中 |
| reversalL(逆張り買い) | gate | 前向きN≥80かつ平均RのCI上限<0 | 平均R +0.36 CI[-0.11~+0.83](14/24・勝率58%) | 🟡蓄積中 |
| signal=low_break | gate | 前向きN≥80かつ平均RのCI上限<0 | 平均R +0.12 CI[-0.37~+0.60](11/23・勝率48%) | 🟡蓄積中 |
| trend=中立・もみあい×reversalL | gate | 前向きN≥80かつ平均RのCI上限<0 | 平均R +0.48 CI[+0.01~+0.96](14/22・勝率64%) | 🟡蓄積中 |
| group=btc×dir=long | gate | 前向きN≥80かつ平均RのCI上限<0 | 平均R -0.12 CI[-0.70~+0.45](6/16・勝率38%) | 🟡蓄積中 |
| trend=下降×reversalL | gate | 前向きN≥80かつ平均RのCI上限<0 | 平均R +0.17 CI[-0.42~+0.76](8/16・勝率50%) | 🟡蓄積中 |
| group=index×reversalL | edge | 前向きN≥80かつ平均RのCI下限>0 | 平均R -0.10 CI[-0.74~+0.54](5/13・勝率38%) | 🟡蓄積中 |
| tier=good×dir=long | gate | 前向きN≥80かつ平均RのCI上限<0 | 平均R +0.80 CI[+0.24~+1.35](10/13・勝率77%) | 🟡蓄積中 |
| tier=good | gate | 前向きN≥80かつ平均RのCI上限<0 | 平均R +0.80 CI[+0.24~+1.35](10/13・勝率77%) | 🟡蓄積中 |
| trend=上昇×reversalL | edge | 前向きN≥80かつ平均RのCI下限>0 | 平均R +0.40 CI[-0.35~+1.15](6/10・勝率60%) | 🟡蓄積中 |
| group=btc×reversalL | gate | 前向きN≥80かつ平均RのCI上限<0 | 平均R -0.22 CI[-0.98~+0.54](3/9・勝率33%) | 🟡蓄積中 |
| ショート全般(日足・回避) | gate | 前向きN≥80かつ平均RのCI上限<0 | 平均R +0.75 CI[-0.39~+1.89](3/4・勝率75%) | 🟡蓄積中 |
| 指数×ロング(日足) | edge | 前向きN≥80かつ平均RのCI下限>0 | 平均R -0.22 CI[-1.75~+1.30](1/3・勝率33%) | 🟡蓄積中 |
| other_fxクロス(日足・回避) | gate | 前向きN≥80かつ平均RのCI上限<0 | 平均R -1.00 CI[-1.00~-1.00](0/3・勝率0%) | 🟡蓄積中 |
| 下降トレンド発火(日足・回避) | gate | 前向きN≥80かつ平均RのCI上限<0 | 平均R -1.00 CI[-1.00~-1.00](0/1・勝率0%) | 🟡蓄積中 |
| blocked=True×dir=short | edge | 前向きN≥80かつ平均RのCI下限>0 | 平均R +0.00 CI[+0.00~+0.00](0/0・勝率0%) | 🟡蓄積中 |
| signal=ma_dead | edge | 前向きN≥80かつ平均RのCI下限>0 | 平均R +0.00 CI[+0.00~+0.00](0/0・勝率0%) | 🟡蓄積中 |
8. 関連記事
本記事は情報提供のみを目的としており、特定の金融商品への投資を勧誘するものではありません。当サイトは金融商品取引業者ではなく、投資助言・代理業の登録もしていません。掲載されているシグナル・統計データは過去の実績であり、将来の運用成果を保証または示唆するものではありません。投資に関する最終的な判断は、ご自身の責任において行ってください。※ 本分析は弁護士助言の代替ではありません。