米国株自動売買エンジンの基盤構築(US-T1〜T4)に続いて、6つのリスク管理施策を実装した。米国株特有のリスク——VIX急騰、オーバーナイトギャップ、大型ドローダウン——に対して、それぞれ専用の防御機構を設計した。
本記事では、各施策の設計意図と実装パラメータを記録する。
US-B1: VIX急騰時テール保険
テールリスクとは
テールリスク(Tail Risk)は、正規分布の裾(テール)に位置する「極めて低確率だが発生したら壊滅的な影響がある」イベントだ。2020年3月のコロナショック(S&P500が34%下落)がその典型例だ。
VIX(CBOE Volatility Index、恐怖指数)は、S&P500のオプション価格から算出される「市場の予想変動率」だ。通常は15〜20程度だが、パニック時には40〜80まで急騰する。
実装
TAIL_INSURANCE_CONFIG = {
"enabled": True,
"vix_threshold": 35, # VIX 35超でテール保険発動
"sl_multiplier": 0.5, # SLを通常の50%に縮小
"position_reduction": 0.5, # ポジションサイズも50%に縮小
}
VIXが35を超えた場合、以下の2つの防御が同時に発動する。
- SL(ストップロス)の縮小: 通常のSLの50%に縮小。損切りが早まり、1トレードあたりの最大損失を半減
- ポジションサイズの縮小: 建玉数量を50%に縮小。全体のエクスポージャー(リスク露出度)を半減
VIX 35は「コロナショック級ではないが、通常の変動を明らかに超えている」水準だ。バックテストでVIX > 35の期間に通常パラメータで運用した場合の損失を分析し、この閾値を決定した。
US-B5: ギャップリスク管理
ギャップとは
ギャップ(Gap)は、前日の終値と当日の始値の間に生じる「価格の飛び」だ。米国株は日本時間の早朝にクローズし、夜にオープンするため、約17時間の非取引時間がある。この間に決算発表やマクロ経済ニュースがあると、始値が前日終値から大きく乖離する。
前日終値: $150.00
当日始値: $142.00(-5.3%のギャップダウン)
→ SLが$148.00に設定されていても、$142.00で約定
→ SLを超える損失が発生(スリッページ)
実装
GAP_RISK_CONFIG = {
"enabled": True,
"max_gap_percent": 3.0, # 3%以上のギャップでエントリー延期
"gap_check_window": "open", # 始値でチェック
}
当日の始値が前日終値から3%以上乖離していた場合、その日のエントリーを見送る。ギャップ発生日は値動きが不安定で、テクニカルシグナルの信頼性が低下するためだ。
US-B6: ドローダウンモニター
ドローダウン(DD)とは
ドローダウンは、資産のピークからの下落率だ。例えば、資産が100万円から92万円に減った場合、DDは8%だ。
DRAWDOWN_MONITOR_CONFIG = {
"warning_threshold": 5, # DD 5%で警告(Slack通知)
"critical_threshold": 10, # DD 10%で取引停止
}
| DD水準 | アクション |
|---|---|
| < 5% | 通常運用 |
| 5%〜10% | Slack警告通知 + ポジションサイズ縮小 |
| > 10% | 全新規エントリー停止 + 人間の判断を待つ |
DD 10%での停止は「精神的に耐えられる限界」と「統計的な戦略破綻の可能性」の両方を考慮した閾値だ。
US-B7: トレーリングストップ
FXエンジンで実装済みの状態機械ベースのトレーリングストップ(NEW-11)を、米国株にも適用した。
TRAILING_STOP_CONFIG = {
"activation_ratio": 0.5, # 含み益がTPの50%に達したら発動
"trailing_distance_atr": 1.0, # ATR 1.0倍の距離で追随
}
- エントリー後、含み益がTP(テイクプロフィット)の50%に到達
- SLをブレークイーブン(建値)に引き上げ → 損失ゼロを確保
- 以降、価格が上昇するたびにSLがATR 1.0倍の距離で追随
- 価格が反転してSLに到達したら決済 → 利益確定
US-C1: Kelly基準の有効化
Kelly基準(Kelly Criterion)は、「勝率とペイオフ比から最適な賭け金の割合を計算する」数学的手法だ。
KELLY_CONFIG = {
"conservative_factor": 0.25, # フラクショナルKelly(25%)
}
Kelly%の計算式は (勝率 × RR比 - 敗率) / RR比 だが、理論上の最適値(フルKelly)をそのまま使うとリスクが高すぎる。conservative_factor=0.25(フラクショナルKelly)で、理論値の25%だけを実際のポジションサイズに反映する。
US-C2: ポジション数動的調整
VIXの水準に応じて、同時保有できるポジション数を5段階で制御する。
VIX < 15(低ボラ): 最大10ポジション
VIX 15〜20(通常): 最大 8ポジション
VIX 20〜25(やや高): 最大 6ポジション
VIX 25〜35(高ボラ): 最大 4ポジション
VIX > 35(パニック): 最大 3ポジション
VIXが高いほど個別銘柄間の相関が高まり(パニック売りですべての株が同時に下がる)、分散効果が薄れる。ポジション数を減らすことで、集中リスクとDD(ドローダウン)を制御する。
US-D1 + US-D2: 決算フィルターとPEAD戦略
日本株エンジン(JS-ADD-C3)と同様に、決算前後を分離管理する。
# US-D1: 決算前のエントリー制限
EARNINGS_FILTER = {
"days_before": 1, # 決算発表1日前からエントリー禁止
"days_after": 0, # 発表当日は禁止なし(翌日から通常)
}
# US-D2: PEAD戦略(決算後のドリフト)
PEAD_CONFIG = {
"drift_days": 3, # 発表後3日間が対象
"bonus_thresholds": [ # EPS surpriseに応じた3段階ボーナス
{"surprise": 0.05, "bonus": 0.5}, # 5%超 → スコア+0.5
{"surprise": 0.10, "bonus": 1.0}, # 10%超 → スコア+1.0
{"surprise": 0.20, "bonus": 1.5}, # 20%超 → スコア+1.5
],
}
米国株は日本株より決算日が分散しており、四半期ごとに数千社が決算発表する。days_before=1と日本株(3日前)より短いのは、米国株は決算発表のタイミングがより正確に予測できるためだ。
学んだこと
1. リスク管理は「層」で守る
VIXテール保険、ギャップリスク、DDモニター、トレーリングストップ——1つの防御だけでは不十分だ。複数の層で異なるリスクに対処することで、「想定外のシナリオ」にも対応できる。
2. VIXは「万能指標」ではないが「最重要指標」
VIXはS&P500のオプションから算出されるため、個別銘柄のリスクを直接反映しない。しかし市場全体のリスク水準を示す指標としては最も信頼できる。ポジション数制御・テール保険・閾値調整の3つでVIXを参照している。
3. 「やらない」リスク管理が最も効果的
ギャップリスク管理(3%以上のギャップでエントリー見送り)やDD 10%での取引停止は、「トレードしない」判断だ。利益機会を逃すリスクはあるが、壊滅的な損失を防ぐ効果のほうがはるかに大きい。
まとめ
米国株リスク管理施策群で重要なのは以下の3点だ。
- 多層防御: VIXテール保険・ギャップリスク・DDモニター・トレーリングストップの4層で資産を守る
- VIX連動の動的制御: ポジション数・SL幅・エントリー閾値をVIX水準で自動調整
- 決算の分離管理: 決算前=リスク制限、決算後=PEAD戦略でアノマリー活用