Digital Reactor
統計・確率

極値統計入門:正規分布では測れないテールリスクをGPDで評価する

極値統計入門:正規分布では測れないテールリスクを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(期待ショートフォール)を外挿します

なぜ本体の分布で裾を測ってはいけないか

中心極限定理が語るのは「平均」の分布であって、「最大値」の分布ではありません。データの大半が正規に見えても、それは裾が正規であることを意味しません。正規分布の裾は ex2/2e^{-x^2/2} で減衰します。一方、実際の金融リターンや損失は、べき的にゆっくり減衰するファットテールを持つことが多いものです。この減衰の速さの違いが、極端な分位点で桁違いの差になります。

下の図は、真の裾(Student-t)、正規仮定、GPDによる裾を、生存関数 P(loss>x)P(\text{loss} > x) の対数スケールで重ねたものです。正規仮定(青破線)が急降下して真の裾から大きく下振れしているのが分かります。損失8のあたりで、真の発生確率が千分の一なのに、正規仮定は百万分の一と評価しています。

裾の生存関数の比較(対数スケール)

ブロック最大値法とGEV

極値統計には2つの入口があります。1つはブロック最大値法で、データを期間ブロックに区切り、各ブロックの最大値だけを集めます。Fisher–Tippett–Gnedenkoの定理により、正規化した最大値の分布は一般化極値分布(GEV)に収束します。形状パラメータ ξ\xi の符号で、裾の重さがGumbel(ξ=0\xi=0、指数的)・Fréchet(ξ>0\xi>0、べき的で重い)・Weibull(ξ<0\xi<0、上限あり)の3タイプに分かれます。

閾値超過法(POT)とGPD

もう1つが閾値超過法(POT, Peaks Over Threshold)で、実務ではこちらが使いやすい方法です。十分高い閾値 uu を超えた超過量の分布は、Pickands–Balkema–de Haanの定理により一般化パレート分布(GPD)に近づきます。ブロックの最大値だけでなく、閾値を超えたデータをすべて使えるので、標本を無駄にしません。

閾値の選び方には平均超過プロットが役立ちます。閾値 uu を横軸に、超過量の平均 E[XuX>u]E[X-u \mid X>u] を縦軸に取ります。GPDが妥当な領域では、この平均超過が閾値に対して直線的に振る舞います。下の図では、選んだ閾値(95パーセンタイル、u=2.32u=2.32)より上で右肩上がりの直線になっており、正の形状パラメータ、すなわち重い裾を示しています。

平均超過プロットによる閾値選択

GPDを当てれば、VaRとESを裾から外挿できます。全標本数 nn、超過数 NuN_u、GPDの形状 ξ\xi・スケール β\beta として、

VaRp=u+βξ[(nNu(1p))ξ1]\mathrm{VaR}_p = u + \frac{\beta}{\xi}\left[ \left(\frac{n}{N_u}(1-p)\right)^{-\xi} - 1 \right] ESp=VaRp1ξ+βξu1ξ\mathrm{ES}_p = \frac{\mathrm{VaR}_p}{1-\xi} + \frac{\beta - \xi u}{1-\xi}

t分布で検証する

自由度3のStudent-t分布から5000点を生成し、真のVaR/ESは既知として推定精度を測ります。閾値は95パーセンタイルに取り、scipy.stats.genparetoでGPDを最尤推定しました。乱数シードは42に固定しました。

推定されたGPDの形状は ξ=0.25\xi=0.25 です。理論値は 1/自由度=1/30.331/\text{自由度}=1/3\approx0.33 なので、有限標本にしては妥当な値です。VaRを水準別に並べます。

分位点真値正規仮定経験分位点GPD
95%2.352.682.322.32
99%4.543.804.324.30
99.9%10.225.078.068.91

期待ショートフォール(VaRを超えたときの平均損失)も見ておきます。99.9%で真値15.3に対し、正規仮定は5.5、GPDは12.4でした。

VaRの水準別比較

テール推定を実務でどう扱うか

正規仮定の過小評価は、分位点が奥に行くほど激しくなります。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を複数の閾値で当てて推定が安定する範囲を確認する、という手順から始めるとよいでしょう。

関連記事

← 技術ブログ一覧へ