Zmienność GARCH prowadzi do zmiennej w czasie wariancji stóp zwrotu

Modele GARCH w R

Kris Boudt

Professor of finance and econometrics

Kowariancja GARCH

Jeśli dwie stopy zwrotu $R_{1,t}$ i $R_{2,t}$ mają korelację $\rho$ oraz zmienną w czasie zmienność $\sigma_{1,t}$ i $\sigma_{2,t}$, to ich kowariancja wynosi:

$$ \sigma_{12, t} = \rho \sigma_{1, t} \sigma_{2, t} $$

Modele GARCH w R

Szacowanie kowariancji GARCH w czterech krokach

Krok 1: Użyj ugarchfit(), aby oszacować model GARCH dla każdej serii stóp zwrotu.

msftgarchfit <- ugarchfit(data = msftret, spec = garchspec) 
wmtgarchfit <- ugarchfit(data = wmtret, spec = garchspec)

Krok 2: Użyj residuals(), aby obliczyć zestandaryzowane stopy zwrotu.

stdmsftret <- residuals(msftgarchfit, standardize = TRUE)
stdwmtret <- residuals(wmtgarchfit, standardize = TRUE)

Krok 3: Użyj cor(), aby oszacować $\rho$ jako korelację próbkową zestandaryzowanych stóp zwrotu.

msftwmtcor <- as.numeric(cor(stdmsftret, stdwmtret)) # equals 0.298795
Modele GARCH w R

Szacowanie kowariancji GARCH w czterech krokach

Krok 4: Oblicz kowariancję GARCH, mnożąc oszacowaną korelację i zmienności

msftwmtcov <- msftwmtcor * sigma(msftgarchfit) * sigma(wmtgarchfit)

Kowariancja GARCH

Modele GARCH w R

Zastosowania kowariancji w finansach

  • Liczne zastosowania!
  • Ważny przypadek: optymalizacja wariancji portfela.
  • Zależy od:
    • wag portfela
    • wariancji wszystkich aktywów
    • kowariancji między stopami zwrotu aktywów
Modele GARCH w R

Zastosowanie w optymalizacji portfela

Wariancja portfela dwóch aktywów z wagą $w_{1,t}$ zainwestowaną w aktywo 1 i $(1-w_{1,t})$ w aktywo 2:

$$ \sigma^{2}_{p, t} = w^{2}_{1, t} \sigma^{2}_{1, t} + (1 - w_{1, t})^{2} \sigma^{2}_{2, t} + 2 w_{1, t} (1 - w_{1, t}) \sigma_{12, t} $$

Istnieje wiele sposobów definiowania optymalnego $w_{1,t}$. Jednym z podejść jest wyznaczenie $w_{1,t}$ minimalizującego wariancję portfela $\sigma_{t}^2$.

Warunek pierwszego rzędu dla portfela minimalnej wariancji:

$$ \frac{\partial \sigma^{2}_{p, t}}{\partial w_{1, t}} = 2 w_{1, t} (\sigma^{2}_{1, t} + \sigma^{2}_{2, t} - 2 \sigma_{12, t}) - 2 (\sigma^{2}_{2, t} - \sigma_{12, t}) = 0 $$

Modele GARCH w R

Wagi portfela minimalnej wariancji

Rozwiązanie: Wagi portfela minimalnej wariancji

Obliczenia w R:

msftvar <- sigma(msftgarchfit) ^ 2
wmtvar <- sigma(wmtgarchfit) ^ 2
msftwmtcov <- msftwmtcor * sigma(msftgarchfit) * sigma(wmtgarchfit)
msftweight <- (wmtvar - msftwmtcov) / (msftvar + wmtvar - 2 * msftwmtcov)
Modele GARCH w R

Kowariancja GARCH

Modele GARCH w R

Beta dynamiczna

Szacowanie bety akcji mierzy ryzyko systematyczne

Zdefiniowana jako kowariancja stopy zwrotu akcji i rynku, podzielona przez wariancję stóp zwrotu rynku

$$ \beta_{t} = \frac{\textnormal{kowariancja stopy zwrotu akcji i rynku}}{\textnormal{wariancja stopy zwrotu rynku}} $$

Potrzebna do obliczenia premii za ryzyko. Im wyższa beta, tym bardziej ryzykowna akcja i wyższa wymagana stopa zwrotu.

Dla akcji amerykańskich stopą rynkową jest stopa zwrotu z S&P 500.

Modele GARCH w R

Dzienna beta MSFT

Obliczenie kowariancji między stopami zwrotu MSFT i S&P 500

msftsp500cor <- as.numeric(cor(stdmsftret, stdsp500ret))
msftsp500cov <- msftsp500cor * sigma(msftgarchfit) * sigma(sp500garchfit)

Obliczenie wariancji stóp zwrotu S&P 500

sp500var <- sigma(sp500garchfit) ^ 2

Obliczenie bety

msftbeta <- msftsp500cov / sp500var
Modele GARCH w R

Beta MSFT

Modele GARCH w R

Czas na ćwiczenia!

Modele GARCH w R

Preparing Video For Download...