Skip to content
All library documents

Estimating GBM Drift and Volatility from Daily Log Returns

Article Quant Q&A · Author: corey979

Summary

The document shows how to estimate geometric Brownian motion parameters from a series of daily prices. It first maps prices to log returns, which follow a normal process with drift equal to the price process’s drift minus half the variance rate. When the time unit is one day, the sample mean of daily log returns estimates this log-return drift, while the sample variance estimates daily variance. The GBM price drift estimate is recovered by adding half the estimated variance.

The time unit must be explicit: parameters estimated from daily observations are daily quantities. To express them over a longer horizon, drift scales with elapsed time and standard deviation scales with the square root of elapsed time. The answer also notes a sample-indexing convention for matching the number of prices and returns. These estimates assume the GBM model and stable return behavior; the document does not assess how well those assumptions hold for real assets or discuss uncertainty in the estimates.

Key ideas

  • Daily log returns are modeled with drift equal to the GBM price drift minus half the variance rate.
  • The sample mean of daily log returns estimates daily log drift, and sample variance estimates daily variance.
  • Recover the GBM price drift by adding half the estimated daily variance to the log-return drift.
  • Over a multi-day horizon, drift scales linearly with time while volatility scales with the square root of time.
  • Parameter units depend on the time interval assigned to one unit of the model clock.

Tags

Full text
# Estimating the historical drift and volatility


# Estimating the historical drift and volatility












I want to forecast prices $S(t)$ of some asset based on historical daily values. I want to use the geometric Brownian motion given by an SDE: $$dS=\mu S t + \sigma S dB,$$ where $B$ is a Brownian motion, for modeling. The historical prices are $$\{S_i\}_{i=1}^N,$$ from which I calculate the log-returns ($N-1$ in total) $$Z_i=\ln\frac{S_i}{S_{i-1}},$$ and the 1-day historical volatility as the standard deviation of the returns: $$\hat{\sigma} = \sqrt{Var\{Z_i\}}.$$

Q1: Let's say I want to forecast the prices $S(t)$ for 180 days. Should I take $\sigma$ in the SDE as the 1-day volatility $\hat{\sigma}$ or as $\sqrt{180}\hat{\sigma}$? I'd say that $\sigma=\hat{\sigma}$ as I'm modeling day by day, but is it correct?

Q2: How do I compute the drift $\hat{\mu}$ from the historical prices? Is it simply $$\hat{\mu}=\frac{1}{N-1}\sum\limits_{i=1}^{N-1}Z_i,$$ and is it (the above formula) a 1-day drift?

## Answer by Chris Taylor (score 8, accepted)

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

By looking at log returns, you are examing the stochastic process

$$ Q_t = \log S_t $$

given by

$$ \begin{align} dQ_t & = \left( \mu - \tfrac{1}{2}\sigma^2\right) dt + \sigma\, dB_t \\ & \equiv \alpha \,dt + \sigma\, dB_t \end{align} $$

where $\alpha=\mu-\tfrac{1}{2}\sigma^2$.

So far, everything is in continuous time. To interpret the SDE, you need to know how much time passes when $t$ increases by one unit. If the distance between $t=0$ and $t=1$ is one day, then $Q_{t+1}-Q_t$ is the daily log return, and $\mu$ is the daily drift. However, if the distance between $t=0$ and $t=1$ is one year, then $\mu$ is the annual drift.

Let's assume that one unit of $t$ is one day. Then defining $Z_i = Q_{i+1} - Q_i$ (which is equivalent to your definition of log returns) the formula

$$ \hat{\alpha} = \frac{1}{N-1} \sum_{i=1}^{N-1} Z_i $$

gives the one-day drift for this process, and

$$ \hat{\sigma}^2 = \frac{1}{N-2} \sum_{i=1}^{N-1} (Z_i - \hat{\alpha})^2 $$

gives the one-day variance (hence $\hat{\sigma}$ is the one-day standard deviation). To recover the estimator for the drift term $\mu$ you define

$$ \hat{\mu} = \hat{\alpha} + \tfrac{1}{2}\hat{\sigma}^2 $$

If you want the 180-day drift and standard deviation, you need

$$ \begin{align} \hat{\mu}_{180} & = 180\hat{\mu} \\ \hat{\sigma}_{180} & = \sqrt{180}\,\hat{\sigma} \end{align} $$

Purely as a point of notation, I would take your price observations to be $\{S_i\}_{i=0}^N$ so that you have $N+1$ price observations, and $N$ daily returns. It will simplify your formulas later.

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.