ポートフォリオ ストレステスト スキル
$ARGUMENTS を解析してポートフォリオ銘柄リストとシナリオを判定し、以下のコマンドを実行してください。
実行コマンド
python3 /Users/kikuchihiroyuki/stock-skills/.claude/skills/stress-test/scripts/run_stress_test.py --portfolio <symbols> [--scenario <scenario>] [--weights <weights>]
自然言語ルーティング
自然言語→スキル判定は .claude/rules/intent-routing.md を参照。
引数の解釈ルール
portfolio(銘柄リスト・必須)
ユーザーの入力からカンマ区切りの銘柄リストを抽出する。スペース区切りで指定された場合もカンマ区切りに変換する。
ユーザー入力例 --portfolio 値
7203.T,AAPL,D05.SI
7203.T,AAPL,D05.SI
7203.T AAPL D05.SI
7203.T,AAPL,D05.SI
トヨタ アップル
対応するティッカーに変換してから指定
weights(保有比率・省略可)
カンマ区切りの比率リスト。銘柄数と同じ数だけ指定する。省略時は等分(各銘柄 1/N)。
ユーザー入力例 --weights 値
0.5,0.3,0.2
0.5,0.3,0.2
50%,30%,20%
0.5,0.3,0.2 (パーセントをデシマルに変換)
省略 各銘柄 1/N で等分
シナリオ一覧
シナリオ 概要
トリプル安 株式・為替・債券が同時下落。全資産クラスにストレス
ドル高円安 円が急落。輸入コスト増加、海外資産は円建て評価上昇
米国リセッション 米国景気後退。グローバル需要減退、リスクオフ
日銀利上げ 日本の金利上昇。銀行株上昇、成長株・REIT下落
米中対立 貿易摩擦激化。サプライチェーン分断、半導体・製造業に打撃
インフレ再燃 物価再上昇。実質購買力低下、金利引き上げ観測
テック暴落 NASDAQ -30%。AI期待剥落、テック株直撃、質への逃避
円高ドル安 USD/JPY -20円。外貨資産の円建て評価下落、輸出企業に打撃
カスタム ユーザー指定のシナリオを自然言語で解釈
出力形式(10ステップ パイプライン)
結果は以下のステップで構造化して表示してください。
Step 1: ポートフォリオ概要
-
銘柄一覧(シンボル・名称・セクター・比率)
-
総時価総額(推定)
Step 2: 集中度分析
-
セクターHHI / 地域HHI / 通貨HHI
-
最大集中軸の特定
-
リスクレベル判定(分散 / やや集中 / 危険な集中)
Step 3: ショック感応度スコア
-
各銘柄のベータ・財務健全性・バリュエーション耐性の評価
-
銘柄別ショック感応度スコア(0-100)
Step 4: シナリオ定義
-
適用シナリオ名と概要
-
マクロ変数の変化(金利・為替・株式市場の想定変動)
Step 5: 銘柄別インパクト推定
-
各銘柄の推定損失率
-
集中度倍率の適用
-
ポートフォリオ加重インパクト
Step 6: ポートフォリオ全体インパクト
-
PF全体の推定損失率
-
最大損失銘柄
Step 6b: 相関分析(KIK-352)
-
銘柄間相関行列(ピアソン相関、過去1年日次リターン)
-
高相関ペア(|r| >= 0.7)の検出
-
ファクター分解: 各銘柄をマクロ変数(USD/JPY, 日経225, S&P500, 原油, 米10年金利)で回帰
-
LLM解釈: ファクター回帰で説明しきれない残差相関について、業界知識で原因を推測して補足する(例: サプライチェーン依存、同一顧客基盤等)。「確定要因(統計)」と「推定要因(推測)」を明確に分離して表示すること
Step 6c: VaR(過去データベースのリスク指標)(KIK-352)
-
過去1年の日次リターンからポートフォリオの加重リターンを算出
-
95% VaR / 99% VaR(日次・月次)
-
ストレステストのシナリオ分析(テールリスク)との違いを説明すること
Step 7: 因果連鎖分析
-
シナリオ発生時の連鎖的影響の説明
-
セクター間波及パス
Step 8: 総合判定 + 推奨アクション(KIK-352)
-
リスク軽減のための具体的提案(ルールベース自動生成 + Claude補足)
-
集中度・相関・VaR・ストレステスト結果を統合した推奨
-
ヘッジ候補銘柄・セクター
-
LLM補完: ルールベースの推奨に加えて、ポートフォリオにないセクターの候補提示、相関の定性的原因を踏まえた分散先の提案をClaudeが補足すること
実行例
基本的なストレステスト(シナリオ自動判定)
python3 .../run_stress_test.py --portfolio 7203.T,AAPL,D05.SI
トリプル安シナリオ
python3 .../run_stress_test.py --portfolio 7203.T,9984.T,6758.T --scenario トリプル安
比率指定
python3 .../run_stress_test.py --portfolio 7203.T,AAPL,D05.SI --weights 0.5,0.3,0.2
カスタムシナリオ
python3 .../run_stress_test.py --portfolio 7203.T,AAPL --scenario "半導体サプライチェーン崩壊"
前提知識統合ルール (KIK-466)
get_context.py の出力に以下がある場合、ストレステスト結果と統合して回答する:
-
前回ストレステスト(StressTest): 前回シナリオ・結果と比較。「前回テック暴落シナリオ: -18% → 今回: -15%(改善: テック比率低下のため)」
-
懸念メモ: 懸念銘柄がストレステストで大ダメージなら「懸念メモと一致 → 対策を検討」
-
投資メモ: ヘッジ戦略メモがあれば参照。「前回の教訓メモ: 円高ヘッジ不足 → 今回もドル高シナリオに弱い」