# トレード検証#17: 順張りエッジ OOS最終判定(2026-06-05)
検証#14-16(id=492)で「順張りブレイク優位は強気相場の地合い拾いの疑い」が出たため、
**OOS分割×コスト織り込み×長期(5y)** の3点セットで白黒つけた決定版。`vbt_oos.py`。
## 検証設計
- 順張りDonchian20ブレイク×200SMA順張り×ATR×2 SL、RR1.0-4.0
- 6市場(AAPL/SPY/QQQ/MSFT/GLD/USO=株+ETF+金+原油で下落局面含む)
- 各市場を前半IS/後半OOSに2分割、両期間でRRプラトー成立&コスト後終端プラスか
- コスト=0.05R/トレード(往復スプレッド+手数料+スリッページ概算)を期待値から減算
- **84通り(6市場×2期間×7RR)が2.4秒** = vectorbtの高速性
## 結果(コスト後R単位期待値・IS/OOS両方で生存=★)
| 市場 | 判定 | 所見 |
|------|------|------|
| **QQQ** | **★本物** | IS+0.15→+1.45/OOS+0.38→+1.62 両期間プラトー○・終端+。唯一の生存 |
| AAPL | ✗ | OOSは光るがISは終端マイナス=期間で逆転 |
| SPY | ✗ | 同上(IS終端−/OOS終端+) |
| MSFT | △ISのみ | IS良好だがOOS高RRで崩壊=カーブフィッティング典型 |
| GLD | ✗ | ISプラトー×終端−/OOSは生きる=不安定 |
| USO(原油) | ✗ | 両期間ほぼ全滅=下落・乱高下で順張りブレイクは機能しない |
**IS・OOS両方で本物のエッジ成立: 1/6市場**
## 結論(確定)
**検証#8-9「全市場で順張りブレイク優位」は強気相場という地合いに支えられた幻影だった。**
コストとOOSという2つの現実フィルターを通すと6市場中5市場が脱落。
- AAPL/SPY/GLDはOOSで光るがISで沈む=期間で挙動逆転=安定エッジでない
- MSFTはIS良好OOS崩壊=過去最適化
- USO(原油)は下落局面で全滅=順張りは方向依存
- **QQQのみ両期間でRRプラトーが綺麗に右肩上がり=追試に値する唯一の候補**
## サイクル5: QQQフォワード追試 開始(2026-06-05)
- paper_bot.py STRATEGIES に **QQQ追加**(`{"entry":"donchian","regime":"trend_follow","cat":"Stock"}`=OOS生存条件と一致)
- 1ティック検証OK=「QQQ:シグナルなし(待機)」で正常評価・state無傷・確定7トレード維持
- **既存cron(run_paper_tick.sh 毎時5分)が自動でQQQも拾う**。QQQが200SMA上でDonchianブレイクすればSIM/Virtualでエントリー
- OpenD実機稼働中(PID1372061)。ただし**MOOMOO_LIVE未設定=実弾には物理到達しない**。cronにMOOMOO_LIVE書かない鉄則厳守
- 監視: dashboard⑤フォワード実績タブにQQQトレードが出現するのを待つ
## 次の判定基準
QQQフォワードで順張りDonchianブレイクのエントリーが複数回発生し、OOS検証通りRR2.5で勝てるか観察。
安定してプラスを確認するまで実弾は流さない。サンプルが貯まるまで数週間〜数ヶ月の観察。
## ダッシュボード
http://100.115.94.5:8400/dashboard.html → ⑥OOS最終判定🔬タブ(oos_data.json fetch・IS/OOS×7RR色分け)
- venv-analytics(vectorbt)で `vbt_oos.py --json` 実行→oos_data.json生成。本番取引venv(pandas3)は無傷
トレード検証#17: 順張りエッジOOS最終判定(2026-06-05・QQQのみ生存)