การตรึงพารามิเตอร์ของ GARCH
พารามิเตอร์ของโมเดล GARCH ได้รับการประมาณด้วยวิธี maximum likelihood เนื่องจากความไม่แน่นอนจากการสุ่มตัวอย่าง พารามิเตอร์ที่ประมาณได้จึงมีความคลาดเคลื่อนจากการประมาณอยู่เสมอ หากทราบค่าพารามิเตอร์ที่แท้จริง การกำหนดค่านั้นตายตัวแทนการประมาณจะให้ผลที่แม่นยำกว่า
มาลองทำสิ่งนี้กับข้อมูลผลตอบแทนรายวันของ EUR/USD ที่มีอยู่ใน console ในชื่อตัวแปร EURUSDret ซึ่งได้ประมาณโมเดล AR(1)-GARCH ด้วยการแจกแจงแบบ skewed student t ไว้แล้ว และเก็บผลการประมาณในออบเจกต์ ugarchfit ชื่อ flexgarchfit
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
GARCH Models in R
คำแนะนำการฝึกหัด
- แสดงค่าสัมประสิทธิ์ที่ประมาณได้ของ
flexgarchfit - ใช้เมธอด
setfixed()เพื่อกำหนดเงื่อนไขพารามิเตอร์ว่าar1 = 0และskew = 1 - ประมาณโมเดลโดยใช้เงื่อนไขพารามิเตอร์ที่กำหนด
- เติมโค้ดให้ครบเพื่อพล็อตกราฟ volatility สองชุด และสังเกตความคล้ายคลึงกัน
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Print the flexible GARCH parameters
___
# Restrict the flexible GARCH model by impose a fixed ar1 and skew parameter
rflexgarchspec <- flexgarchspec
___(rflexgarchspec) <- list(___ = ___, ___ = ___)
# Estimate the restricted GARCH model
rflexgarchfit <- ugarchfit(data = ___, spec = ___)
# Compare the volatility of the unrestricted and restriced GARCH models
plotvol <- plot(abs(EURUSDret), col = "grey")
plotvol <- addSeries(___(flexgarchfit), col = "black", lwd = 4, on=1 )
plotvol <- addSeries(___(rflexgarchfit), col = "red", on=1)
plotvol