Mô hình GARCH với Python
Chelsea Yang
Data Science Instructor
Quy tắc số 1: Đừng bao giờ mất tiền
Quy tắc số 2: Đừng quên quy tắc số 1
-- Warren Buffett

VaR là Value at Risk (giá trị rủi ro)
Ba thành phần:
VaR 1 ngày 5% là 1 triệu USD
Xác suất 5% danh mục giảm 1 triệu USD trở lên trong 1 ngày
VaR 10 ngày 1% là 9 triệu USD
Xác suất 1% danh mục giảm 9 triệu USD trở lên trong 10 ngày

Ước lượng VaR thực tế hơn với GARCH
VaR = mean + (độ biến động GARCH) * 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')
Bước 2: Dùng GARCH để lấy kỳ vọng và biến động nhìn về trước
mean_forecast = gm_forecast.mean['2019-01-01':]
variance_forecast = gm_forecast.variance['2019-01-01':]
Bước 3: Lấy quantile theo mức tin cậy
Ước lượng quantile dựa trên phân phối giả định của phần dư chuẩn hóa GARCH
# Assume a Student's t-distribution
# ppf(): Percent point function
q_parametric = garch_model.distribution.ppf(0.05, nu)
Ước lượng quantile dựa trên phân phối quan sát của phần dư chuẩn hóa GARCH
q_empirical = std_resid.quantile(0.05)
Mô hình GARCH với Python