ค่าสุดขีดและการทดสอบย้อนหลัง
ค่าสุดขีด (extreme values) คือค่าที่เกินกว่าเกณฑ์ที่กำหนด และใช้ตรวจสอบว่ามาตรวัดความเสี่ยง เช่น VaR สะท้อนความเสี่ยงจากการขาดทุนได้แม่นยำเพียงใด
ในแบบฝึกหัดนี้จะสำรวจค่าสุดขีด โดยคำนวณ VaR ที่ระดับ 95% ของพอร์ตโฟลิโอธนาคารเพื่อการลงทุนแบบถ่วงน้ำหนักเท่ากันสำหรับปี 2009-2010 (ซึ่งเทียบเท่ากับการจำลองเชิงประวัติศาสตร์ตั้งแต่ปี 2010 เป็นต้นไป) จากนั้นทำการ backtesting กับข้อมูลจากปี 2007-2008
ผลขาดทุนของพอร์ตโฟลิโอในปี 2009-2010 อยู่ใน estimate_data ซึ่งจะใช้คำนวณค่าประมาณ VaR ที่ 95% แล้วหาค่าสุดขีดที่เกินค่า VaR จากผลขาดทุนในปี 2007-2008 ที่อยู่ใน backtest_data
เปรียบเทียบความถี่สัมพัทธ์ของค่าสุดขีดกับค่า VaR ที่ 95% จากนั้นแสดงภาพค่าสุดขีดด้วยกราฟ stem plot
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การบริหารความเสี่ยงเชิงปริมาณด้วย Python
คำแนะนำการฝึกหัด
- คำนวณ VaR ที่ระดับ 95% จาก
estimate_dataโดยใช้np.quantile() - หา
extreme_valuesจากbacktest_dataโดยใช้VaR_95เป็นเกณฑ์ขาดทุน - เปรียบเทียบความถี่สัมพัทธ์ของ
extreme_valuesกับค่าประมาณVaR_95ค่าทั้งสองเท่ากันหรือไม่ - แสดง stem plot ของ
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()