คำนวณ VaR แบบ parametric
ในแบบฝึกหัดนี้ จะฝึกประมาณค่า VaR รายวันแบบ dynamic ที่ระดับความเชื่อมั่น 5% ด้วยวิธี parametric
การประมาณ VaR แบบ forward-looking มี 3 ขั้นตอน ได้แก่ ขั้นตอนที่ 1 ใช้โมเดล GARCH พยากรณ์ค่าความแปรปรวน ขั้นตอนที่ 2 ดึงค่า mean และ volatility แบบ forward-looking จากโมเดล GARCH และขั้นตอนที่ 3 คำนวณค่า quantile ตามระดับความเชื่อมั่นที่กำหนด โดยวิธี parametric จะประมาณค่า quantile จากการแจกแจงที่สมมติขึ้น
โมเดล GARCH ถูก fit กับข้อมูลผลตอบแทนของ Bitcoin ในอดีตจนถึงวันที่ 1/1/2019 จากนั้นได้พยากรณ์ค่า mean และ variance เก็บไว้ใน mean_forecast และ variance_forecast ตามลำดับ โมเดล GARCH นี้สมมติการแจกแจงแบบ Student's t โดยค่า \(\nu\) (degrees of freedom) ถูกเก็บไว้ใน nu
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
GARCH Models ใน Python
คำแนะนำการฝึกหัด
- คำนวณค่า quantile ที่ 0.05 จากการแจกแจงแบบ Student's t ที่สมมติขึ้น
- คำนวณ VaR โดยใช้
mean_forecastและvariance_forecastจากโมเดล GARCH ร่วมกับค่า quantile ที่ได้จากขั้นตอนก่อนหน้า
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Obtain the parametric quantile
q_parametric = basic_gm.____.____(____, nu)
print('5% parametric quantile: ', q_parametric)
# Calculate the VaR
VaR_parametric = ____.values + np.sqrt(____).values * ____
# Save VaR in a DataFrame
VaR_parametric = pd.DataFrame(VaR_parametric, columns = ['5%'], index = variance_forecast.index)
# Plot the VaR
plt.plot(VaR_parametric, color = 'red', label = '5% Parametric VaR')
plt.scatter(variance_forecast.index,bitcoin_data.Return['2019-1-1':], color = 'orange', label = 'Bitcoin Daily Returns' )
plt.legend(loc = 'upper right')
plt.show()