开始使用免费开始使用

CVaR 与损失准备金选择

在之前的练习中,您看到 T 分布和 Gaussian KDE 分布都能较好地拟合危机期间的投资组合损失。那么,哪一个更适合用于风险管理?一种选择方法是挑选能提供更大损失准备金(loss cover)的分布,以覆盖"最极端情形"的损失。

tkde 分布已可用,并且已拟合到 2007–2008 年的投资组合 lossest 的拟合参数存于 p)。您将为每个分布推导 1 天 99% 的 CVaR 估计值;取 CVaR 最大的那个,作为最"安全"的应持有的备用金(reserve amount),用以覆盖超过 99% VaR 的预期损失。

为本练习,kde 实例特别提供了一个 .expect() 方法,用于计算 CVaR 所需的期望值。

本练习是课程的一部分

Python 中的定量风险管理

查看课程

练习说明

  • tkde 分布各自的随机样本使用 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)
编辑并运行代码