GARCH Models ใน Python
Chelsea Yang
Data Science Instructor
กฎข้อที่ 1: อย่าขาดทุน
กฎข้อที่ 2: อย่าลืมกฎข้อที่ 1
-- Warren Buffett

VaR ย่อมาจาก Value at Risk
องค์ประกอบหลัก 3 ส่วน:
VaR 5% ใน 1 วัน มูลค่า $1 ล้าน
มีโอกาส 5% ที่พอร์ตโฟลิโอจะสูญเสียมูลค่า 1 ล้านดอลลาร์หรือมากกว่านั้นภายใน 1 วัน
VaR 1% ใน 10 วัน มูลค่า $9 ล้าน
มีโอกาส 1% ที่พอร์ตโฟลิโอจะสูญเสียมูลค่า 9 ล้านดอลลาร์หรือมากกว่านั้นภายใน 10 วัน

การประมาณ VaR ที่สมจริงยิ่งขึ้นด้วย GARCH
VaR = mean + (GARCH vol) * quantile
VaR = mean_forecast.values + np.sqrt(variance_forecast).values * quantile
# Specify and fit a GARCH model
basic_gm = arch_model(bitcoin_data['Return'], p = 1, q = 1,
mean = 'constant', vol = 'GARCH', dist = 't')
gm_result = basic_gm.fit()
# Make variance forecast
gm_forecast = gm_result.forecast(start = '2019-01-01')
ขั้นตอนที่ 2: ใช้โมเดล GARCH เพื่อหาค่า mean และ volatility เชิงพยากรณ์
mean_forecast = gm_forecast.mean['2019-01-01':]
variance_forecast = gm_forecast.variance['2019-01-01':]
ขั้นตอนที่ 3: หา quantile ตามระดับความเชื่อมั่น
ประมาณ quantile จากการแจกแจงที่ GARCH กำหนดไว้สำหรับ standardized residuals
# Assume a Student's t-distribution
# ppf(): Percent point function
q_parametric = garch_model.distribution.ppf(0.05, nu)
ประมาณ quantile จากการแจกแจงเชิงสังเกตของ GARCH standardized residuals
q_empirical = std_resid.quantile(0.05)
GARCH Models ใน Python