Skip to content
All library documents

Estimating Volatility from Irregularly Spaced Price Observations

Article Quant Q&A · Author: SRKX

Summary

The document addresses volatility estimation when asset prices are observed at uneven intervals, such as when international market indices have different trading calendars. It explains why dropping dates can combine returns over unequal spans, while carrying prices forward inserts artificial zero returns; interpolation can also flatten observed movements. These workarounds may distort the estimate.

One proposed solution is maximum likelihood under a price-process model. The likelihood uses each observed log price change together with the time elapsed between observations, and volatility is estimated by maximizing the combined transition likelihood. The answer frames this approach using the Black-Scholes lognormal process, whose drift and volatility determine the distribution of returns over each interval. A second answer gives a simpler volatility estimate under a zero-drift Wiener-process assumption, scaling squared log returns by their interval lengths. These are model-based estimates: their validity depends on the assumed process and sampling conditions, and the discussion does not compare their empirical performance or address richer price dynamics.

Key ideas

  • Unequal observation intervals make ordinary return standard deviations potentially misleading.
  • Dropping dates or carrying prices forward can alter returns and distort estimated volatility.
  • A likelihood can account for irregular timing by modeling each return over its actual interval.
  • The zero-drift Wiener-process estimate is simpler but relies on a specific process assumption.

Tags

Full text
# How do you estimate the volatility of a sample when points are irregularly spaced?


# How do you estimate the volatility of a sample when points are irregularly spaced?












I was looking again at this question which basically haunts every quant I believe, and I was thinking about the effect of these gaps when computing volatility of the series.

Let's define the problem more specifically for clarity.

Say you're working on a simple mean variance optimization for asset allocation. You have different asset classes (Equities, Bonds, Hedge-Funds, ...) perhaps even separated by region (Equities "=" {"Equities EU","Equities US", ... ) and you usually do this optimization using indices prices (e.g. S&P500 for Equities US).

Assuming we use daily data for the optimization, as the different indices do not trade on the same dates, if you put the series altogether in a set you will have "holes" in some of them. As the series are still prices, you are looking for a policy to fill the gaps.

1) Removing data

You can decide to remove all the dates where one of the values is null. If you do so, when computing the returns, you will have "ignored" a point for series that actually had the data, and hence the return which will be computed will possibly be of a higher magnitude than it should have been (because the two prices are actually separated by more than a single day).

2) Filling with data

Alternatively, you can decide to fill the prices, for example with the LVCF tactic (last value carried forward), but this would result in 0 returns which are not actually part of the real data. (2.1)

You could also fill with some algorithm, but this will end up "flattening" the course of the returns (2.3)

How do you usually tackle this issue to have a volatility that is not altered by these workarounds? Removing? LVCF? Interpolation?

Do you think that maybe this effect is negligible?

## Answer by Brian B (score 17, accepted)

https://quant.stackexchange.com/a/2624

The usual technique of computing the mean and standard deviation of returns happens to coincide with the maximum likelihood estimate when the data are regularly spaced. However, when the data are not regularly spaced, you can still do a maximum likelihood estimate. It's just more computationally intensive than before.

That is to say, assume you have observations of asset price $S_i$ at (possibly irregular) times $t_i$. Let these time differences be $\Delta t_i$. Then note that the transition probabilities are given by $$ p\left(S_{i+1}| S_i ; \alpha,\sigma \right) = \phi \left( \log(S_{i+1} / S_i ); (\alpha-\frac12 \sigma^2)\Delta t_i , \sigma \sqrt{\Delta t_i} \right) $$ where $\phi$ is the gaussian density function. This transition probability is from the Black-Scholes model, of course, which is the same one you are implicitly using when employing the standard volatility estimators.

Now you can run an optimization algorithm (such as BFGS) to maximize the overall path probability. That is, you create an objective function $$ F\left(\alpha,\sigma, \{S_i,t_i\} \right) = \sum_i \log( p\left(S_{i+1}| S_i; \alpha,\sigma \right) ) $$ to find its maximum over all possible values of $\alpha$ and $\sigma$. The corresponding value of $\sigma$ is your MLE estimate.

## Answer by JoseOrtiz3 (score 2)

https://quant.stackexchange.com/a/71164

A simple estimate of the volatility $\sigma$ of an asset given $N$ samples of asset prices $S_i$ at times $t_i$ is:

$$ \sigma^2 = \frac{1}{N} \sum_{i=1}^{N} \frac{\log(S_i / S_{i-1})^2}{t_i - t_{i-1}} $$

This is the maximum likelihood estimate of $\sigma$ when the asset price is assumed to be a Wiener process with no drift. In this case, the transition probability of observing $x_i=\log(S_i/S_{i-1})$ is given by:

$$ P(x_i) = \frac{1}{\sigma \sqrt{2\pi(t_i - t_{i-1})}} \exp({\frac{-{x_i}^2}{2 \sigma^2 (t_i-t_{i-1})}}) $$

The estimate maximizes $\prod_{i=1}^{N} P(x_i)$. It can be derived by differentiating the logarithm of this product with respect to $\sigma$ and setting this to zero.

For better but more complicated estimates, see other answers.

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.