極値統計入門:正規分布では測れないテールリスクをGPDで評価する
はじめに
「100年に一度の損失」を正規分布で見積もると、たいてい小さすぎる数字が出ます。正規分布の裾は指数的に速く0へ落ちるため、めったに起きない大損失を「ほぼ起きない」と評価してしまうからです。
今回、裾の重い分布を真の損失分布として、「1000回に1回起きる規模の損失」(99.9%のVaR、Value at Risk)を3つの方法で推定し比べました。正規分布を当てはめる素朴なやり方は、真の値の半分ほどしか見積もれません。過去データの分位点をそのまま使う方法も、観測されたデータの外側は追えず、やはり過小になります。裾だけを別にモデル化する極値統計が、真の値に最も近づきました。この記事では、なぜ本体の分布で裾を測ってはいけないのか、閾値超過法(POT, peaks over threshold)で一般化パレート分布(GPD)を当てて裾を外挿する手順を、実装で確かめます。
対象読者:
- 金融・信頼性・異常系のリスク評価に関わる方
- モンテカルロVaRを計算していて、裾の精度に不安がある方
- 分布の裾を本体とは別にモデル化したい方
記事のポイント:
- 極値統計の2つのアプローチ(ブロック最大値=GEV、閾値超過=POT/GPD)を整理します
- 正規仮定がテール確率を系統的に過小評価することを定量的に確認します
- GPDからVaRとES(期待ショートフォール)を外挿します
なぜ本体の分布で裾を測ってはいけないか
中心極限定理が語るのは「平均」の分布であって、「最大値」の分布ではありません。データの大半が正規に見えても、それは裾が正規であることを意味しません。正規分布の裾は で減衰します。一方、実際の金融リターンや損失は、べき的にゆっくり減衰するファットテールを持つことが多いものです。この減衰の速さの違いが、極端な分位点で桁違いの差になります。
下の図は、真の裾(Student-t)、正規仮定、GPDによる裾を、生存関数 の対数スケールで重ねたものです。正規仮定(青破線)が急降下して真の裾から大きく下振れしているのが分かります。損失8のあたりで、真の発生確率が千分の一なのに、正規仮定は百万分の一と評価しています。

ブロック最大値法とGEV
極値統計には2つの入口があります。1つはブロック最大値法で、データを期間ブロックに区切り、各ブロックの最大値だけを集めます。Fisher–Tippett–Gnedenkoの定理により、正規化した最大値の分布は一般化極値分布(GEV)に収束します。形状パラメータ の符号で、裾の重さがGumbel(、指数的)・Fréchet(、べき的で重い)・Weibull(、上限あり)の3タイプに分かれます。
閾値超過法(POT)とGPD
もう1つが閾値超過法(POT, Peaks Over Threshold)で、実務ではこちらが使いやすい方法です。十分高い閾値 を超えた超過量の分布は、Pickands–Balkema–de Haanの定理により一般化パレート分布(GPD)に近づきます。ブロックの最大値だけでなく、閾値を超えたデータをすべて使えるので、標本を無駄にしません。
閾値の選び方には平均超過プロットが役立ちます。閾値 を横軸に、超過量の平均 を縦軸に取ります。GPDが妥当な領域では、この平均超過が閾値に対して直線的に振る舞います。下の図では、選んだ閾値(95パーセンタイル、)より上で右肩上がりの直線になっており、正の形状パラメータ、すなわち重い裾を示しています。

GPDを当てれば、VaRとESを裾から外挿できます。全標本数 、超過数 、GPDの形状 ・スケール として、
t分布で検証する
自由度3のStudent-t分布から5000点を生成し、真のVaR/ESは既知として推定精度を測ります。閾値は95パーセンタイルに取り、scipy.stats.genparetoでGPDを最尤推定しました。乱数シードは42に固定しました。
推定されたGPDの形状は です。理論値は なので、有限標本にしては妥当な値です。VaRを水準別に並べます。
| 分位点 | 真値 | 正規仮定 | 経験分位点 | GPD |
|---|---|---|---|---|
| 95% | 2.35 | 2.68 | 2.32 | 2.32 |
| 99% | 4.54 | 3.80 | 4.32 | 4.30 |
| 99.9% | 10.22 | 5.07 | 8.06 | 8.91 |
期待ショートフォール(VaRを超えたときの平均損失)も見ておきます。99.9%で真値15.3に対し、正規仮定は5.5、GPDは12.4でした。

テール推定を実務でどう扱うか
正規仮定の過小評価は、分位点が奥に行くほど激しくなります。99%ではまだ真値4.54に対し3.80ですが、99.9%では10.22に対し5.07と半分以下になります。ESに至っては真値15.3に対し5.5で、3分の1程度しか捕捉していません。資本計算やストレステストでこの過小評価を使うと、備えるべき損失を大幅に見誤ります。
一方、95%では正規仮定が2.68と真値2.35を上回っています。裾では過小評価する正規分布が、中程度の分位点ではむしろ過大に出ることがあります。t分布は中心が尖って肩がなだらかなので、正規で近似すると肩の部分を厚く見積もるためです。「正規は常に危険側に外す」わけではなく、どの分位点を見るかで外し方の向きが変わります。この非単調さこそ、本体の形で裾を語ってはいけない理由でもあります。
経験分位点とGPDの違いにも触れておきます。99%までは経験分位点でも十分ですが、99.9%では8.06と真値10.22に届きません。データの最大値付近を超える領域は、経験分位点では外挿できないからです。GPDは裾の形をパラメトリックにモデル化するぶん、データ範囲の外へ踏み出せます。ただしGPDも完璧ではなく、99.9%で8.91と真値10.22には及びません。裾の外挿には必ず推定の不確実性が伴い、形状パラメータは少数の超過データから推定するため、特に敏感です。
実務で気をつける点を挙げます。閾値選択はバイアスと分散のトレードオフで、低すぎるとGPD近似が崩れて偏り、高すぎると超過データが減って推定が不安定になります。平均超過プロットとパラメータ安定性プロットで、複数の閾値にわたって結果が安定する範囲を選びます。さらに実データは独立同分布とは限らず、ボラティリティのクラスタリングがあるため、GARCHなどで条件付き分散を除いた残差にGPDを当てるのが定番のやり方です。信用リスクや市場リスクのモデリングでは、本体はモンテカルロや経験分布で、裾は極値理論で、と役割を分けるのが手堅い進め方です。
まとめ
本体と裾は別物として扱います。裾は極値理論で外挿するのが筋です。今回の実験では、正規仮定が99.9%VaRを真値10.2に対し5.1と半分に見誤ったのに対し、GPDは8.9とはるかに近づけました。ストレステスト、規制資本の計算、SLA設計といった「めったに起きない大きな損失」を扱う場面では、まず損失系列に平均超過プロットを描いて閾値の当たりをつけ、GPDを複数の閾値で当てて推定が安定する範囲を確認する、という手順から始めるとよいでしょう。