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

第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日 とします。

損失を確率変数 で表します。 の累積分布関数を と書きます。

信頼水準 (例えば )に対する VaR は、 の 分位点です。

これは「損失が 以下に収まる確率が少なくとも である」ことを意味します。

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) より、 です。これは累積分布関数の一般逆関数であり、 が連続かつ狭義単調増加なら、 を満たす唯一の に一致します。

この定義が語るのは「損失が を超える確率は高々 」という一点だけです。超えた先の損失がいくらになるか(100 か 10000 か)は、分位点の計算に一切入りません。

分布関数 の より右側の形状を全く参照しないことが、定義に分位点しか現れないことから分かります。これが VaR の本質的な限界です。 ∎

THM-VAR-2 の証明

反例を1つ構成すれば十分です。

等確率の 1000 シナリオ(各確率 )を考えます。2つの持ち高 を次のように定めます。

  • : シナリオ 1〜8 で損失 100、それ以外で損失 0。大損の確率は 。
  • : シナリオ 9〜16 で損失 100、それ以外で損失 0。大損の確率は 。
  • と の大損シナリオは重ならないようにします。

での VaR を求めます。分位点の定義より、損失を小さい順に並べたときの 番目の値を取ります。 となるには、 以下の損失が 990 シナリオ以上必要だからです。

について、上位 8 個が 100、残り 992 個が 0 です。990 番目は 0 の領域にあるので 。 も同様に です。

合算 について、シナリオ 1〜16 で損失 100、それ以外で 0 です。上位 16 個が 100 ですから、990 番目は 100 の領域にあり、 です。

劣加法性が破れました。個別では VaR に引っかからなかった稀な損失が、合算すると確率の閾値を超えて VaR に現れます。 ∎

THM-VAR-3 の証明(要点)

ES の定義 (2) を使います。

任意の に対して、分位点は凸性から

が一般には成り立ちません(THM-VAR-2 で示した通り)。ですから VaR の積分として定義された ES の劣加法性は、VaR の劣加法性からは従いません。

証明の鍵は、ES を別の形に書き直すことです。期待値が有限な任意の損失 について、連続分布でも離散分布でも

が成り立ちます()。最小値は で達成されます。離散分布では最小値を与える が区間になることがありますが、 はその1つです。後で にも (3) を使うので、連続分布に限らないことが大切です。連続な を足しても、たとえば なら和は定数になり、連続分布ではなくなるからです。

(3) を確かめます。 を 上の一様分布に従う確率変数とすると、 は と同じ分布を持ちます(分位点変換)。これを使って期待値を分位点の積分に書き直すため、 とおくと

です。右辺の中括弧を と書きます。

まず を代入します。 は について非減少なので、 では 、 では です。したがって

次に任意の で を示します。被積分関数は非負なので積分区間を に縮めても値は増えず、さらに なので

2つを合わせると、 の最小値は で、 で達成されます。これが (3) です。

をそれぞれ に対する最適な とします。 は に対する最適解とは限りませんが、実行可能な値です。 が成り立つので( の不等式)、

第1の不等式は最小化問題に最適でない を代入したこと、第2の不等式は によるものです。 ∎

5. 反例 ― VaR を超えた先は測れない

CEX-VAR-1: VaR を超えても大したことない、とは限らない

VaR を超えた場合の平均損失(ES)は、VaR の何倍になるでしょうか。標準偏差 1 の正規分布と、同じ標準偏差を持つ自由度 5 の 分布で比較します。

正規分布 分布(自由度 5)
99% VaR 2.3263 2.6065
99% ES 2.6652 3.4488
ES / VaR 1.1457 1.3232

正規分布では、VaR を超えた場合の平均損失は VaR の約 1.15 倍です。 分布では約 1.32 倍に跳ね上がります。裾が重い分布では、VaR を超えた先の損失が VaR から想像するよりもはるかに大きくなります。VaR の数字だけ見て安心していると、実際に超えたときの痛みを見誤ります。

CEX-VAR-2: 分散投資が VaR を悪化させる

THM-VAR-2 の証明で構成した例がそのまま反例です。1000 シナリオの離散分布で、

  • 、

合算したことで VaR が 0 から 100 に跳ね上がりました。個別では確率 0.8% の稀な事象が VaR の閾値(1%)の内側に隠れていたのに、合算すると確率 1.6% となって閾値を超えたのです。

一方、同じ設定で ES を計算すると、

  • 、

ですから、ES は劣加法性を満たしています。ES は尾部の平均を取るため、個別に見たときから大きな値が出ており、合算しても和を超えません。

CEX-VAR-3: 正規分布を仮定してよいのか

標準偏差が同じ 1 でも、分布の形が違えば 99% VaR は異なります。

正規分布 分布(自由度 5) 比率
99% VaR 2.3263 2.6065 1.1204

分布の VaR は正規分布の約 1.12 倍です。標準偏差だけで分布を特定したつもりになると、裾のリスクを過小評価します。実際の損益データは正規分布より裾が重いことが多く、正規分布を仮定した VaR は楽観的な数字になりがちです。

6. 数値例 ― 2つの分布で VaR と ES を比べる

標準偏差 1 の正規分布と、同じ標準偏差を持つ自由度 5 の 分布を比較します。 分布のスケールは として標準偏差を 1 に揃えています。

分布ごとの VaR と ES

指標 正規分布 分布(自由度 5)
99% VaR 2.3263 2.6065
99% ES 2.6652 3.4488
ES / VaR 1.1457 1.3232

正規分布では ES と VaR の差は小さく、VaR を超えた先もそれほど悪くありません。 分布では ES / VaR 比が 1.32 に上がり、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: 対数リターン

を計算します。Excel では =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

結果の読み方

年率平均リターン 、年率ボラティリティ 、シャープレシオ が正しい値です。ただし、12か月という短い標本では推定誤差が大きく、シャープレシオの 信頼区間の半幅は です。区間は となりゼロをまたぐため、正か負かすら判定できません。

CEX-PR42-1: 入出金を除かないと全指標が歪む

入出金を除いた場合と除かない場合を並べます。

指標 入出金除去あり 入出金除去なし
年率平均リターン
年率ボラティリティ
シャープレシオ

入出金を除かないと、月6のリターンが に跳ね上がり、年率平均リターンは約3倍に膨らみます。ボラティリティも約3倍です。入出金を除かない指標は、運用の腕ではなく入金の大きさを測っています。

CEX-PR42-2: ボラティリティの年率換算を間違える

月次標準偏差 を年率に直す方法を比べます。

方法 年率ボラティリティ
正しい()
間違い()

倍は 倍の 倍で、年率ボラティリティを約 倍に過大評価します。平均リターンは(対数リターンが独立な場合) 倍でよいので、平均とボラティリティの年率換算のルールが違うことに注意が必要です。

8. 次回へ ― 無裁定だけで価格を決める世界

VaR も ES も「リスクを測る」道具でした。しかし、リスクの大きさを知ることと、適正な価格を知ることは別の問題です。

次回からは第5部に入り、ここまで積み上げてきた確率と期待値の道具をいったん脇に置きます。無裁定という仮定だけで、デリバティブの価格がどこまで決まるのかを見ていきます。

この回で、2つ目のマイルストーンに到達しました。

よくある質問

VaR と ES はどちらを使うべきですか

分散投資の効果を正しく反映したいなら ES です。規制でも ES への移行が進んでいます。

99パーセント VaR なら安全ですか

100回に1回は超えます。超えたときにどれだけ損するかは VaR からは分かりません。

数字1つにまとめるのは危険ですか

便利ですが、必ず何かを捨てています。何を捨てたかを知って使うことが大事です。

参考文献

  1. Artzner P.、Delbaen F.、Eber J. M. and Heath D.、Coherent Measures of Risk、Mathematical Finance、1999年、DOI 10.1111/1467-9965.00068
  2. McNeil A. J.、Frey R. and Embrechts P.、Quantitative Risk Management、改訂版、Princeton University Press、2015年

数値例は compute.py により計算済み(シミュレーションは乱数シード固定で検算)。本文中の小数は4桁で丸めている。

目次