始める無料で始める

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(シミュレーション回数)、omegaalphabeta(既定値は 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()
コードを編集して実行