ARCH と GARCH 系列をシミュレーションする
この演習では、あらかじめ用意された関数 simulate_GARCH(n, omega, alpha, beta = 0) を使って、ARCH(1) と GARCH(1,1) の時系列をそれぞれシミュレーションします。
ARCH(1) と GARCH(1,1) モデルの違いを思い出しましょう。ラグ1の残差二乗に係る自己回帰成分 \(\alpha\) に加えて、GARCH モデルにはラグ1の分散に係る移動平均成分 \(\beta\) が含まれます。
この関数は、指定した n(シミュレーション回数)、omega、alpha、beta(既定値は 0)に基づいて ARCH/GARCH 系列をシミュレーションします。返り値にはシミュレーションした残差と分散が含まれます。最後に、ARCH と GARCH の過程から得られた分散をプロットして観察します。
この演習はコースの一部です
Pythonで学ぶGARCHモデル
演習の手順
omega= 0.1、alpha= 0.7 で ARCH(1) 過程をシミュレーションします。omega= 0.1、alpha= 0.7、beta= 0.1 で GARCH(1,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()