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.


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):


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.

  • $\begingroup$ Thanks for the explanation. What is $n$ in the volatility term? $\endgroup$ – PyRsquared Jan 31 at 17:13
  • $\begingroup$ just the number of log return observations $\endgroup$ – ZRH Jan 31 at 17:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.