ПочатиПочніть безкоштовно

Змоделюйте ряди ARCH і GARCH

У цій вправі ви змоделюєте часові ряди ARCH(1) і GARCH(1,1), використовуючи заздалегідь визначену функцію simulate_GARCH(n, omega, alpha, beta = 0).

Згадайте відмінність між моделями ARCH(1) і GARCH(1,1): окрім авторегресійної складової з коефіцієнтом \(\alpha\), що множить квадрат залишку з лагом 1, модель GARCH містить також ковзну середню зі складовою \(\beta\), що множить дисперсію з лагом 1.

Заздалегідь визначена функція згенерує ряд ARCH/GARCH на основі заданих вами n (кількість симуляцій), omega, alpha і beta (типово 0). Вона поверне змодельовані залишки та дисперсії. Після цього ви побудуєте графіки й проаналізуєте змодельовані дисперсії для процесів ARCH і GARCH.

Ця вправа є частиною курсу

Моделі GARCH у 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()
Редагувати та запускати код