CVaR 与风险敞口
回顾一下,CVaR 是在给定最小损失阈值条件下的损失期望值。因此,CVaR 本身就是一种风险敞口的形式——它等于分布尾部损失概率与损失金额相乘后求和(或积分)的结果。
为推导 99% 的 CVaR,您将首先使用 t.fit() 方法,把 T 分布拟合到 2008–2009 年的投资组合 crisis_losses 数据上。这会返回用于通过 .ppf() 方法求 VaR 的 T 分布参数 p。
接着,您将计算 99% 的 VaR,因为它将用于求取 CVaR。
最后,您将使用 t.expect() 方法计算 99% 的 CVaR 指标,这与您在前面练习中为正态分布计算 CVaR 的方法相同。
来自 scipy.stats 的 t 分布已可用。
本练习是课程的一部分
Python 中的定量风险管理
练习说明
- 使用
.fit()方法对crisis_losses进行拟合,得到分布参数p。 - 使用拟合得到的参数
p和t的百分位点函数计算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)