第42回 VaR と Expected Shortfall ― リスクを1つの数字にする代償

位置: 第4部 第42回 / 前提: 第20回、第35回 / 数学編: M29 / この回でできるようになること: 損失分布から VaR と Expected Shortfall を計算し、VaR が分散投資の効果を正しく映さない例を示すことができる。実践: 口座の月次データからリターン・ボラティリティ・シャープレシオを Excel で計算し、入出金の影響を取り除いて読むことができる
0. 物語 ― 分散投資したのに VaR が上がる
手元に1億円の運用資金があって、2つの商品に分けて投資するとします。
商品Aは千回のうち8回だけ大きな損失が出ますが、それ以外は損失ゼロです。商品Bも同じ構造で、やはり千回のうち8回だけ損失が出ます。ただし、AとBが損失を出す日は完全にずれていて、同じ日に両方が大損することはありません。
リスク管理部門に「百回に99回は損失がこの金額に収まる」という基準でリスクを測ってもらうと、商品Aはゼロ、商品Bもゼロと出ます。千回のうち8回という頻度は百回に1回より少ないので、99パーセントの線を引いた内側には損失が見えないのです。
では、分散投資のつもりで両方を持ったらどうなるか。大きな損失が出る日は合計16回に増えます。千回のうち16回は百回に1.6回ですから、さっきの基準で測るとリスクの数字は突然ゼロから100に跳ね上がります。
個別にはゼロだったリスクが、分散したら増えてしまいました。リスクを減らすための分散投資が、指標の上では逆効果です。
この指標は、損失分布のある一点だけを見て「ここまでは大丈夫」と線を引く仕組みです。線の内側に隠れていた小さな確率の損失が、合算すると線の外に出てきてしまうのが原因です。
一方、線を超えた先の平均的な損失を測る別の指標なら、商品Aが80、商品Bも80で、合計は160です。両方を合わせたときの値は100ですから、合計より小さい。分散投資の効果がきちんと数字に現れています。
この回では、一点だけを見る指標がなぜ分散投資と相性が悪いのかを証明し、尾部の平均を見る指標がどのような仕組みで整合性を保つのかを示します。
1. 動機 ― リスクを1つの数字にできるか
この回を読み終えると、損失分布から VaR と Expected Shortfall を計算し、VaR が分散投資の効果を正しく映さない例を示すことができます。
「このポートフォリオのリスクはいくらですか」と問われて、1つの数字を返したいのは自然な欲求です。分散は正と負のずれを区別しません。損失の側だけを測る指標として広く使われているのが VaR(Value at Risk) です。
VaR は明快です。「99% の確率で、損失はこの金額に収まります」。しかし、この言い切りには代償があります。収まらなかった残り 1% で何が起きるかを、VaR は一切語りません。さらに厄介なことに、2つの持ち高を合算した VaR が、個別の VaR の和を上回ることがあります。
この記事では、VaR の定義を分位点として正確に述べたうえで、劣加法性が破れる例を具体的に構成します。そして、尾部の平均を取る Expected Shortfall(ES) が劣加法性を満たすことを示します。
この記事で証明すること
- THM-VAR-1 VaR は損失分布の分位点として定義されます。それを超える損失の大きさについては何も語りません。
- THM-VAR-2 2つの持ち高を合算した VaR が個別の VaR の和を上回る場合があります。分散投資が VaR を悪化させたように見えることがあります。
- THM-VAR-3 Expected Shortfall は常に劣加法的であり、合算した値が個別の和を超えることはありません。
2. 設定と仮定 ― 損失分布の分位点
以下の仮定を置きます。
- 損失は正の値で表します。利益は負です。
- 信頼水準を明示します。この記事では 99% を標準とします。
- 分布は既知として与えます。推定の問題は扱いません。
- 保有期間を 1日 とします。
損失を確率変数
信頼水準
これは「損失が
Expected Shortfall は、VaR を超えた部分の平均損失です。
VaR は分位点、ES は尾部の平均。この違いがこの記事の全てです。
3. 主張 ― VaR は分散投資と相性が悪い
定理 THM-VAR-1(VaR の定義) 信頼水準
の VaR は、損失分布の 分位点である。 。この値は、損失が を超えた場合にどれだけ大きくなるかについては何も語らない。
定理 THM-VAR-2(VaR は劣加法的でない) 2つの損失
に対して が成り立つ場合がある。したがって分散投資が VaR を悪化させたように見えることがある。
定理 THM-VAR-3(ES の劣加法性) 任意の損失
に対して が常に成り立つ。
証明を読む(読まなくても記事は完結します)
4. 証明 ― 劣加法性が破れる例を構成する
この節は読まなくても記事は完結します。
この証明を追いたい人は、数学編 第29回「凸性と最適化」へ。
THM-VAR-1 の証明
VaR の定義を厳密に追います。
分位点の定義 (1) より、
この定義が語るのは「損失が
分布関数
THM-VAR-2 の証明
反例を1つ構成すれば十分です。
等確率の 1000 シナリオ(各確率
: シナリオ 1〜8 で損失 100、それ以外で損失 0。大損の確率は 。 : シナリオ 9〜16 で損失 100、それ以外で損失 0。大損の確率は 。 と の大損シナリオは重ならないようにします。
合算
劣加法性が破れました。個別では VaR に引っかからなかった稀な損失が、合算すると確率の閾値を超えて VaR に現れます。 ∎
THM-VAR-3 の証明(要点)
ES の定義 (2) を使います。
任意の
が一般には成り立ちません(THM-VAR-2 で示した通り)。ですから VaR の積分として定義された ES の劣加法性は、VaR の劣加法性からは従いません。
証明の鍵は、ES を別の形に書き直すことです。期待値が有限な任意の損失
が成り立ちます(
(3) を確かめます。
です。右辺の中括弧を
まず
次に任意の
2つを合わせると、
第1の不等式は最小化問題に最適でない
5. 反例 ― VaR を超えた先は測れない
CEX-VAR-1: VaR を超えても大したことない、とは限らない
VaR を超えた場合の平均損失(ES)は、VaR の何倍になるでしょうか。標準偏差 1 の正規分布と、同じ標準偏差を持つ自由度 5 の
| 正規分布 | ||
|---|---|---|
| 99% VaR | 2.3263 | 2.6065 |
| 99% ES | 2.6652 | 3.4488 |
| ES / VaR | 1.1457 | 1.3232 |
正規分布では、VaR を超えた場合の平均損失は VaR の約 1.15 倍です。
CEX-VAR-2: 分散投資が VaR を悪化させる
THM-VAR-2 の証明で構成した例がそのまま反例です。1000 シナリオの離散分布で、
、
合算したことで VaR が 0 から 100 に跳ね上がりました。個別では確率 0.8% の稀な事象が VaR の閾値(1%)の内側に隠れていたのに、合算すると確率 1.6% となって閾値を超えたのです。
一方、同じ設定で ES を計算すると、
、
CEX-VAR-3: 正規分布を仮定してよいのか
標準偏差が同じ 1 でも、分布の形が違えば 99% VaR は異なります。
| 正規分布 | 比率 | ||
|---|---|---|---|
| 99% VaR | 2.3263 | 2.6065 | 1.1204 |
6. 数値例 ― 2つの分布で VaR と ES を比べる
標準偏差 1 の正規分布と、同じ標準偏差を持つ自由度 5 の
分布ごとの VaR と ES
| 指標 | 正規分布 | |
|---|---|---|
| 99% VaR | 2.3263 | 2.6065 |
| 99% ES | 2.6652 | 3.4488 |
| ES / VaR | 1.1457 | 1.3232 |
正規分布では ES と VaR の差は小さく、VaR を超えた先もそれほど悪くありません。
劣加法性の確認(1000 シナリオの離散例)
| 個別の和 | 劣加法的か | ||||
|---|---|---|---|---|---|
| 99% VaR | 0 | 0 | 100 | 0 | 破れる |
| 99% ES | 80.0 | 80.0 | 100.0 | 160.0 | 満たす |
VaR は合算で悪化しましたが、ES は合算値が個別の和以下に収まっています。リスクの合算を正しく反映する指標としては、ES が優れています。
7. 実践 ― 口座のリターンとボラティリティを Excel で出す
ここまでの第3部・第4部で積み上げたリターンの定義(第19回)、平均と分散(第29回)、対数リターン(第31回)、平方根則(第32回)、ポートフォリオの分散(第36回)、シャープレシオ(第40回)を、架空の口座データに当てて手を動かします。この実践を終えると、口座の月次データからリターン・ボラティリティ・シャープレシオを Excel で計算し、入出金の影響を取り除いて読むことができます。
手順
架空の口座(13か月分の月末残高・入出金・2資産の基準価額)を用意します。数値は説明用の架空のもので、実在の口座ではありません。月6に100万円の入金があります。
ステップ1: 入出金を除いた月次単純リターン
残高の変化額から入出金を引いて前月末残高で割ります。
Excel では =(C3-D3-C2)/C2 です。月6(入金100万円の月)は
ステップ2: 対数リターン
=LN(1+(C3-D3-C2)/C2) です。
ステップ3: 年率の平均リターンとボラティリティ
月次の平均リターンを =AVERAGE(E2:E13) で、標本標準偏差を =STDEV.S(E2:E13) で求めます。年率換算は平均を
ステップ4: シャープレシオ
超過リターンをボラティリティで割ります。無リスク金利は年
ステップ5: 共分散行列とポートフォリオの分散
2資産の月次リターンから =COVARIANCE.S(F2:F13,G2:G13) で共分散を、=CORREL(F2:F13,G2:G13) で相関係数を求めます。ウェイト =SUMPRODUCT(H2:H3,MMULT(I2:J3,H2:H3)) で出ます。
コード
Excel の計算を Python で検算します。50行以内、標準ライブラリのみです。
import math
# --- データ ---
balance = [500.00, 510.50, 505.20, 520.80, 515.00, 530.60,
625.30, 620.10, 635.40, 628.70, 645.20, 660.80, 655.50]
cashflow = [0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0]
nav_a = [10000,10180,10090,10350,10250,10500,10420,
10310,10550,10480,10700,10950,10850]
nav_b = [10000,10030,10050,10080,10060,10100,10090,
10110,10140,10120,10160,10190,10170]
w_a, w_b, r_ann = 0.60, 0.40, 0.005
# --- 月次リターン(入出金除去) ---
ret = [(balance[t]-cashflow[t]-balance[t-1])/balance[t-1]
for t in range(1, 13)]
log_ret = [math.log(1 + r) for r in ret]
# --- 年率指標 ---
avg_m = sum(ret) / 12
std_m = math.sqrt(sum((r - avg_m)**2 for r in ret) / 11)
print(f"年率平均リターン: {avg_m*12:.6f}")
print(f"年率ボラティリティ: {std_m*math.sqrt(12):.6f}")
print(f"シャープレシオ: {(avg_m*12 - r_ann)/(std_m*math.sqrt(12)):.4f}")
# --- 2資産の共分散・相関 ---
ra = [(nav_a[t]-nav_a[t-1])/nav_a[t-1] for t in range(1,13)]
rb = [(nav_b[t]-nav_b[t-1])/nav_b[t-1] for t in range(1,13)]
ma, mb = sum(ra)/12, sum(rb)/12
va = sum((x-ma)**2 for x in ra)/11
vb = sum((x-mb)**2 for x in rb)/11
cab = sum((a-ma)*(b-mb) for a, b in zip(ra, rb))/11
print(f"共分散行列: [[{va:.6f}, {cab:.6f}], [{cab:.6f}, {vb:.6f}]]")
print(f"相関係数: {cab/(va**0.5 * vb**0.5):.4f}")
# --- ポートフォリオ分散 ---
vp = w_a**2*va + 2*w_a*w_b*cab + w_b**2*vb
print(f"ポートフォリオ月次標準偏差: {vp**0.5:.6f}")
このコードは compute_practice.py と同じ数値を出します。出力は次の通りです。
年率平均リターン: 0.098878
年率ボラティリティ: 0.065691
シャープレシオ: 1.4291
共分散行列: [[0.000273, 0.000032], [0.000032, 0.000006]]
相関係数: 0.8026
ポートフォリオ月次標準偏差: 0.010698
結果の読み方
年率平均リターン
CEX-PR42-1: 入出金を除かないと全指標が歪む
入出金を除いた場合と除かない場合を並べます。
| 指標 | 入出金除去あり | 入出金除去なし |
|---|---|---|
| 年率平均リターン | ||
| 年率ボラティリティ | ||
| シャープレシオ |
入出金を除かないと、月6のリターンが
CEX-PR42-2: ボラティリティの年率換算を間違える
月次標準偏差
| 方法 | 年率ボラティリティ |
|---|---|
| 正しい( |
|
| 間違い( |
8. 次回へ ― 無裁定だけで価格を決める世界
VaR も ES も「リスクを測る」道具でした。しかし、リスクの大きさを知ることと、適正な価格を知ることは別の問題です。
次回からは第5部に入り、ここまで積み上げてきた確率と期待値の道具をいったん脇に置きます。無裁定という仮定だけで、デリバティブの価格がどこまで決まるのかを見ていきます。
この回で、2つ目のマイルストーンに到達しました。
よくある質問
VaR と ES はどちらを使うべきですか
分散投資の効果を正しく反映したいなら ES です。規制でも ES への移行が進んでいます。
99パーセント VaR なら安全ですか
100回に1回は超えます。超えたときにどれだけ損するかは VaR からは分かりません。
数字1つにまとめるのは危険ですか
便利ですが、必ず何かを捨てています。何を捨てたかを知って使うことが大事です。
参考文献
- Artzner P.、Delbaen F.、Eber J. M. and Heath D.、Coherent Measures of Risk、Mathematical Finance、1999年、DOI 10.1111/1467-9965.00068
- McNeil A. J.、Frey R. and Embrechts P.、Quantitative Risk Management、改訂版、Princeton University Press、2015年
数値例は compute.py により計算済み(シミュレーションは乱数シード固定で検算)。本文中の小数は4桁で丸めている。

