Message Boards Message Boards


Monte Carlo Simulation and log Returns

Posted 3 years ago
5 Replies
1 Total Likes

I am simulating log returns for an asset using the R command:

rnorm(1000, 0, .1)

This should give me 1,000 normally distributed returns with mean 0 and standard deviation of 10%. If I take those as log returns and use the cumulative sum of the changes, I will often run into a cumulative change in the price of the asset of less than -100%. This means the asset has not only lost all of its value but is now a liability which does not make a lot of sense in the real world. Is there a common practice for summing the returns and adjusting for changes greater than 100%?

5 Replies

Hi Jesse,

Do you mean that this set of random numbers, taken from a distribution with mean 0 and stddev 0.1, is a sequential set of log returns? So each number in the sequence is Log(Vf/Vi), where Vf and Vi are the initial and final values for a period? If so, then the log return of the series is the sum of the components. But a value of zero means the return is E^0, which is 1 -- no gain no loss. Finite values in the sequence always represent a fractional gain or loss, which can never zero out the value. A period in which the investment loses all value is represented by a log return of Log(0/Vi), meaning Log(0). This is not defined, but might be defined informally as -Infinity, which takes the sum to -Infinity which represents a loss of all value.

Kind regards, David

Posted 3 years ago

Yes, Thank you. I was misinterpreting the summed value.

Easy to do!

Posted 3 years ago

To make a note here, also for myself:

So, when you assume that returns are normally distributed (and you have a clean conscience about that), you mean that $$\frac{P_1-P_0}{P_0},\frac{P_2-P_1}{P_1},\frac{P_3-P_2}{P_2},...$$ are normally distributed, which is fine! This goes well in line with Geometric Brownian Motion ideas.

But now, when you take the logs of these returns, and sum, what do you actually get?

$$\log \left(\frac{P_1-P_0}{P_0}\right) +\log \left(\frac{P_2-P_1}{P_1}\right) +\log \left(\frac{P_3-P_2}{P_2}\right)+ ... $$

Nothing useful!

What you are looking actually to get is the continuous time return: $$\log\left( \frac{P_t}{P_0} \right) $$

which can be computed from:

$$\log \left(\frac{P_1}{P_0}\right) +\log \left(\frac{P_2}{P_1}\right) +\log \left(\frac{P_3}{P_2}\right)+ ... $$

But, to get this you need to take logs of (returns + 1).

Now, we can illustrate all this stuff with some Geometric Brownian Motion, which, as I hinted above, assumes that relative changes in asset prices are normally distributed:

$$dS_t=\mu S_tdt+\sigma S_t dW_t $$

Here I have found an example when the seemingly continuous-time return is even lower than -2.

data = RandomFunction[
GeometricBrownianMotionProcess[0, .1, 100], {0, 100, .001}];
ListLinePlot[data, Filling -> Axis, PlotRange -> All, 
ImageSize -> Large]

enter image description here

Log[data["Values"][[2 ;;]]/data["Values"][[;; -2]]] // Total


same as:


You need to be very careful how you interpret this result: -2.31902. It is the instantaneous return r multiplied by time t (in our case 100)

So, I can compute the the time t price by the formula:

$$S_t = S_0 e^{r t} $$

And it implies a smooth price journey like this:

enter image description here

You cannot use it to judge about the holding period return R.

$$R= e^{r t}-1 $$

which under our assumptions will never be below -1. In fact it will never reach -1.

I am generating 100,000 paths of SPX out to 1 year using Euler discretization. I look at how S is distributed for 100,000 paths at the 1 year point and I find it is log normally distributed I look at the distribution of the return of S for 100,000 paths between the two points S(0) and S(t), where t is 1 year, I find that the return is not normally distributed. The return is significantly left skewed. Shouldn't the return be normally distributed?



Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
or Discard

Group Abstract Group Abstract