# Monte Carlo Simulation and log Returns

Posted 3 years ago
4548 Views
|
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
Sort By:
Posted 3 years ago
 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.
Posted 3 years ago
 Easy to do!
 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] Log[data["Values"][[2 ;;]]/data["Values"][[;; -2]]] // Total -2.31902 same as: Log[data["Values"][[-1]]/data["Values"][[1]]] 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: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.