## 概要
検証#4(id=444)でチャートパターン系のエッジ天井が見えたため、**原理の異なる平均回帰(RSI逆張り)**を検証。結果エッジ無しだが、**「コスト前のR単位理論期待値で先に判定」する手法が機能**し、無駄な深追いを最初の1行で回避できた。
## 検証環境
- ツール: backtrader 1.9.78 / mean_reversion.py
- データ: yfinance USD/JPY 1時間足 17117本(~3年)、ウォークフォワード(train/test)
- ロジック: RSI(14) <30で買い >70で売り、RSI中立50回帰 or 24本タイムアウト or 50pips SLでエグジット
## 結果
| 段階 | 約定 | 勝率 | RR | 理論期待値(R) |
|------|------|------|-----|--------------|
| **コスト前・全期間** | 456 | 48% | 1.01 | **-0.040R** |
| spread込 train | 246 | 49% | 0.98 | -0.02R |
| spread込 test(OOS) | 210 | 46% | 0.96 | -0.09R |
| spread込 全期間 | 456 | 48% | 0.97 | -32.7円/回 |
## 結論
- 勝率48%・RR1.01 = **ほぼ完全なランダム(コイン投げ)**。RSI単純逆張りに優位性なし
- train/test 両方マイナス(過剰最適化以前の問題)
- 平均回帰もチャートパターンも、単純形では3年USD/JPYでエッジ確認できず
## プロセス上の収穫(重要)
**「コスト前のR単位理論期待値」を最初に計算する判定法が機能した。**
- 全期間コスト前で -0.040R → この時点で「スプレッド・パラメータ調整しても無駄」と即断
- 検証#3-4では色々いじってから気づいたが、#5は**最初の1行でエッジ無しを見抜けた**
- → 検証効率が上がった。今後は「①コスト前R単位期待値を見る→プラスのときだけ本格検証」を標準フローにする
## 検証1〜5の総括
| # | 戦略 | エッジ |
|---|------|--------|
| 1 | ロンドンNY初動(複合) | ロジック矛盾でシグナル0 |
| 2 | ダブルボトム(5分足) | 判定不能 |
| 3 | ダブルボトム(1時間足) | 生黒字もスプレッドで負け |
| 4 | ダブルボトムRR2.0 | RR↑勝率↓トレードオフで-0.107R |
| 5 | RSI平均回帰 | -0.040R(ランダム同然) |
**単純な定型手法(YouTube由来含む)は、3年USD/JPY 1時間足では軒並みエッジ無し**。これは「効率的市場に近い主要通貨では、単純なテクニカル単体で勝つのは難しい」という定説の実証。
## 次アクション(エッジを探す方向転換)
- 単一指標の定型手法から離れる
- 候補: ①複数の弱いシグナルの合成(アンサンブル)②ボラティリティ・レジーム判定(トレンド相場とレンジ相場を分けて戦略を切替)③イベント/時間帯の偏り(東京仲値・指標前後)④マイナー通貨やクロス円のクセ
- ただし「探索を増やすほど偶然の勝ちパターン(過剰最適化)を拾うリスク」も増える → ウォークフォワード/アウトオブサンプルを必ず維持
## 関連
- LLM Wiki id=430,437,439,443,444
- コード: /home/ubuntu/workspace/trade-backtest/mean_reversion.py
バックテスト検証#5: RSI平均回帰もエッジ無し・R単位事前判定が機能 2026-05-30