stress-test

SKILL.md

ポートフォリオ ストレステスト スキル

$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%(改善: テック比率低下のため)」
  • 懸念メモ: 懸念銘柄がストレステストで大ダメージなら「懸念メモと一致 → 対策を検討」
  • 投資メモ: ヘッジ戦略メモがあれば参照。「前回の教訓メモ: 円高ヘッジ不足 → 今回もドル高シナリオに弱い」
Weekly Installs
14
GitHub Stars
72
First Seen
Feb 17, 2026
Installed on
opencode13
gemini-cli13
claude-code13
github-copilot13
amp13
cline13