จำลองอนุกรม ARCH และ GARCH
ในแบบฝึกหัดนี้ จะจำลองอนุกรมเวลาแบบ ARCH(1) และ GARCH(1,1) โดยใช้ฟังก์ชันที่กำหนดไว้ล่วงหน้าชื่อ simulate_GARCH(n, omega, alpha, beta = 0)
ทบทวนความแตกต่างระหว่างโมเดล ARCH(1) และ GARCH(1,1): นอกจากองค์ประกอบ autoregressive ที่ใช้ \(\alpha\) คูณกับค่า residual กำลังสองที่ lag-1 แล้ว โมเดล GARCH ยังมีองค์ประกอบ moving average ที่ใช้ \(\beta\) คูณกับความแปรปรวนที่ lag-1 อีกด้วย
ฟังก์ชันที่กำหนดไว้จะจำลองอนุกรม ARCH/GARCH ตามค่า n (จำนวนการจำลอง), omega, alpha และ beta (ค่าเริ่มต้นคือ 0) ที่ระบุ และจะคืนค่า residuals และความแปรปรวนที่จำลองขึ้น จากนั้นจะพล็อตกราฟและสังเกตความแปรปรวนที่จำลองได้จากกระบวนการ ARCH และ GARCH
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
GARCH Models ใน Python
คำแนะนำการฝึกหัด
- จำลองกระบวนการ ARCH(1) โดยกำหนด
omega= 0.1 และalpha= 0.7 - จำลองกระบวนการ GARCH(1,1) โดยกำหนด
omega= 0.1,alpha= 0.7 และbeta= 0.1 - พล็อตกราฟความแปรปรวนที่จำลองได้จาก ARCH และ GARCH ตามลำดับ
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Simulate a ARCH(1) series
arch_resid, arch_variance = simulate_GARCH(n= 200,
omega = ____, alpha = ____)
# Simulate a GARCH(1,1) series
garch_resid, garch_variance = simulate_GARCH(n= 200,
omega = ____, alpha = ____,
beta = ____)
# Plot the ARCH variance
plt.plot(____, color = 'red', label = 'ARCH Variance')
# Plot the GARCH variance
plt.plot(____, color = 'orange', label = 'GARCH Variance')
plt.legend()
plt.show()