開始使用免費開始

極端值與回溯測試

極端值是指超過某個門檻的觀測值,常用來檢驗像 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()
編輯並執行程式碼