Generalized Autoregressive Conditional Heteroskedasticity — Mô Hình GARCH
Tác giả: Tim Bollerslev (1986) Nguồn: Journal of Econometrics, Vol. 31, No. 3 Tag:
mới:2026-05-16#volatility#garch#time-series
Nội dung chính (Core Concept)
Bollerslev tổng quát hóa mô hình ARCH của Engle (1982) bằng cách thêm lag của chính variance. Trong khi ARCH(q) chỉ phụ thuộc vào q shocks quá khứ — đòi hỏi q lớn để fit thực nghiệm — GARCH(p,q) ngắn gọn hơn nhiều, thường chỉ cần GARCH(1,1):
σ²_t = ω + α · ε²_{t-1} + β · σ²_{t-1}Trong đó:
ε_{t-1}: shock (residual) ở thời điểm trước.σ²_{t-1}: variance dự báo trước đó.ω, α, β > 0; điều kiện stationarity:α + β < 1.
Trên thực tế, α + β thường ≈ 0.95-0.99 trên equity returns — nghĩa là biến động có tính dai dẳng cao (persistence), một cú shock lớn hôm nay sẽ duy trì high volatility nhiều ngày sau. Unconditional variance = ω / (1 - α - β).
Mô hình GARCH(1,1) thường vượt trội RiskMetrics EWMA và simple historical vol trên dự báo 1-30 ngày. Mở rộng: EGARCH (Nelson 1991, asymmetric leverage effect), GJR-GARCH (Glosten-Jagannathan-Runkle 1993), TGARCH, DCC-GARCH (multivariate, Engle 2002).
Ý tưởng chính cho giao dịch (Key Trading Insight)
GARCH là công cụ chuẩn để forecast volatility 1-30 ngày. Ứng dụng cốt lõi:
- Position sizing: cầm position size =
target_vol / forecast_vol. Khi GARCH dự báo vol cao, giảm position; vol thấp, tăng position. Giữ ex-ante daily P&L volatility constant. - Option pricing: Black-Scholes giả định vol constant — sai. Dùng GARCH forecast σ thay vào IV để price options thực tế hơn.
- VaR: Compute 1-day 95% VaR =
1.645 × σ_t+1(GARCH forecast) × position size. - Vol arbitrage: Khi
IV thị trường > GARCH forecast→ sell vol (short option, vol target hedge); khiIV < GARCH→ buy vol.
Ứng dụng trên VN30F
VN30F có volatility clustering rõ rệt (Cont 2001 stylized fact). GARCH(1,1) fit tốt trên daily returns. Use cases:
- Position-sizing layer cho mọi chiến lược: Tính
σ_t+1mỗi ngày từ GARCH; scale lot size =0.5% NAV / (σ_t+1 × 100k × VN30_price). Khi VN-Index entered high-vol regime (Q1/2020 COVID, Q4/2022 SCB), GARCH tăng forecast → tự động giảm exposure trước khi drawdown. - Regime filter: Define
regime = high_vol if σ_GARCH > median(σ_GARCH, 252d). Tắt momentum strategy trong high-vol regime (momentum crashes), bật mean-reversion strategy. - VN30 options pricing: Khi VN30 options ra mắt rộng rãi, dùng GARCH forecast σ làm benchmark cho IV; nếu IV cao hơn 20% → sell straddle vol-target.
Code minh họa (Python)
import numpy as np
import pandas as pd
from arch import arch_model # pip install arch
def fit_garch_11(returns: pd.Series):
"""
returns: pd.Series of log-returns (đã nhân 100 cho convergence tốt hơn)
"""
r = returns.dropna() * 100
model = arch_model(r, vol='Garch', p=1, q=1, mean='Zero', dist='Normal')
res = model.fit(disp='off')
return res
def forecast_next_vol(garch_result, horizon=1):
"""Trả về dự báo σ (không phải σ²) cho `horizon` bước tới."""
f = garch_result.forecast(horizon=horizon, reindex=False)
variance = f.variance.values[-1]
sigma = np.sqrt(variance)
return sigma / 100 # rescale back
def vol_targeted_size(forecast_sigma, target_annual_vol=0.10, asset_price=1000,
contract_multiplier=100_000, nav=1_000_000_000):
"""
target_annual_vol: 10% NAV vol mục tiêu
asset_price: giá VN30 hiện tại (vd. 1320)
contract_multiplier: 100,000 cho VN30F
"""
daily_vol_target = target_annual_vol / np.sqrt(252)
# P&L vol per 1 contract = forecast_sigma * asset_price * contract_multiplier
pnl_vol_per_contract = forecast_sigma * asset_price * contract_multiplier
target_pnl_vol = nav * daily_vol_target
n_contracts = target_pnl_vol / pnl_vol_per_contract
return int(np.floor(n_contracts))
# Ví dụ pipeline
returns = pd.read_csv('vn30f_daily.csv', parse_dates=['date'], index_col='date')['log_return']
res = fit_garch_11(returns)
sigma_next = forecast_next_vol(res, horizon=1)[0]
n_contracts = vol_targeted_size(sigma_next, asset_price=1320)
print(f"σ tomorrow: {sigma_next:.4f}, suggested size: {n_contracts} lots")Tài liệu tham khảo
- Bollerslev, T. (1986). Generalized autoregressive conditional heteroskedasticity. Journal of Econometrics, 31(3), 307-327.
- Engle, R. F. (1982). Autoregressive conditional heteroscedasticity. Econometrica, 50(4).
- Nelson, D. B. (1991). Conditional heteroskedasticity in asset returns: A new approach. Econometrica, 59(2).