--- name: stress-test description: "ポートフォリオのストレステスト。保有銘柄リストを受け取り、ショック感応度・シナリオ分析・因果連鎖を通じてPFの弱点を特定する。" argument-hint: "[銘柄リスト] [--scenario SCENARIO] 例: 7203.T,AAPL,D05.SI --scenario トリプル安" allowed-tools: Bash(python3 *) --- # ポートフォリオ ストレステスト スキル $ARGUMENTS を解析してポートフォリオ銘柄リストとシナリオを判定し、以下のコマンドを実行してください。 ## 実行コマンド ```bash python3 /Users/kikuchihiroyuki/stock-skills/.claude/skills/stress-test/scripts/run_stress_test.py --portfolio [--scenario ] [--weights ] ``` ## 自然言語ルーティング 自然言語→スキル判定は [.claude/rules/intent-routing.md](../../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が補足すること ## 実行例 ```bash # 基本的なストレステスト(シナリオ自動判定) 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 "半導体サプライチェーン崩壊" ```