コンテンツにスキップ

悪夢シナリオBT: 合成高VIXストレステスト

作成日: 2026-03-31 ステータス: 合成データ生成完了、BT実行待ち

概要

「VIXが2年間高止まりし続ける悪夢のような市場環境」を人工的に合成し、AEGISの put credit spread 戦略が生き残れるか、そして回復相場で取り返せるかを検証するストレステスト。

通常のBTは平均的な市場でパラメータを最適化するが、このテストは意図的に最悪の市場環境を合成し、戦略のロバスト性を検証する。

方法論

データ合成手法: ブロックステッチ方式

2007年〜2026年のORATS実データからVIX≥22の日を全て抽出し、ブロック単位でランダムに並べ替えて連続した合成データを生成する。

Phase 1: 地獄 (24ヶ月 = 500取引日)
  VIX≥22の実データ日をシャッフル接続
  → 毎月VIX 30超スパイクが発生する悪夢環境

Phase 2: 回復 (6ヶ月 = 116取引日)
  2022年11月〜2023年4月の実データ
  → VIX 26→16、インフレピーク後のゆるやかな回復

合成期間: 2024-01-02 → 2026-05-12(616取引日 = 2年5ヶ月)

ブロック選定

「ブロック」= VIX≥22が連続する取引日群。82ブロック・1,340日分の在庫から500日分を使用。

主な素材:

ブロック 期間 日数 VIXピーク イベント
Block 8 2008-09〜2009-10 281日 80.9 リーマンショック
Block 48 2020-02〜2020-08 122日 82.7 COVID-19
Block 21 2011-07〜2011-12 103日 48.0 米国債格下げ
Block 13 2010-04〜2010-09 87日 45.8 Flash Crash
Block 64 2022-04〜2022-08 77日 34.8 インフレ/利上げ
Block 49 2020-08〜2020-11 68日 40.3 米大統領選
Block 78 2025-03〜2025-05 26日 52.3 関税ショック

価格リベース

各ブロックのSPYをアンカー価格($500)に独立リベースし、オプションのstrike・bid/askも同比率で変換。これにより:

  • ブロック内: 実際のリターン・ボラティリティを忠実に再現
  • ブロック境界: SPYが~$500にリセット(DTE・IV・Greeksは保持)
  • 数値安定性: 2008年(\(130)→2024年(\)500)の価格差で累積ドリフトしない

合成データの統計

指標
VIX平均 31.4
VIX最小 17.1(回復フェーズ)
VIX最大 80.9(リーマン期)
銘柄数 955
データソース ORATS bt_yearly (bid/ask/Greeks完備)

BT実行パラメータ

3パターンの初期資金で実行し、資金規模による耐性の差を検証:

パターン 初期資金 想定
Small $4,100 現在のLT_RC口座規模
Medium $8,000 短期目標
Large $13,000 中期目標

戦略パラメータはLT_RC現行設定 (CR=0.35, TP=0.38, DTE=10-60) を使用。

./aegis_v3/aegis-bt-rs/target/release/aegis-bt-rs \
  --config <scenario.yaml> \
  --data-path /Volumes/RAID/AEGIS/synthetic_stress/bt_yearly \
  --vix-csv /Volumes/RAID/AEGIS/synthetic_stress/bt_yearly/vix_daily_synthetic.csv \
  --start 2024-01-02 --end 2026-05-12 \
  --output aegis_v3/output \
  --deterministic --seed 0

検証ポイント

  1. 生存: 2年間の高VIXで破産(equity≤0)しないか
  2. 最大DD: 最大ドローダウンはどこまで行くか
  3. 回復: Phase 2で損失をどの程度取り返せるか
  4. 資金規模の影響: $4K vs $8K vs $13Kで結果がどう変わるか
  5. VIX Stopの妥当性: VIX=80停止で十分か、もっと低く設定すべきか

限界・注意事項

  • ブロック境界でSPYがリセットされるため、境界をまたぐポジションは人工的なPnLが発生し得る
  • VIX≥22の日のみを抽出しているため、ブロック内のリターン特性は実際より悪い(低VIX日が除外されている)
  • 異なる年代のブロックをシャッフルしているため、市場の構造変化(電子取引普及等)の影響が混在する
  • 回復フェーズ(2022-11〜2023-04)は1つの固定期間であり、回復パターンのバリエーションは検証できない

ツール

生成スクリプト: aegis_v3/scripts/generate_synthetic_stress.py

# Dry run (データ確認のみ)
python scripts/generate_synthetic_stress.py --dry-run

# Full run
python scripts/generate_synthetic_stress.py

# カスタム設定
python scripts/generate_synthetic_stress.py \
  --vix-threshold 25 \
  --stress-days 500 \
  --recovery-days 125 \
  --seed 42