市場は階段で上り、エレベーターで下る

Rで学ぶGARCHモデル

Kris Boudt

Professor of finance and econometrics

方法

ugarchspec() の引数 distribution.model を "norm" から "sstd" に変更します:

garchspec <- ugarchspec( mean.model = list(armaOrder = c(0, 0)),
                         variance.model = list(model = "sGARCH"),
                         distribution.model = "norm")

$$ \downarrow$$

garchspec <- ugarchspec( mean.model = list(armaOrder = c(0, 0)),
                         variance.model = list(model = "sGARCH"),
                         distribution.model = "sstd")                         
Rで学ぶGARCHモデル

正規GARCHモデル

モデルの仮定のもとで

$$ R_{t} = \mu_{t} + e_{t} $$ $$ e_{t} \sim N(0, \sigma^{2}_{t}) $$

次が成り立ちます

$$ \frac{R_{t} - \mu_{t}}{\sigma_{t}} \sim N(0, 1) $$

Rで学ぶGARCHモデル

検証

  • 注意:標準化リターンの正規性は仮定に基づいています
  • 標準化リターンを計算し、仮定が正しいか検証しましょう。
Rで学ぶGARCHモデル

推定標準化リターン

  • 公式

$$ Z_{t} = \frac{R_{t} - \hat{\mu_{t}}}{ \hat{\sigma_{t}}} $$

Rでの計算

# Obtain standardized returns
stdret <- residuals(garchfit, standardize = TRUE)
Rで学ぶGARCHモデル

正規性の仮定の検証

library(PerformanceAnalytics)
chart.Histogram(sp500ret, methods = c("add.normal", "add.density"),
          colorset = c("gray", "red", "blue"))
Rで学ぶGARCHモデル

Rで学ぶGARCHモデル

裾

Rで学ぶGARCHモデル

解決策

  • 現実的な分布は以下を考慮する必要があります:

    • ファットテール:正規分布と比べ、大きなリターン(正・負)が生じる確率が高い
    • 歪度:リターン分布の非対称性
  • rugarch では歪スチューデントt分布を使用することで対応可能です:

garchspec <- ugarchspec(distribution.model = "sstd")
Rで学ぶGARCHモデル

歪スチューデントt分布のパラメータ

  • 正規分布と比べ、歪スチューデントt分布には2つの追加パラメータがあります:

    • 自由度パラメータ $\nu$(rugarch では shape):$\nu$ が小さいほど裾が厚い。
    • 歪度パラメータ $\xi$(rugarch では skew):$\xi=1$ で対称、$\xi<1$ で負の歪度、$\xi>1$ で正の歪度。
  • 特殊ケース:

    • $\nu=\infty$ かつ $\xi=1$:正規分布。
    • $\xi=1$:スチューデントt分布。
Rで学ぶGARCHモデル

Rで学ぶGARCHモデル

Rで学ぶGARCHモデル

Rで学ぶGARCHモデル

Rで学ぶGARCHモデル

歪スチューデントt分布によるGARCHモデルの推定

distribution.model 引数を "sstd" に設定します

garchspec <- ugarchspec(mean.model = list(armaOrder = c(0,0)),
                        variance.model = list(model = "sGARCH"),
                        distribution.model = "sstd")

モデルを推定します

garchfit <- ugarchfit(data = sp500ret, spec = garchspec)
coef(garchfit)
          mu        omega       alpha1        beta1         skew        shape 
5.669200e-04 6.281258e-07 7.462984e-02 9.223701e-01 9.436331e-01 6.318621e+00
Rで学ぶGARCHモデル

練習しましょう!

Rで学ぶGARCHモデル

Preparing Video For Download...