开始使用免费开始使用

极端值与回溯检验

极端值指超过某个阈值的观测,常用于检验 VaR 等风险度量是否能够准确反映亏损风险。

您将通过计算 2009-2010 年等权重投行组合的 95% VaR(回顾:这相当于从 2010 年起的历史模拟),然后在 2007-2008 年的数据上进行回溯检验(backtesting)来探索极端值。

2009-2010 年的组合亏损已存放在 estimate_data 中,您将据此计算 95% VaR 估计值。随后,在可用的 backtest_data(2007-2008 年的组合亏损)中,找出超过该 VaR 估计的极端值。

将极端值的相对频率与 95% VaR 进行比较,最后使用茎叶图(stem plot)将这些极端值可视化。

本练习是课程的一部分

Python 中的定量风险管理

查看课程

练习说明

  • 使用 np.quantile()estimate_data 上计算 95% VaR。
  • VaR_95 作为亏损阈值,在 backtest_data 中找出 extreme_values
  • 比较 extreme_values 的相对频率与 VaR_95 的估计值。二者是否一致?
  • 显示 extreme_values 的茎叶图,展示危机期间大幅偏离的聚集情况。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Compute the 95% VaR on 2009-2010 losses
VaR_95 = ____.____(estimate_data, 0.95)

# Find backtest_data exceeding the 95% VaR
extreme_values = backtest_data[____ > VaR_95]

# Compare the fraction of extreme values for 2007-2008 to the Var_95 estimate
print("VaR_95: ", VaR_95, "; Backtest: ", len(____) / len(backtest_data) )

# Plot the extreme values and look for clustering
plt.stem(extreme_values.index, ____)
plt.ylabel("Extreme values > VaR_95"); plt.xlabel("Date")
plt.show()
编辑并运行代码