============================================================================== Time Series Models of Volatility ============================================================================== Motivation ============================================================================== In many econometric applicaitons, model errors are heteroscedastic. .. raw:: - In addition to non-constant variance, the variance of the errors may be autocorrelated through time. .. raw:: - Financial time series have given rise to a rich literature in time series modeling of volatility. .. raw:: - However, non-financial time series may exhibit time-varying volatility. Motivation ============================================================================== At most time scales, financial returns are known to exhibit: .. raw:: - Little or no serial correlation. .. raw:: - Dependence/serial correlation in the second moment. .. raw:: - Heavy tails, relative to a Gaussian distribution. Motivation ============================================================================== .. code-block:: python library(quantmod) getSymbols('SPY') spyRets = dailyReturn(Cl(SPY)) png(filename='spyQQACF.png',,height=4,width=10,units='in',res=150) par(mfrow=c(1,3)) qqnorm(spyRets) qqline(spyRets) acf(spyRets,lag.max=50) acf(spyRets^2,lag.max=50) dev.off() Motivation ============================================================================== .. image:: ../_static/Volatility/spyQQACF.png :width: 6in :align: center Basic Model ============================================================================== Consider the following model .. math:: \begin{align} r_t & = \mu_t + \varepsilon_t, \,\,\, \varepsilon_t \sim N(0,\sigma_t^2). \end{align} .. raw:: - The mean, :math:`\smash{\mu_t}`, may follow a linear time series process .. math:: \begin{align} \mu_t & = \phi_0 + \sum_{i=1}^k \lambda_i x_{it} + \sum_{i=1}^p \phi_i r_{t-i} + \sum_{i=1}^q \theta_i \varepsilon_{t-i}. \end{align} .. raw:: - The variables :math:`\smash{\{x_{it}\}}` are exogenous explanatory variables (e.g. the market return, for the CAPM, or dummy variables for month/week/day effects). Basic Model ============================================================================== Time series models of volatility augment the model of the mean with a process that governs conditional volatility, :math:`\smash{\sigma_t}`. .. raw:: - Some models specify a deterministic process for volatility (:math:`\smash{ARCH}`/:math:`\smash{GARCH}`). .. raw:: - Others specify a random process (stochastic volatility). The :math:`\smash{ARCH}` Model ============================================================================== Engle (1982) proposed the following model for volatility .. math:: \begin{align} \sigma_t^2 & = \alpha_0 + \sum_{i=1}^m \alpha_i \varepsilon_{t-i}^2. \end{align} where :math:`\smash{\alpha_0 > 0}` and :math:`\smash{\alpha_i \geq 0}` for :math:`\smash{i=1,\ldots,m}`. .. raw:: - Recall, :math:`\smash{\varepsilon_t \sim N(0,\sigma_t^2)}`. .. raw:: - Alternatively, we could write :math:`\smash{\varepsilon_t = \sigma_t z_t}`, where :math:`\smash{z_t \sim N(0,1)}`. :math:`\smash{ARCH}` Order ============================================================================== Define :math:`\smash{\eta_t = \varepsilon_t^2 - \sigma_t^2}`. .. raw:: - It can be shown that :math:`\smash{\{\eta_t\}}` is an uncorrelated, zero-mean series (not necessarily i.i.d.). .. raw:: - Thus the :math:`\smash{ARCH}` model can be written as .. math:: \begin{align} \varepsilon_t^2 & = \alpha_0 + \sum_{i=1}^m \alpha_i \varepsilon_{t-i}^2 + \eta_t. \end{align} .. raw:: - As a result, the order can be diagnosed using the tools of :math:`\smash{AR}` order determination (PACF). .. raw:: - This is done on the residuals, after estimating the mean equation. Notes on :math:`\smash{ARCH}` ============================================================================== - It can be shown that the :math:`\smash{ARCH}` model results in excess kurthosis (relative to a Normal). - The model parameters must be restricted in order to maintain finite unconditional variance and positive conditional variance. :math:`\smash{ARCH}` Estimation ============================================================================== Under the assumption of Normality, the conditional likelihood function is .. math:: \begin{gather} f(\varepsilon_{m+1},\ldots,\varepsilon_T|\alpha_0,\ldots,\alpha_m,\varepsilon_1,\ldots,\varepsilon_m) = \prod_{t=m+1}^T \frac{1}{\sqrt{2\pi \sigma_t^2}} \exp{\left\{ -\frac{\varepsilon_t^2}{2 \sigma_t^2}\right\}}. \end{gather} .. raw:: - MLE is conducted with an interative approach: - Compute a set of observed residuals :math:`\smash{\{\varepsilon_t\}}`. - For a candidate estimate of the parameters, iteratively compute :math:`\smash{\{\sigma_t^2\}_{m+1}^T}` with the variance equation and evaluate the likelihood. - Update the parameters and repeat. .. raw:: - MLE is often conducted with a :math:`\smash{t}` distribution or generalized error distribution. The :math:`\smash{GARCH}` Model ============================================================================== Bollerslev (1986) proposed the following extension to the :math:`\smash{ARCH}` model: .. math:: \begin{align} \sigma_t^2 & = \alpha_0 + \sum_{i=1}^m \alpha_i \varepsilon_{t-i}^2 + \sum_{j=1}^s \beta_j \sigma_{t-j}^2. \end{align} where :math:`\smash{\alpha_0 > 0}`, :math:`\smash{\alpha_i\geq 0}`, :math:`\smash{\beta_j\geq 0}`, and :math:`\smash{\sum_{i=1}^{\max(m,s)} (\alpha_i+\beta_i) < 1}` for :math:`\smash{i=1,\ldots,m}`. Notes on :math:`\smash{GARCH}` ============================================================================== - :math:`\smash{GARCH}` is often preferred to :math:`\smash{ARCH}` because it requires far fewer parameters. .. raw:: - MLE is conducted in a similar fashion, but requires an initial condition for :math:`\smash{\{\sigma_t\}_{m-s+1}^m}`. .. raw:: - Many refinements of the :math:`\smash{GARCH}` model have been developed to account for asymmetry in volatility and other features. Stochastic Volatility ============================================================================== Stochastic volatility models are an alternative to deterministic models of volatility (:math:`\smash{ARCH}`/:math:`\smash{GARCH}`). .. raw:: - Consider the simple model of Taylor (1986): .. math:: \begin{align} \log(\sigma_t^2) & = \eta_0 + \eta_1 \log(\sigma_{t-1}^2) + u_t, \,\,\, u_t \sim WN(0,\sigma_u^2). \end{align} .. raw:: - :math:`\smash{u_t}` may be correlated with the return innovation :math:`\smash{\varepsilon_t}`. Stochastic Volatility Estimation ============================================================================== The Kalman filter can be used to estimate the stochastic volatility model above. .. raw:: - Consider the state-space system of Nelson (1988): .. math:: \begin{align} \log(r_t^2) & = \log(\sigma_t^2) + \log(z_t^2), \,\,\, z_t \stackrel{i.i.d.}{\sim} N(0,1) \\ \log(\sigma_t^2) & = \eta_0 + \eta_1 \log(\sigma_{t-1}^2) + u_t, \,\,\, u_t \stackrel{i.i.d.}{\sim} N(0,\sigma_u^2). \end{align} .. raw:: - The Kalman filter cannot be used for other, nonlinear stochastic volatility models. .. raw:: - Hamilton (1989) developed a nonlinear filtering method, similar to the Kalman filter, for such problems.