GARCH Models in R
Kris Boudt
Professor of finance and econometrics
$$ \mu_{t} = \mu + \lambda \sigma^2_{t} $$
$\lambda > 0$ คือพารามิเตอร์ความเสี่ยง/ผลตอบแทน บ่งชี้การเพิ่มขึ้นของผลตอบแทนที่คาดหวังต่อหนึ่งหน่วยความเสี่ยงของ Variance
เปลี่ยนอาร์กิวเมนต์ mean.model ใน ugarchspec() จาก list(armaOrder = c(0, 0)) เป็น list(armaOrder = c(0, 0), archm = TRUE, archpow = 2):
garchspec <- ugarchspec(
mean.model = list(armaOrder = c(0, 0)),
variance.model = list(model = "gjrGARCH"),
distribution.model = "sstd")
garchspec <- ugarchspec(
mean.model = list(armaOrder = c(0, 0), archm = TRUE, archpow = 2),
variance.model = list(model = "gjrGARCH"),
distribution.model = "sstd")
การประมาณค่า
garchfit <- ugarchfit(data = sp500ret, spec = garchspec)
ตรวจสอบค่าสัมประสิทธิ์ที่ประมาณได้สำหรับ Mean
round(coef(garchfit)[1:2], 4)
mu archm
0.0002 1.9950
ค่าเฉลี่ยผลตอบแทนที่พยากรณ์ได้
$$ \hat{\mu}_{t} = 0.0002 + 1.9950 \hat{\sigma}^2_{t} $$
plot(fitted(garchfit))

$$ \mu_{t} = \mu + \rho(R_{t-1} - \mu) $$
$$ \mu_{t} = \mu + \rho(R_{t-1} - \mu) $$
$$ \mu_{t} = \mu + \rho(R_{t-1} - \mu) $$
การกำหนดสเปกและการประมาณค่า AR(1)-GJR GARCH ด้วยการแจกแจงแบบ sst
garchspec <- ugarchspec(
mean.model = list(armaOrder = c(1, 0)),
variance.model = list(model = "gjrGARCH"),
distribution.model = "sstd")
garchfit <- ugarchfit(data = sp500ret, spec = garchspec)
ค่าประมาณของโมเดล AR(1)
round(coef(garchfit)[1:2], 4)
mu ar1
0.0003 -0.0292
โมเดล Moving Average อันดับ 1 ใช้ส่วนเบี่ยงเบนของผลตอบแทนจาก Conditional Mean:
$$ \mu_{t} = \mu + \theta(R_{t-1} - \mu_{t-1}) $$
ARMA(1,1) รวม AR(1) และ MA(1) เข้าด้วยกัน:
$$ \mu_{t} = \mu + \rho(R_{t-1} - \mu) + \theta(R_{t-1} - \mu_{t-1}) $$
MA(1)
garchspec <- ugarchspec(
mean.model = list(armaOrder = c(0, 1)),
variance.model = list(model = "gjrGARCH"),
distribution.model = "sstd")
ARMA(1, 1)
garchspec <- ugarchspec(
mean.model = list(armaOrder = c(1, 1)),
variance.model = list(model = "gjrGARCH"),
distribution.model = "sstd")
GARCH Models in R