CVaR 与损失准备金选择
在之前的练习中,您看到 T 分布和 Gaussian KDE 分布都能较好地拟合危机期间的投资组合损失。那么,哪一个更适合用于风险管理?一种选择方法是挑选能提供更大损失准备金(loss cover)的分布,以覆盖"最极端情形"的损失。
t 和 kde 分布已可用,并且已拟合到 2007–2008 年的投资组合 losses(t 的拟合参数存于 p)。您将为每个分布推导 1 天 99% 的 CVaR 估计值;取 CVaR 最大的那个,作为最"安全"的应持有的备用金(reserve amount),用以覆盖超过 99% VaR 的预期损失。
为本练习,kde 实例特别提供了一个 .expect() 方法,用于计算 CVaR 所需的期望值。
本练习是课程的一部分
Python 中的定量风险管理
练习说明
- 对
t和kde分布各自的随机样本使用np.quantile(),求取 99% VaR。 - 对每个分布使用
.expect()方法,计算 CVaR 估计所需的积分。 - 计算并显示两个分布的 99% CVaR 估计值。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Find the VaR as a quantile of random samples from the distributions
VaR_99_T = np.quantile(t.rvs(size=1000, *p), ____)
VaR_99_KDE = np.quantile(kde.resample(size=1000), ____)
# Find the expected tail losses, with lower bounds given by the VaR measures
integral_T = t.____(lambda x: x, args = (p[0],), loc = p[1], scale = p[2], lb = ____)
integral_KDE = kde.____(lambda x: x, lb = ____)
# Create the 99% CVaR estimates
CVaR_99_T = (1 / (1 - ____)) * integral_T
CVaR_99_KDE = (1 / (1 - ____)) * integral_KDE
# Display the results
print("99% CVaR for T: ", CVaR_99_T, "; 99% CVaR for KDE: ", CVaR_99_KDE)