Mímisbrunnr知恵の泉

← 意思決定分析 一覧

🎓 レベル:標準 | 重要度:A(必須)

📎 前提:リスクの測り方(分散・下方リスク) | 関連:CVaR(期待ショートフォール)整合的リスク測度の公理・金融工学(VaR)

要点(BLUF)

1. VaR の定義

損失を LL(正が損失)とするとき、信頼水準 α\alphaVaR は損失分布の α\alpha 分位点として定義されます。

VaRα(L)=inf{:P(L)α}\mathrm{VaR}_\alpha(L) = \inf\{\,\ell : P(L \le \ell) \ge \alpha\,\}

「損失が \ell 以下である確率が α\alpha 以上になる、最小の \ell」。α=0.95\alpha=0.95 なら、損失がそれ以下に収まる確率が95%となる境界額です。

VaR の推定には主に2つの方法があります。

import numpy as np
from scipy import stats

rng = np.random.default_rng(42)
mu, sigma = 2.0, 10.0
profit = rng.normal(mu, sigma, size=200_000)
loss = -profit                                  # 損失 = -損益

for alpha in [0.95, 0.99]:
    var_hist = np.quantile(loss, alpha)                       # ヒストリカルVaR
    var_param = -mu + sigma * stats.norm.ppf(alpha)           # パラメトリックVaR
    print(f"信頼水準 {alpha:.0%}: VaR(ヒストリカル)={var_hist:.2f}  VaR(正規)={var_param:.2f} 万円")

出力:

信頼水準 95%: VaR(ヒストリカル)=14.51  VaR(正規)=14.45 万円
信頼水準 99%: VaR(ヒストリカル)=21.28  VaR(正規)=21.26 万円

出力の意味:95% VaR は約14.5万——「95%の確率で損失は14.5万以内、5%の確率でそれを超える」。99%にすると21.3万に増えます(より稀な悪い事象まで見るほどVaRは大きい)。ヒストリカルと正規がほぼ一致するのは、データを正規分布で生成したから。現実の損益は裾が厚く(fat tail)、この2つがズレる——そのとき正規VaRは大損失を過小評価しがちです。

2. 図で見る:VaR は裾の「入口」

VaR は損失分布のどこを指しているのか。ヒストグラム上に置くと、最悪 (1α)(1-\alpha) の裾が始まる境界であることが分かります。

import numpy as np
import matplotlib.pyplot as plt
import japanize_matplotlib

rng = np.random.default_rng(42)
profit = rng.normal(2.0, 10.0, size=200_000)
loss = -profit
alpha = 0.95
var = np.quantile(loss, alpha)
cvar = loss[loss >= var].mean()                 # 参考:裾の平均(CVaR)

plt.figure(figsize=(7.5, 4.5))
plt.hist(loss, bins=120, density=True, alpha=0.5, color="steelblue", label="損失分布")
plt.axvline(var, color="orange", lw=2, label=f"VaR(95%)={var:.1f}")
plt.axvline(cvar, color="red", lw=2, label=f"CVaR(95%)={cvar:.1f}")
plt.xlabel("損失 L = -損益(万円)"); plt.ylabel("確率密度")
plt.title("VaRは裾の入口、CVaRは裾の平均(95%)")
plt.legend(); plt.grid(alpha=0.3); plt.tight_layout(); plt.show()

図の意味:オレンジの線(VaR=14.5)が、損失分布の右裾の「入口」に立ちます。その右側の面積がちょうど5%。VaR は**「裾がどこから始まるか」だけを教え、その先で損失が14.5万なのか100万なのかは区別しません。赤い線(CVaR=18.6)は裾の平均**で、VaR より右——「裾に入ったら平均どれだけ損するか」を表します。VaR の弱点(裾の中身を無視)が、この2本の線の差として見えています。

3. VaR の2つの弱点

VaR は直感的で規制(バーゼル等)でも長く使われましたが、理論的な欠陥があります。

どちらの弱点も、損失分布の「裾の中身」を見ないことに起因します。これを正面から補うのが、裾の平均を取るCVaR(期待ショートフォール)です。

数式の直観的意味:分位点は「順位」、平均ではない

VaR が分位点であることが、弱点の根源です。分位点は順位の情報(上位5%の境目)しか使わず、その先の値の大きさを捨てます。中央値が外れ値に鈍感なのと同じ理屈で、VaR は裾の外れ値(巨大損失)に鈍感。これは平時には安定性として働きますが、危機時には「ありえない損失」を見落とす盲点になります。さらに分位点は一般に非線形・非凸な汎関数なので、和に対して素直に振る舞わず(劣加法性が破れ)、最適化の目的関数としても扱いにくい。分位点でなく裾の期待値を取れば線形性・凸性が回復する——これが CVaR が整合的になる数学的な理由で、整合的リスク測度の公理の核心です。

⚠️ よくある誤解

対応シミュレーション

本文のコードで、分布を裾の厚いもの(t分布や混合正規)に変えると、ヒストリカルVaRと正規VaRが乖離し、正規VaRが大損失を過小評価する様子を確認できます。

関連ノート