Volatility

Volatility is about returns, not prices

  • A common misconception is that volatility is about the standard deviation of prices
  • Volatility is about returns, not prices
  • Returns normalize the price movements, allowing for comparability across different price levels and assets

Log Returns

  • Time Additivity
    • Log returns are additive across time
    • Sum log returns = cumulative log return over multiple periods
  • More “normalized”
    • Symmetric around zero
    • Smooth large price fluctuations without skewing the distribution

Historical Volatility

\[\text{Volatility} = \sqrt{ \frac{ \sum_{i=1}^n (r_i - \bar{r})^2 }{n-1} }\]

where

  • $r_i = P_i - P_{i-1}$
  • $n-1$: Bessel’s correction for an unbiased estimator in a sample variance

Realized Volatility

\[\text{Volatility} = \sqrt{\sum_{i=1}^n (\frac{P_i}{P_{i-1}})^2 }\]

Historical Volatility vs Realized Volatility

Use Cases

  • Historical volatility
    • Commonly used when analyzing volatility over longer periods where the mean return is significant
    • The goal is to understand how returns deviate from this mean
  • Realized volatility
    • Commonly used for high-frequency data (e.g, minute-level returns)
    • The goal is capturing the total variability within a very short timeframe
    • The mean return $\bar{r}$ over such short intervals is often close to zero, thus is less meaningful
    • The formula focusing on the sum of squared returns without adjusting for the mean, to capture the aggregate magnitude of price movements within the day

Interpretation

  • Historical volatility
    • Measure of risk based on how much returns have deviated from their historical average
    • Suitable for investment analysis over months or years
  • Realized volatility
    • Measure of market activity or noise over very short periods
    • Suitable for trading and risk management on a daily basis

Relationship

  • During stable market conditions
    • Daily realized volatility might average out to a level close to the historical volatility calculated over a longer period
  • During Turbulent Periods
    • Realized volatility can spike significantly and may not align closely with historical volatility

Annualization

After annualization, the volatility number represents the expected standard deviation of the annual returns, assuming that daily (or monthly) returns are scaled up to a yearly level without changing their underlying distribution.

From Daily Volatility:

\[\text{Annualized Volatility} = \text{Daily Volatility} \times \sqrt{252}\]

From Monthly Volatility:

\[\text{Annualized Volatility} = \text{Monthly Volatility} \times \sqrt{12}\]

Why?

Assuming returns are iid over time, then

\[\sqrt{n \times \sigma^2} = \sigma \times \sqrt{n}\]

Stochastic Volatility (SV) Model

Stochastic volatility models are used to describe stochastic process whose variance itself is randomly distributed

Black-Scholes assume constant volatility over the life of the derivative, and cannot explain long-observed features of the implied volatility surface such as volatility smile and skew. By assuming that the volatility of the underlying price is a stochastic process rather than a constant, it becomes possible to model derivatives more accurately.

Volatility Smile

  • Given a expiration date, options whose strike price significantly differs from the underlying asset’s price, command higher prices
  • The higher prices results in higher implied volatility
  • Hence, plotting the implied volatilities against strike prices produces a skewed “smile” instead of the expected flat surface

Basic Model

Assume the asset price follows a standard geometric Brownian motion:

\[\mathrm{d} S_t = \mu S_t \, \mathrm{d}t + \sigma S_t \,\mathrm{d} W_t\]

SV Model

A stochastic volatility model replace the constant volatility $\sigma$ with a function $\nu_t$ that models the variance of $S_t$:

\[\mathrm{d} S_t = \mu S_t \, \mathrm{d}t + \sqrt{\nu_t} S_t \,\mathrm{d} W_t\]

$\nu_t$ is also modeled as Brownian motion:

\[\mathrm{d}\nu_t = \alpha_{\nu, t} \, \mathrm{d}t + \beta_{\nu, t} \, \mathrm{d}B_t\]

where

  • $\mathrm{d}B_t$ is another standard gaussian that is correlated with $\mathrm{d} W_t$ with constant correlation factor $\rho$
  • $\alpha_{\nu, t}, \beta_{\nu, t}$ are 2 functions of $\nu$, their form depends on the particular SV model.

GARCH Model

Assumes that the randomness of the variance process $\mathrm{d} \nu _{t}$ varies with the variance $\nu_t$:

The standard GARCH(1,1) model has the following form:

\[\mathrm{d} \nu _{t} = \theta (\omega - \nu_t) \,\mathrm{d}t + \xi \nu_t \, \mathrm{d} B_{t}\]

Parameter Estimation

Once a SV model is chosen, its parameters must be estimated against data.

Parameter Estimation can be achieved by maximum likelihood estimation (MLE) or MCMC.

ARCH & GARCH

Autoregressive conditional heteroskedasticity model

  • Hetero: A prefix derived from Greek, meaning “different”
  • Skedasticity: Relating to “scatter”, “dispersion” or “noise” within a set of data.
  • Heteroskedasticity means that the spread or “noise” in the data is not constant

ARCH vs GARCH

  • ARCH: error variance follows an AR model
  • GARCH: error variance follows an ARMA model

ARCH

Consider a time series with error term:

\[\epsilon_t = \sigma_t z_t\]

where

  • $z_t$: serially uncorrelated random variables / white noise
  • $\sigma_t$ is the scale of $z_t$ at $t$

$\sigma_t$ is modeled as:

\[\sigma_t^2 = \alpha_0 + \alpha_1 \epsilon_{t-1}^2 + ... + \alpha_q \epsilon_{t-q}^2 = \alpha_0 + \sum_{i=1}^q \alpha_i \epsilon_{t-i}^2\]

ARCH Parameter Estimation

Given a time series ${y_t}$, fit a base model to predict $\hat{y}_t$. The base model could be a simple mean or a ARMA model.

Then we can compute $\epsilon_t$ as:

\[\epsilon_t = y_t - \hat{y}_t\]

This $\epsilon_t$ now serve as “ground truth” or “target” for ARCH model.

Given $\epsilon_t = \sigma_t z_t$ or $\epsilon_t \sim \mathcal{N}(0, \sigma_t^2)$, we can write the probability of $P(\epsilon_t | \sigma_t^2)$:

\[P(\epsilon_t | \sigma_t^2) = \frac{1}{\sqrt{2\pi\sigma_t^2}} \exp \left( -\frac{\epsilon_t^2}{2\sigma_t^2} \right)\]

The joint likelihood:

\[L(\alpha_0, ..., \alpha_q) = \prod_{t=1}^T \frac{1}{\sqrt{2\pi\sigma_t^2}} \exp \left( -\frac{\epsilon_t^2}{2\sigma_t^2} \right)\]

The log-likelihood is:

\[\log L(\alpha_0, ..., \alpha_q) = \sum_{t=1}^T \left[ \frac{1}{2}\log(2\pi) - \frac{1}{2}\log(\sigma_t^2) -\frac{\epsilon_t^2}{2\sigma_t^2} \right]\]

Now substitute $\sigma_t$, we have:

\[\log L(\alpha_0, ..., \alpha_q) = \sum_{t=1}^T \left[ \frac{1}{2}\log(2\pi) - \frac{1}{2}\log(\alpha_0 + \sum_{i=1}^q \alpha_i \epsilon_{t-i}^2) -\frac{\epsilon_t^2}{2 (\alpha_0 + \sum_{i=1}^q \alpha_i \epsilon_{t-i}^2) } \right]\]

Given this log-likelihood, we can estimate parameters $\alpha_0, …, \alpha_q$ by

  • MLE
  • Bayesian Inference $P(\alpha | \epsilon) \propto P(\epsilon | \alpha) \cdot P(\alpha)$ with MCMC.

Before proceeding with parameter estimation, we may want to verify our base model is good enough by check the residue:

  • Contains no autocorrelation
    • ACF
    • Ljung-Box Test
  • Normally distributed (skewness and kurtosis)
    • Jarque-Bera Test

We can also directly detect if ARCH is present in the residuals by Engle’s ARCH Test.

GARCH

The GARCH model generalizes the ARCH model by also including past conditional variances $\sigma_t$ as predictors:

\[\sigma_t^2 = \omega + \sum_{i=1}^q \alpha_i \epsilon_{t-i}^2 + \sum_{i=1}^p \beta_i \sigma_{t-i}^2\]

GARCH models can more effectively capture the persistence of volatility, which could be useful in financial markets, where the effects of shocks to volatility can persist.

Conditional Volatility

By fitting a ARCH model, we automatically get a deterministic volatility $\sigma_t$.

The volatility is named conditional, due to asset price’s error term $\epsilon_t$ is conditioned by it:

\[P(\epsilon_t | \sigma_t^2)\]

The conditional volatility is a forward-looking estimate, in a sense that it tries to predict future volatility, based on previously available data $\epsilon_{t-1}, …, \epsilon_{t-q}$ and $\sigma_{t-1}, …, \sigma_{t-p}$.

Conditional Volatility vs Volatility

  • Historical Volatility: backward-looking measure of volatility
  • Realized Volatility: precise, recent past measure based on actual price movements
  • GARCH Conditional Volatility: forward-looking, predictive measure of volatility based past data