I am running some Monte Carlo simulations with GBM on time series of commodity prices. First of all, the price data is annual between 1900-1950. I would firstly like to know if it is bad practice to apply GBM simulations on annual data, as normally, daily stock prices are used.

Furthermore, since the GBM log-returns are normally distributed, I would like to know if this fact requires my data (that is the estimated annual "log-returns" of the commodities) to have a normal distribution.

I am doing Shapiro-Wilk tests to see if this is the case. However, I am uncertain if it theoretically is required to have normally distributed data to apply GBM if I want reliable results.


2 Answers 2


By using GBM, you take the implicit assumption that log returns are normally distributed. So if you had a commodity where the distribution of log returns is significantly deviating from normal, you would produce results inconsistent with the observed price distributions. That said, I am not aware of any commodity that exhibits non-GBM behaviour.

What are you looking at specifically ?

  • $\begingroup$ I would say the opposite. If you take the log returns of a data set, and use them to simulate returns using them as the log returns again, you're going to match the distribution of the input data. If you mess with the order they're used in, then you'll get the same distribution, just different conditional distributions. Further, I would say that if you actually simulate gbm, then the resulting paths will look nothing like real paths, especially not commodity paths. Gbm is just a convenient but of maths, the reality is thst it's not how real underlying behave. $\endgroup$
    – will
    Commented Feb 2, 2019 at 14:09
  • $\begingroup$ when you say the price paths look different from GBM for commodities, then i guess you are referring to seasonality. This can be accomodated for in GBM by using time-dependent drift $\mu (t)$ $\endgroup$
    – ZRH
    Commented Feb 2, 2019 at 14:18
  • $\begingroup$ I wasn't specifically talking about commodities, but more the stock market in general. There are jumps, mean reversion, regime changes, etc., which you just can't get qualitatively close to with gbm. If you're going to go down the commodity route, then we now have supply and demand constraints (somewhat) on upper and lower bounds of the price, seasonal volatility in things like natgas. Gbm works if all you care about is the terminal distribution. Gbm with a spot/time dependence (ie local vol) gets you a long way there, but in some cases it's just insufficient for several types of derivative. $\endgroup$
    – will
    Commented Feb 2, 2019 at 15:10

What do you want to with your Monte Carlo simulation? The time period 1900 - 1950 is quite strange ... this must be some special analysis that you try to do. MY answer applied for the general situation of historical data:

  1. Do you want to calculate a price or hedge?
  2. Or do you want to look at the risk of a position?

For 1: you need a risk neutral measure and I assume that your data basis will by no means help you. You would need to read up on the literature for the specific pricing or hedging.

For 2: Why would you use GBM? Why don't you look at the empirical distribution or some parametric distribution that fits your observed distribution closely? Again I wonder if your data base is appropriate what you try to do. If you want to assess the risk of a positions that you do in and out daily you should look at daily data.

  • $\begingroup$ Hello Richard, thank you for the answer. I actually wanted to investigate how well the simulation would perform compared to actual data, that is, would the actual data be within the resulting range of an n number of simulations from 1950-onward? Additionnally, my ambition has been to do what is explained and inquired in this thread: quant.stackexchange.com/questions/40506/… $\endgroup$
    – Andr
    Commented Feb 3, 2019 at 16:40
  • $\begingroup$ So you are rather in case 2. Then what do you need GBM for? Either: fit a distribution and perform Monte Carlo. Or assume a normal distribution, find the variance and perform Monte Carlo. But: what do you expect to see on an annual scale? If you would look at it on a daily basis then one could think about a model for volatility that captures e.g. vol clustering. Search e.g. for "stylized facts financial time series" and you find various approaches. $\endgroup$
    – Richi Wa
    Commented Feb 3, 2019 at 18:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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