極端值與回溯測試
極端值是指超過某個門檻的觀測值,常用來檢驗像 VaR 這類風險衡量是否能準確反映損失風險。
你將先計算 2009-2010 年等權重投資銀行投資組合的 95% VaR(請記得,這相當於從 2010 年起的歷史模擬),接著在 2007-2008 年的資料上進行回溯測試(backtesting)。
estimate_data 提供 2009-2010 年的投資組合損失,你會用它來計算 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的莖葉圖(stem plot),呈現危機期間大型偏離如何聚集。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# 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()