CVaR とリスクエクスポージャー
CVaR は、最小損失しきい値が与えられたときの損失の期待値です。つまり CVaR はすでにリスクエクスポージャーの形になっており、分布のテールにおける損失確率に損失額を掛けて足し合わせた(積分した)ものです。
まず、2008〜2009 年のポートフォリオ crisis_losses データに T 分布を t.fit() メソッドで当てはめ、99% CVaR を導出します。これにより、.ppf() メソッドで VaR を求めるために使う T 分布のパラメータ p が得られます。
次に、CVaR の算出に用いる 99% VaR を計算します。
最後に、前の演習で正規分布の CVaR を計算したときと同様に、t.expect() メソッドを使って 99% CVaR 指標を計算します。
scipy.stats の t 分布はすでに利用可能です。
この演習はコースの一部です
Pythonで学ぶ定量的リスク管理
演習の手順
.fit()メソッドをcrisis_lossesに適用して、分布パラメータpを求めます。- フィットしたパラメータ
pとtの percent point function を用いてVaR_99を計算します。 t.expect()メソッドとフィット済みパラメータpを用いてCVaR_99を計算し、結果を表示します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Fit the Student's t distribution to crisis losses
p = t.____(crisis_losses)
# Compute the VaR_99 for the fitted distribution
VaR_99 = t.____(____, *p)
# Use the fitted parameters and VaR_99 to compute CVaR_99
tail_loss = t.expect(____ y: y, args = (p[0],), loc = p[1], scale = p[2], lb = VaR_99 )
CVaR_99 = (1 / (1 - ____)) * tail_loss
print(CVaR_99)