GARCH-volatilitet leder till tidsberoende variabilitet i avkastningen

GARCH-modeller i R

Kris Boudt

Professor of finance and econometrics

GARCH-kovarians

Om två tillgångars avkastning $R_{1,t}$ och $R_{2,t}$ har korrelationen $\rho$ och tidsberoende volatilitet $\sigma_{1,t}$ och $\sigma_{2,t}$, är deras kovarians:

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

GARCH-modeller i R

GARCH-kovariansestimering i fyra steg

Steg 1: Använd ugarchfit() för att skatta GARCH-modellen för varje avkastningsserie.

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

Steg 2: Använd residuals() för att beräkna den standardiserade avkastningen.

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

Steg 3: Använd cor() för att skatta $\rho$ som stickprovskorrelationen av den standardiserade avkastningen.

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

GARCH-kovariansestimering i fyra steg

Steg 4: Beräkna GARCH-kovariansen genom att multiplicera den skattade korrelationen och volatiliteterna

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

GARCH-kovarians

GARCH-modeller i R

Tillämpningar av kovarians inom finans

  • Många!
  • Viktigt fall: Optimering av portföljens varians.
  • Den beror på:
    • portföljvikterna
    • variansen för samtliga tillgångar
    • kovariansen mellan tillgångarnas avkastning
GARCH-modeller i R

Tillämpning inom portföljoptimering

Varians för en portfölj med två tillgångar, där vikten $w_{1,t}$ är investerad i tillgång 1 och $(1-w_{1,t})$ i tillgång 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} $$

Det finns många sätt att definiera optimalt $w_{1,t}$. Ett sätt är att välja $w_{1,t}$ så att portföljvariansen $\sigma_{t}^2$ minimeras.

Förstaordningsvillkor för att hitta portföljen med minsta varians:

$$ \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 $$

GARCH-modeller i R

Portföljvikter för minsta varians

Lösning: Minimumsvariansvikter

Beräkning i R:

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

GARCH-kovarians

GARCH-modeller i R

Dynamisk beta

Skattningen av en akties beta utgör aktiens systematiska risk

Defineras som kovariansen mellan aktiens avkastning och marknadsavkastningen, dividerat med variansen av marknadsavkastningen

$$ \beta_{t} = \frac{\textnormal{covariance between the stock return and the market return}}{\textnormal{variance of the market return}} $$

Behövs för att beräkna riskpremien. Ju högre beta, desto mer riskfylld är aktien och desto högre avkastningskrav.

För amerikanska aktier används S&P 500-avkastningen som marknadsavkastning.

GARCH-modeller i R

MSFT:s dagliga beta

Beräkna kovariansen mellan MSFT:s och S&P 500:s avkastning

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

Beräkna variansen för S&P 500:s avkastning

sp500var <- sigma(sp500garchfit) ^ 2

Beräkna beta

msftbeta <- msftsp500cov / sp500var
GARCH-modeller i R

MSFT beta

GARCH-modeller i R

Nu kör vi en övning!

GARCH-modeller i R

Preparing Video For Download...