algo-risk-var について
投資ポートフォリオのVaRを、パラメトリック法、ヒストリカル・シミュレーション、モンテカルロ法で推定する金融分析スキルです。バックテストに加え、リスク管理や報告におけるVaRの限界も扱います。
主な機能
- 013種類のVaR計算手法
- 02ポートフォリオの下方リスク推定
- 03超過回数によるバックテスト
- 04テールリスクの限界に関する注意
活用シーン
- 01ポートフォリオの下方リスク評価
- 02取引限度額と資本準備の設定
- 03規制リスク報告の作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ asgard-ai-platform/ skills --skill algo-risk-varインストール後、Claude Code で/algo-risk-varを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
examples/sample_scenario.mdreferences/backtesting.mdexpected-shortfall.md詳細
バリュー・アット・リスク(VaR)
概要
VaRは、指定した信頼水準において、一定の期間内にポートフォリオが被る可能性のある最大損失を推定します。例:「95%信頼水準の1日VaRが100万ドル」とは、1日で100万ドルを超える損失が発生する確率が5%であることを意味します。手法は3種類あります。パラメトリック法(正規分布)、ヒストリカル・シミュレーション、モンテカルロ法です。
使用する場面
適用条件:
- リスク管理のためにポートフォリオの下方リスクを定量化するとき
- 取引限度額や資本準備金を設定するとき
- 規制報告(バーゼルIIIではVaRベースの資本が必要です)
使用しない場面:
- VaRを超える損失がどれほど大きくなり得るかを把握する必要があるとき(CVaR/期待ショートフォールを使用します)
- 価格履歴のない非流動性資産を扱うとき(VaRにはリターンデータが必要です)
アルゴリズム
IRON LAW: VaR Does NOT Tell You How Bad It Gets BEYOND the Threshold
VaR says "95% of the time, losses won't exceed $X." It says NOTHING
about the 5% worst case. A portfolio can have low VaR but catastrophic
tail losses. Always supplement with Expected Shortfall (CVaR) which
measures the average loss in the tail.
フェーズ1:入力の検証
ポートフォリオのポジション、過去のリターン(1年間の分析には最低250日分)、信頼水準(通常は95%または99%)、期間(1日または10日)を収集します。 ゲート: 十分なリターン履歴があり、ポジションが現在の市場価格で評価されていること。
フェーズ2:コアアルゴリズム
パラメトリックVaR: VaR = -μ + zα × σ(リターンが正規分布に従うと仮定します)。ポートフォリオの場合、ポートフォリオのσには共分散行列を使用します。
ヒストリカル・シミュレーション: 1. 過去のリターンから日次損益を計算します。2. 損益を昇順に並べます。3. VaR = (1-α)パーセンタイルの損失です。
モンテカルロ法: 1. リターン分布を当てはめます(または過去の分布を使用します)。2. ポートフォリオの経路を10,000回以上シミュレーションします。3. VaR = シミュレーションした損失の(1-α)パーセンタイルです。
フェーズ3:検証
バックテスト:過去1年間に実際の損失がVaRを超えた回数を数えます。信頼水準が95%の場合、超過は約5%になるはずです。Kupiec検定またはChristoffersen検定を使用します。 ゲート: バックテストの超過率が許容範囲内であること。
フェーズ4:出力
VaRの推定値とバックテスト結果を返します。
出力形式
{
"var": {"amount": 1250000, "confidence": 0.95, "horizon_days": 1, "currency": "TWD"},
"cvar": {"amount": 1800000},
"backtest": {"exceedances": 13, "expected": 12.5, "days_tested": 250, "pass": true},
"metadata": {"method": "historical_simulation", "portfolio_value": 50000000}
}
例
入出力例
入力: ポートフォリオ評価額 = 1,000,000ドル。降順に並べた直近20日間の日次リターン(損失順):
[-0.050, -0.040, -0.035, -0.030, -0.025, -0.020, -0.015, -0.010, -0.005, 0.000,
0.005, 0.010, 0.015, 0.020, 0.025, 0.030, 0.035, 0.040, 0.045, 0.050]
信頼水準 = 95%、期間 = 1日。
期待される結果(ヒストリカル・シミュレーション):
- 5パーセンタイルのインデックス = floor(20 × 0.05) = 1 → return[1] = -0.040
- VaR = 1,000,000ドル × 0.040 = 40,000ドル
- CVaR(期待ショートフォール)= VaRを超える損失となるリターンの平均 = (-0.050) × 1,000,000ドル = 50,000ドル
検証:常にVaR ≤ CVaRです(テール損失 ≥ 閾値となる損失)。VaRを超える損失の件数は、観測値の5%以下(20件中1件)である必要があります。
エッジケース
| 入力 | 期待される結果 | 理由 |
|---|---|---|
| 通常の市場環境 | VaRは妥当に見える | ただし、テールイベントを見落とします |
| 2008年のような危機が履歴にある | ヒストリカル法ではVaRが高くなる | 危機が分析期間に含まれていれば、ファットテールを捉えます |
| 非常に短い履歴(30日) | VaRの信頼性が低い | テールの推定に必要なデータが不足しています |
注意点
- 正規性の仮定: パラメトリックVaRはリターンが正規分布に従うと仮定します。金融リターンにはファットテールがあるため、パラメトリックVaRはテールリスクを過小評価します。
- 過去データの期間: ヒストリカル・シミュレーションの精度は過去データに依存します。直近250日間の市場が落ち着いていた場合、危機が迫っていてもVaRは低くなります。
- 期間のスケーリング: VaRが√Tに比例するのは、独立性と正規性が成り立つ場合に限られます。変動が大きい市場やトレンドのある市場では、この近似の精度は低くなります。
- 分散効果の錯覚: 通常時の相関を使って相関資産のVaRを算出すると、リスクが過小評価されます。危機時には相関が急上昇します(相関の崩壊)。
- VaRの悪用: トレーダーは、VaR上は安全に見えながら、テールリスクが壊滅的なポジションを組むことができます。このため、規制当局はストレステストも義務付けています。
参考資料
- 期待ショートフォール(CVaR)の計算については、
references/expected-shortfall.mdを参照してください - VaRのバックテスト手法については、
references/backtesting.mdを参照してください