Variance Targeting
ความผันผวนของผลตอบแทนทางการเงินเกิดขึ้นเป็นกลุ่ม (cluster) ตามช่วงเวลา โดยช่วงที่ความผันผวนสูงกว่าค่าเฉลี่ยจะตามด้วยช่วงที่ความผันผวนต่ำกว่าค่าเฉลี่ย การคาดการณ์ในระยะยาวมีดังนี้
- เมื่อความผันผวนสูง มันจะลดลงและกลับสู่ค่าเฉลี่ยระยะยาว
- เมื่อความผันผวนต่ำ มันจะเพิ่มขึ้นและกลับสู่ค่าเฉลี่ยระยะยาว
ในการประมาณโมเดล GARCH เราสามารถใช้ประโยชน์จากพฤติกรรม mean reversion ของความผันผวนได้ผ่านเทคนิค variance targeting กล่าวคือ เราประมาณค่าพารามิเตอร์ GARCH โดยให้ความผันผวนระยะยาวที่โมเดล GARCH บอกนั้นเท่ากับส่วนเบี่ยงเบนมาตรฐานของตัวอย่าง
มาลองทำกับผลตอบแทน EUR/USD กัน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
GARCH Models in R
คำแนะนำการฝึกหัด
- ปรับ GARCH specification ให้ใช้ variance targeting
- ประมาณโมเดล GARCH
- ใช้
uncvariance()เพื่อคำนวณส่วนเบี่ยงเบนมาตรฐานระยะยาวที่โมเดล GARCH บอก - ตรวจสอบว่าเมื่อปัดตัวเลขแล้ว ค่าดังกล่าวเท่ากับส่วนเบี่ยงเบนมาตรฐานของตัวอย่าง
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Complete the specification to do variance targeting
garchspec <- ugarchspec(mean.model = list(armaOrder = c(0,0)),
variance.model = list(model = "sGARCH",
___ = ___),
distribution.model = "std")
# Estimate the model
garchfit <- ___(data = EURUSDret, spec = garchspec)
# Print the GARCH model implied long run volatility
sqrt(___(___))
# Verify that it equals the standard deviation (after rounding)
all.equal(sqrt(uncvariance(garchfit)), ___(EURUSDret), tol = 1e-4)