Estimating GBM Drift and Volatility from Historical Prices
Summary
The document explains how to estimate the drift and volatility parameters for a geometric Brownian motion simulation when the available data are monthly asset prices. Although the proposed simulation uses monthly steps, the answer recommends estimating parameters on an annualized basis and letting the time increment in the model represent one month.
For historical drift, it gives the continuously compounded growth rate from the start and end prices over the observation period. For volatility, it describes annualizing the dispersion of log returns, with the scaling based on the number of trading periods per year and the return observation interval. It also notes that a simplified volatility estimate may omit average log return because drift is often small relative to volatility.
These are historical estimates, not forecasts. The answer says an analyst relying on forward-looking inputs could instead use a forward curve and implied volatility; the document does not assess parameter stability or compare estimation methods.
Key ideas
- GBM parameters should be expressed consistently with the time unit used in the simulation.
- Historical drift can be estimated as the continuously compounded price growth rate over the observation horizon.
- Volatility estimated from log returns is annualized according to the return interval and trading periods per year.
- The simplified volatility formula omits average log return based on the assumption that drift is small relative to volatility.
- Historical parameter estimates may differ from forward-looking inputs such as implied volatility.
Tags
Full text
# How to calculate mean and volatility parameters for Geometric Brownian motion?
# How to calculate mean and volatility parameters for Geometric Brownian motion?
Say I have a time series $S_K$ for monthly asset prices for the last 30 years. I want to run a monte carlo simulation using geometric brownian motion
$$S_t = S_0\exp\left(\left(\mu - \frac{\sigma^2}{2}\right)t + \sigma W_t\right)$$
In my monte carlo simulation, I plan to use a time increment $dt=\frac{1}{12}$ to simulate 1 month increments.
What is the mean $\mu$ and volatility $\sigma$ that should be used in the calculation? Intuitively, using the long term (30 year) mean and standard deviation seem incorrect as the simulation will have 1 month time steps, so I'm unsure what values to use.
## Answer by ZRH (score 3, accepted)
https://quant.stackexchange.com/a/43804
If you want to rely on historical values at all (as opposed to a forward curve and implied volatilities), then $\mu$ would be the annualized exponential growth rate measured over a period T, calculated as $\mu=\frac{ln(S_{T}/S_{0})}{T}$ (where T is measured in years), and $\sigma$ would be the annualized volatility, determined as the variance of log-returns over a period of N days, annualized with a factor of $\sqrt{N_{trade}/N}$, where $N_{trade}$ is the number of trading days per year (frequently taken as 252):
$\sigma=\frac{\sqrt{N_{trade}/N}}{\sqrt{n-1}}\sqrt{\sum_{i=1}^{n}ln^{2}(\frac{S_{i+N}}{S_{i}})}$
Perhaps worth mentioning the reason for omission of the average $\mu$ of log returns in above formula - $\mu$ is typically much smaller than the standard deviation $\sigma$ of log returns. Using these formulae, you don't have to worry about the length of the observation interval, as long as you set $T$ and $N$ correctly.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.