# moomoo-trading スキル実装完了 (2026-06-05)
トレード継続目標の実運用化。`trade-backtest/` の戦略を moomoo OpenAPI でリアルタイム相場・実証券口座につなぐスキルとアダプタ群を実装。**全E2E検証PASS**。
## 設計の核心: seam(継ぎ目)を2点に最小化
既存の `paper_bot → mm.load(データ) / 約定ロジック` という細い依存の2点だけアダプタ化。
戦略ロジック・指標(`mm.indicators`/`entry_dir`)・サイジング式は一切不変。
**環境変数を何も設定しなければ現行フォワードテストは1ミリも変わらない**(ロールバック保険)。
## 環境変数(全て未設定が安全側)
| 変数 | 既定 | 効果 |
|---|---|---|
| `DATA_SOURCE` | yfinance | `moomoo`で相場をOpenD経由に |
| `BROKER` | virtual | `moomoo_sim`/`moomoo_real` |
| `MOOMOO_LIVE` | 未設定=SIMULATE強制 | `1`で初めてREAL到達 |
| `MOOMOO_MAX_LOT`/`MOOMOO_MAX_NOTIONAL` | なし | 超過は**クランプせず中断** |
| `MOOMOO_MOCK` | なし | `1`でOpenD/SDK不在でも検証 |
## 成果物
- スキル: `~/.claude/skills/moomoo-trading/SKILL.md` + references 3本(phase0-runbook/phase2-paper-broker/phase3-live-safety)
- コード(`trade-backtest/`):
- `moomoo_conn.py` — OpenD接続ラッパー(quote/trade context・--ping疎通・MOCK対応)
- `data_adapter.py` — DATA_SOURCEでyfinance/moomoo振り分け。yfinance実装が形状の正
- `moomoo_data.py` — moomoo相場→OHLC変換・シンボルマップ・**per-symbolフォールバック**
- `paper_broker.py` — Virtual/Sim/Realブローカー + make_broker()**4重ガード**
- `paper_bot.py` 改修 — tick()がbroker経由。サイジング式維持
- `run_opend.sh`/`opend-pm2.config.js` — OpenD常駐(PM2 id:15想定)
## 4重ガード(実弾事故防止)
1. `MOOMOO_LIVE!=1` → moomoo_realはSimに**強制ダウングレード**(fail-safe)
2. REALは`unlock_trade`(PW md5・環境変数のみ)必須
3. 名目/ロット上限超過は中断
4. cron自動REAL禁止・手動confirm + フォワード数値ゲート
## 実弾解禁ゲート(満たすまでMOOMOO_LIVE立てない)
フォワード≥90日 / 決済≥30件 / 期待値>0(コスト込) / 最大DDが破産級<5% / SIM実約定vs仮想理想の乖離許容内
## E2E検証(全PASS・2026-06-05)
- 非破壊: 全環境変数未設定→VirtualBroker・実データ1ティック現行同一
- セーフティ: moomoo_real+LIVE未設定→Sim強制DG / LIVE=1→Real
- Phase1: moomoo MOCKデータがOHLC形状+tz除去で一致・指標計算OK
- ガード: PW未設定/上限超過で中断
- 全モジュールimport非破壊・paper_state.json不汚染
## お姉様の手作業が必要な部分(残り)
1. moomoo口座開設(香港futu系列・ポリシー判断事項)
2. OpenD(Ubuntu版)取得・shadow配置・`pm2 start opend-pm2.config.js`
3. `~/.moomoo/opend.env`(権限600)に口座PW/md5
4. `venv/bin/pip install moomoo-api`
→ その後 `moomoo_conn.py --ping` 疎通 → `DATA_SOURCE=moomoo` → `BROKER=moomoo_sim` の順に実機検証
**「アカウント連携も指示をくれればやれる」とのことなので、OpenD起動段階で手順を出して実機到達する**
## ディスク注意
shadow 91%逼迫。OpenD導入で最逼迫 → phase0の空き4GBゲートが生命線。SDK同居venvで増分最小化
## 関連
- 計画書: ~/.claude/plans/temporal-floating-church.md
- トレード基盤: [[トレードシステム検証#1-12完了・フォワードテスト稼働中]]
- 発端: [[蒸留モデル huihui_ai/Qwen3.6-abliterated:35b-Claude-4.7 (Opus 4.7蒸留・ローカルLLM)]]からのトレード文脈派生
moomoo-trading スキル実装完了 — 相場/ペーパー/実取引の段階導入 (2026-06-05)