リスクの測定

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

Jamsheed Shorish

CEO, Shorish Research

損失分布

  • FX例:
    • ポートフォリオ評価額(米ドル)USD 100
    • リスク要因=EUR / USD 為替レート
    • 1 EUR = 1 USD のときのEUR評価額: USD 100 × EUR 1 / USD 1 = EUR 100
    • r EUR = 1 USD のときのEUR評価額: USD 100 × EUR r / USD 1 = EUR 100 × r
    • 損失 = EUR 100 − EUR 100 × r = EUR 100 × (1 − r)
  • 損失分布: r のランダム実現値により、将来のポートフォリオ損失の分布が決まる

FX損失のヒストグラム

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

最大損失

  • ポートフォリオの最大損失は何か
  • 100%の確実性で損失を上限化することは不可能
  • 信頼水準: 100%確実性の代わりに、上限の起こりやすさで表す
  • 例:「95%の確率で発生する最大損失は?」のように表現可能
    • ここでの信頼水準は 95%
Pythonで学ぶ定量的リスク管理

バリュー・アット・リスク(VaR)

  • VaR: 特定の信頼水準での最大ポートフォリオ損失を測る統計量
  • 代表的な信頼水準: 95%, 99%, 99.5%(通常は小数で表記)
  • FX例: EUR/USDが95%の時間で少なくとも0.40なら
    • 評価額は少なくとも USD 100 × 0.40 EUR/USD = EUR 40
    • 損失は最大で EUR 40 − EUR 100 = EUR 60
    • よって95% VaR は EUR 60

EUR/USDの時系列と0.40のカットオフ

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

条件付きバリュー・アット・リスク(CVaR)

  • CVaR: VaR以上の損失が起きたときの期待損失
  • 損失分布のテールの期待値に等しい:
    • $$\textnormal{CVaR}(\alpha) := \frac{1}{1-\alpha}\mathbb{E} \int_{\textnormal{VaR}(\alpha)}^{\bar{x}} x f(x) dx,$$
    • $f(\cdot)$ = 損失分布のpdf
    • $\bar{x}$ = 損失の上限(無限大も可)
    • $\textnormal{VaR}(\alpha)$ = 信頼水準 $\alpha$ のVaR
  • FX例:
    • 95% CVaR = ポートフォリオ価値がEUR 40未満となる5%のケースでの期待損失

損失分布とVaR・CVaRテールの関係

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

VaRの導出

  1. 信頼水準を指定(例:95%=0.95)
  2. loss 観測値のSeriesを作成
  3. 指定信頼水準で loss.quantile() を計算
  4. VaR=その .quantile() 値

  5. scipy.stats の損失分布: パーセント点関数 .ppf() も利用可

loss = pd.Series(observations)

VaR_95 = loss.quantile(0.95) print("VaR_95 = ", VaR_95)
Var_95 = 1.6192834157254088
Pythonで学ぶ定量的リスク管理

CVaRの導出

  1. 信頼水準を指定(例:95%=0.95)
  2. 損失分布から標本を作成・利用
  3. 指定信頼水準でVaRを計算(例:0.95)
  4. CVaR=期待損失(正規分布では scipy.stats.norm.expect() を使用)
losses = pd.Series(scipy.stats.norm.rvs(size=1000))

VaR_95 = scipy.stats.norm.ppf(0.95)
CVaR_95 = (1/(1 - 0.95))*scipy.stats.norm.expect(lambda x: x, lb = VaR_95)
print("CVaR_95 = ", CVaR_95)
CVaR_95 = 2.153595332530393
Pythonで学ぶ定量的リスク管理

VaRの可視化

  • N(1,3) からの1000サンプルによる損失分布ヒストグラム

正規分布の損失のヒストグラム

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

VaRの可視化

  • N(1,3) からの1000サンプルによる損失分布ヒストグラム
    • VaR$_{95}$ = 5.72(信頼水準95%のVaR)

95% VaR付きの損失ヒストグラム

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

VaRの可視化

  • N(1,3) からの1000サンプルによる損失分布ヒストグラム
    • VaR$_{95}$ = 5.72(信頼水準95%のVaR)
    • VaR$_{99}$ = 7.81(信頼水準99%のVaR)

95%と99% VaR付きの損失ヒストグラム

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

VaRの可視化

  • N(1,3) からの1000サンプルによる損失分布ヒストグラム
    • VaR$_{95}$ = 5.72(95%)
    • VaR$_{99}$ = 7.81(99%)
    • VaR$_{99.5}$ = 8.78(99.5%)
  • 信頼水準が上がるとVaRは増加

95%、99%、99.5% VaR付きの損失ヒストグラム

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

Ayo berlatih!

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

Preparing Video For Download...