GARCH Models in R
Kris Boudt
Professor of finance and econometrics
$$ R_{t} = \frac{P_{t} - P_{t-1}}{P_{t-1}} $$
CalculateReturns
in PerformanceAnalytics
# Example in R for daily S&P 500 prices (xts object)
library(PerformanceAnalytics)
SP500returns <- CalculateReturns(SP500prices)
Properties of daily returns:
Standard deviation = measure of return variability.
Synonym: Return volatility.
Greek letter $\sigma_t$.
sd()
computes the (daily) standard deviation:sd(sp500ret)
0.01099357
$$ \hat \sigma = \sqrt{\frac{1}{T-1} \sum_{t=1}^T (R_t - \hat \mu )^2},$$
sd(sp500ret)
is daily volatility# Compute annualized standard deviation
sqrt(252) * sd(sp500ret)
0.1745175
library(PerformanceAnalytics)
chart.RollingPerformance(R = sp500ret,
width = 22,
FUN = "sd.annualized",
scale = 252,
main = "Rolling 1 month volatility")
GARCH Models in R