Skip to content
All library documents

Simulating Correlated GBM Prices from Log Returns

Article Quant Q&A · Author: Ryan J. Shrott

Summary

The document clarifies how to update stock prices when a sampled vector represents log returns over the target interval. For a return defined as the logarithm of the price ratio across that interval, exponentiating the sampled return and multiplying by the initial price gives the endpoint price. No additional time-step or square-root factor belongs in that update because the sampled return already covers the interval.

The discussion distinguishes interval returns from Brownian increments and from annualized model parameters. A standard normal draw used to represent a Brownian increment must be scaled by the square root of elapsed time to obtain the correct variance. In contrast, a constant continuously compounded rate enters an exponential return with elapsed time itself. The practical choice therefore depends on what distribution is being sampled: interval log returns, standardized shocks, or annualized quantities. The answer does not detail how to construct the multivariate covariance matrix or generate correlated normal shocks for the three stocks.

Key ideas

  • An interval log return updates price by exponentiation and multiplication by the starting price.
  • Do not rescale a sampled return that already represents the full target interval.
  • A standard normal used for a Brownian increment requires square-root-of-time scaling.
  • Annualized constant rates scale linearly with elapsed time in the exponential.
  • The return sampling convention determines which time scaling is appropriate.

Tags

Full text
# How to simulate 3 correlated stock processes following a GBM?


# How to simulate 3 correlated stock processes following a GBM?












Suppose we have 3 stocks following GBMs.

We are given the distribution of the daily log returns which is multivariate normal.

Suppose I want to sample the stock price tomorrow ($\Delta t = 1$ day), could I just sample a return vector from this distribution and then say that the stock price tomorrow is $S_0 \cdot \exp(r_\text{sample}\Delta t)$?

I've been arguing with my friend about this and he claims I should multiply by $\sqrt{\Delta t}$? I don't understand his argument.

Is there anything wrong with what I am doing here?

## Answer by Quantuple (score 1, accepted)

https://quant.stackexchange.com/a/27457

The log-return of a stock over a period $\Delta t $ starting at $t=0$ is defined as: $$ r_{\Delta t} = \ln \left( \frac{S_{\Delta t}}{S_0} \right) $$ Thus you should compute $S_{\Delta t}$ as $$ S_{\Delta t} = S_0 \exp ( r_{\Delta t} ) $$ when you are given the $\Delta t $-period log-return i.e. the one which you sample as you propose above. Thus no multiplication by $\Delta t $ or its square root whatsoever.

Maybe your confusion arises from the fact that in the BS equation we traditionally use continuously compounded rates: $$ \exp ( r_{\Delta t} ) = \exp \left( \int_0^{\Delta t} r (t) dt \right) = \exp ( r \Delta t ) $$ where the last equality holds when $r (t) = r $ a constant, and in which case you should use $\Delta t \approx 1/252$ to compute daily returns if you're using annualised quantities (which is usually the case)

## Answer by Richi Wa (score 1)

https://quant.stackexchange.com/a/27455

You mix up several things:

if you sample from Brownian motion, then $$ B_{t+\Delta t} - B_t $$ is normally distributed with variance $\Delta t$. Thus if you sample a standard normal $Z$ (with variance 1) then you can use $$ \sqrt{\Delta t} Z $$ as sample for $B_{t+\Delta t} - B_t$ in order to get the correct variance. Recall that constant factors enter variance with the squared value.

In your question: how do you sample $r$? And if $\Delta t=1$ then it does not matter at all whether you use $\Delta t$ or $\sqrt{\Delta t}$.

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.