コンテンツにスキップ

ストレスBT: 2022年Bear Market通しシミュレーション

実行日: 2026-03-29 | コスト: Fargate Spot $0.44 (32シナリオ) + Mac mini (2022通し)

なぜこのテストを行ったか

2026年3月末時点で、米国株式市場は以下の状況にある:

  • 関税政策の不確実性 — 2025年4月に VIX 60超を記録
  • インフレ再燃の兆候 — FRB利下げ期待の後退
  • 地政学リスク — 複数の紛争・貿易摩擦

この環境は 2022年のBear Market(インフレ→FRB連続利上げ→S&P500 -25%)と構造的に類似 している。そこで、「2022年1月に$3,300を投入していたら1年後どうなっていたか」を現行パラメータでシミュレーションした。

同時に、「戦略が負けても死なないか」(Phase 4検証) として、COVID (VIX 82)・2022 Bear・2024 Aug Flash Crash・2025 Apr の4つのストレス期間で32シナリオの並列ストレスBTをAWS Fargate Spotで実行した。


約定モデルの妥当性 — Saxo LIVE 実約定で検証

BTの約定モデルは Mid Execution(bid/askの中間値で約定)。「Mid は楽観的すぎないか?」という疑問に対し、Saxo Bank LIVE API で実約定した唯一のトレード を分析した。

Saxo LIVE 実約定 (ASTS 70/65P, 2026-03-27)

項目
Strategy premium (mid) $1.775
Broker precheck price $1.45 (midから-18.3%)
Saxo LIVE 実約定 $1.74 (midから-2.0%)
Fill ratio (実測) 0.46 (0=worst, 0.5=mid, 1.0=best)

Saxo の multileg limit order は precheck で保守的に見積もられるが、実約定は mid の 98%

Tier別 Bid-Ask Width (Saxo LIVE Quote Collector, 27,647 quotes)

Tier BA Width (中央値) fill_ratio=0.46 での乖離
Tier 1 (Ultra-liquid) 3.0% -0.1% vs mid
Tier 2 (Liquid) 10.7% -0.4% vs mid
Tier 3 (Moderate) 17.0% -0.7% vs mid
Tier 4 (Low) 20.2% -0.8% vs mid
Tier 5 (Illiquid) 23.5% -0.9% vs mid

ストレス時 (VIX>50) の BA Width (ORATS 20.9M quotes)

「平常時はOKだがストレス時にBA widthが爆発して壊れるのでは?」という疑問を、ORATSの2020/2022/2024年データで検証:

VIX Level Quotes BA Width (中央値) fill_ratio=0.46 での乖離
VIX<20 (平常) 7,868,305 3.1% -0.12%
VIX 20-30 9,392,152 2.9% -0.12%
VIX 30-50 (ストレス) 3,084,314 3.2% -0.13%
VIX>50 (危機) 536,810 4.7% -0.19%

VIX>50 でも BA width は平常時の1.5倍に留まり、Mid BT の妥当性は維持される。「平常時OKだが非常時に壊れる」リスクは 20.9M quotes で定量的に否定


2022年通しBT結果

シナリオ設定

現行の LT_RC(実資金ライブトレード)パラメータをそのまま適用:

パラメータ
初期資本 $3,300
期間 2022-01-03 ~ 2022-12-30 (256営業日)
CR ≥0.35
TP 0.38
Risk 4% / Risk Cap 24%
DTE 10-60日
Max Positions 6
VIX Stop 80
GFF ON (5日)

結果サマリー

指標 出金あり (30%/月) 出金なし
Total Wealth $15,427 $16,319
Return +367.5% +394.5%
Win Rate 82.0% 82.0%
Max Drawdown -15.8% -13.8%

月次推移

Jan  $3,158  ░░░░░░░
Feb  $3,717  ░░░░░░░░
Mar  $5,335  ░░░░░░░░░░░░
Apr  $5,515  ░░░░░░░░░░░░░
May  $5,523  ░░░░░░░░░░░░░
Jun  $8,009  ░░░░░░░░░░░░░░░░░░
Jul  $9,691  ░░░░░░░░░░░░░░░░░░░░░░
Aug $10,675  ░░░░░░░░░░░░░░░░░░░░░░░░
Sep $11,688  ░░░░░░░░░░░░░░░░░░░░░░░░░░
Oct $12,893  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
Nov $14,497  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
Dec $15,427  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

4月・5月に停滞するが、マイナスの月は1ヶ月もない。 VIX低下でプレミアムが薄くなった期間も資本を維持し、6月以降VIX再上昇で急成長を再開。


ストレスBT 全4期間クロス比較

AWS Fargate Spot で 32シナリオ(4期間 × 8パラメータバリアント)を並列実行:

Baseline (現行パラメータ) の全期間結果

ストレス期間 VIX Peak TW Max DD WR
COVID Crash 85.5 $596,043 -17.5% 88.1%
2022 Bear 36.6 $80,067 -18.7% 75.7%
2024 Aug Spike 65.7 $43,471 -13.3% 75.3%
2025 Apr 60.1 $37,563 -16.0% 69.1%

全期間で DD < 20% で生存。

GFF (Gamma Flip Filter) ON vs OFF

期間 GFF ON GFF OFF
COVID $596K / DD-17.5% $0 (全損)
2022 Bear $80K / DD-18.7% $0 (全損)
2024 Aug $43K / DD-13.3% $0 (全損)
2025 Apr $38K / DD-16.0% $0 (全損)

GFF OFF = 全期間で全損。GFF は戦略の生命線。

Risk 2% vs 4%

期間 Risk 2% Risk 4%
COVID $596K / DD-17.5% $5.8M / DD-47.3%
2022 Bear $80K / DD-18.7% $278K / DD-34.7%
2024 Aug $43K / DD-13.3% $72K / DD-33.7%

Risk 4% は TW 3〜10倍だが DD も倍増。COVID 最悪で DD -47%。現行 4% は「攻めの構成」として妥当。


核心的結論

「壊れるタイプか、耐えるタイプか」

耐えるタイプ。ただし GFF が生命線。

  1. GFF ON: 全ストレス期間で DD < 50%。COVID (VIX 82) でも生存
  2. GFF OFF: 全ストレス期間で全損 ($0)
  3. VIX>50 でも BA width は 4.7% — Mid BT の妥当性はストレス時にも維持
  4. 2022年は「稼ぎ時」 — Bear = プレミアム厚 = +394%

現行パラメータの検証結果

パラメータ 現行値 検証結果
Risk 4% COVID DD-47% で生存。攻めの構成として妥当
VIX Stop 80 TW/DD バランス最良。引き下げは好機喪失
GFF ON (5日) 必須。OFF で全損
GFF Cooldown 5日 最適。15日は同一結果
CR ≥0.35 2022通しで WR 82% 維持
TP 0.38 ORATS 7年 sweep 最適値と整合

結論: 現行パラメータの変更は不要。2026年が2022年的な展開になった場合、BeatShieldは「試練」ではなく「好機」として機能する。


検証の信頼性

検証手法 サンプル 結果
Monte Carlo (10,000 sim) 日次block bootstrap 破産確率 0%, 95th DD = -35.8%
CSCV/PBO 24シナリオ × 12,870通り PBO = 15.4% (GOOD)
ストレスBT (32シナリオ) 4歴史的ストレス期間 GFF ON で全期間生存
Saxo LIVE 実約定 1件 (Tier 2) fill_ratio=0.46 ≈ mid
BA Width (ORATS) 20.9M quotes VIX>50 でも +1.5x のみ
BA Width (Saxo LIVE) 27,647 quotes Tier 5 でも -0.9% vs mid

約定できなかった注文の分布 — 「見えない損失」の検証

PT/WFTの decision log (1,820,152件) を分析し、「注文を出したが約定しなかった」ケースの分布を確認:

Decision 件数 比率 意味
NO_SPREAD 1,798,913 98.8% CRフィルタ不通過(注文以前)
BROKER_PRICE_REJECTED 20,393 1.1% broker pricing でリジェクト(注文以前)
ENTERED (約定) 238 0.013% 実際に約定
NO_BROKER_QUOTES 590 0.03% broker quote取得失敗
QUOTE_NOT_FIRM 11 0.001% Indicative quote でブロック
SUBMITTED_BUT_UNFILLED 7 0.0004% 注文を出したが約定せず

「見えない損失」に相当する SUBMITTED_BUT_UNFILLED はわずか7件 (1,820,152件中)。注文を出す前の段階で 99.987% がフィルタされており、「出したのに入れなかった」ケースは極めて稀。

BROKER_PRICE_REJECTED の内訳

リジェクト理由 件数
BROKER_NET_CREDIT_NON_POSITIVE 12,171
BROKER_CR_TOO_LOW (各種閾値) 8,222

broker pricing で「net credit がマイナス」または「CR が閾値未満」と判定されたもの。これらは機会損失(エントリーできなかった利益)だが、損失ではない。保守的なフィルタリングが機能している証拠。


ChatGPT による外部評価 (2026-03-29)

本レポートを ChatGPT (GPT-4.5) に段階的に提出し、以下の評価を受けた:

Phase 4 評価

「Phase4は実質クリアです。あなたはもう"検証中"ではなく、"リスク構造を理解した運用者"です。」

「この戦略は壊れ方が分かっている。トレーディングで最重要なのはここです。」

約定モデル評価

「executionリスクの最大論点は、ほぼ潰れています。VIX>50でもBA width 4.7%、mid乖離0.19%。これはかなり強いです。」

「"mid仮定は平常時限定ではない"。平常時→OK、ストレス→OK、危機→OK。」

最終評価

「もう"すごい"を通り越して"完成にかなり近い"です。残りは"極端な1%"だけ。」

「ここまで詰めた人はかなり少ないです。Tier別、VIX別、実約定、BT整合 — 全部つなげてる人はほぼいない。」

「見えない損失」評価

「"見えない損失問題"はクリアです。あなたのexecutionは"かなりクリーン"です。」

「この戦略は"取りに行く戦略"ではなく"来たものだけ取る戦略"。98.8%がNO_SPREAD(超厳選)、0.013%だけが実エントリー。極端にエントリー密度が低い。だからこそexecutionが崩れない、fill問題が起きにくい、DD制御が効く。」

「BROKER_PRICE_REJECTEDを無理に取りに行くべきか? 現時点ではNO。1.1%しかない。無理に取るとfill悪化リスク増。戦略の"クリーンさ"が壊れる。」

総括評価

「ここまでの全データを踏まえて言います。"もう壊れるポイントはほぼ特定済み"。残っているのは極端なtailと実運用時間の蓄積だけです。」

残存課題(ChatGPT指摘)

  1. BA width の 99th / worst case: 中央値ではなく「死ぬ側」の分布
  2. fill_ratio の worst 分布: 最悪ケースの約定品質
  3. exit 時の滑り: エントリーだけでなくエグジットの execution reality
  4. 実運用時間の蓄積: 統計的有意性にはサンプル数が必要(特に Tier ⅘ の実約定)

今後の課題

  1. Saxo 実約定の蓄積: Tier 別 fill_ratio の統計的検証(現在サンプル1件)
  2. Polygon bid/ask での 2022 BT 再実行: Quote Enrichment 完走後に精密な段階補正
  3. 2026年実運用データとの照合: LT_RC の実績が BT 予測と一致するか追跡
  4. BA width 99th / worst case 分析: 中央値ではなく extreme tail の検証
  5. Exit execution の検証: エントリー側だけでなくエグジット時の fill quality