極値理論

Pythonで学ぶ定量的リスク管理

Jamsheed Shorish

Computational Economist

極端値

  • ポートフォリオ損失: 極端値
  • VaR しきい値を超える極端事象の図
  • 極端値: 分布のテール由来
    • テール損失: ある値を超える損失
    • テール損失をモデル化 ⇒ リスク管理の精度向上
  • テールリスクと VaR の図
Pythonで学ぶ定量的リスク管理

極値理論

  • 極値理論: 極端値の統計分布
  • ブロック最大

0 から T までの線分

Pythonで学ぶ定量的リスク管理

極値理論

  • 極値理論: 極端値の統計分布
  • ブロック最大:
    • 期間を小区間に分割

0 から T の線分を小区間に分割

Pythonで学ぶ定量的リスク管理

極値理論

  • 極値理論: 極端値の統計分布
  • ブロック最大:
    • 期間を小区間に分割
    • 各小区間からブロックを作成

ブロックを示す線分

Pythonで学ぶ定量的リスク管理

極値理論

  • 極値理論: 極端値の統計分布
  • ブロック最大:
    • 期間を小区間に分割
    • 各小区間からブロックを作成
    • ブロック最大の集合=データセット
  • 閾値超過法 (POT):
    • 与えた水準を超える損失を抽出
    • それらの損失の集合=データセット

各ブロックとブロック内最大損失の区間

Pythonで学ぶ定量的リスク管理

一般化極値分布

  • 例: 2007〜2009 のブロック最大

    • 望む周期で損失をリサンプリング(例: 週次)
      maxima = losses.resample("W").max()
      
  • 一般化極値分布 (GEV)

    • データの最大値の分布
    • 例: scipy.stats.genextreme による母数推定
      from scipy.stats import genextreme
      params = genextreme.fit(maxima)
      
Pythonで学ぶ定量的リスク管理

GEV からの VaR と CVaR

  • GEV からの 99% VaR
    • .ppf()(百分点関数)で 99% VaR を算出
    • 当てはめた GEV の params が必要
    • 1週間の最大損失(信頼水準99%)を求める
  • GEV からの 99% CVaR
    • CVaR は VaR を最小損失とした条件付き期待損失
    • .expect() で期待値を算出
VaR_99 = genextreme.ppf(0.99, *params)
CVar_99 = ( 1 / (1 - 0.99) ) * genextreme.expect(lambda x: x, *params, lb = VaR_99)
Pythonで学ぶ定量的リスク管理

損失のカバー

  • リスク管理: 損失をカバーする
    • 規制要件(銀行・保険)
    • 損失を賄う準備金が必要
      • 指定期間(例: 1週間)
      • 指定信頼水準(例: 99%)
  • GEV による VaR:
    • 次を満たす最大損失を推定
      • 指定期間
      • 指定信頼水準
Pythonで学ぶ定量的リスク管理

損失のカバー

  • 例: 初期ポートフォリオ価値 = $1,000,000
  • 1週間の準備金要件(信頼水準99%)
    • GEV の $\text{VaR}_{99}$: 1週間の最大損失(99%)
  • 準備金要件: ポートフォリオ価値 × $\text{VaR}_{99}$
    • 例: $\text{VaR}_{99}$ = 0.10(最大損失10%)
    • 準備金要件 = $100,000
  • ポートフォリオ価値が変動 ⇒ 準備金要件も変動
  • 規制が更新頻度を定める
Pythonで学ぶ定量的リスク管理

Ayo berlatih!

Pythonで学ぶ定量的リスク管理

Preparing Video For Download...