Skip to content
All library documents

Correlated Brownian Motion and Correlation in GBM Stock Prices

Article Quant Q&A · Author: Kurt

Summary

The discussion asks whether correlated Brownian motions are an appropriate way to simulate correlated geometric Brownian motion (GBM) stock prices. It describes using a Cholesky decomposition to generate Brownian drivers with a chosen correlation matrix, then using those drivers in GBM equations. The questioner calculates price-level correlations over time and worries that they do not remain equal to the Brownian correlation, particularly at long horizons.

The replies endorse Cholesky-based correlation for simulated Brownian increments or log returns, and one points out a missing time factor in the question’s covariance expression. Another cautions that correlations should be estimated and applied to the same modeled quantity, and notes that estimated dependence can vary with the data window and market conditions. The exchange offers no full derivation or empirical comparison of alternative models. Its key modeling distinction is between correlation of Brownian drivers or returns and correlation of price levels; these are not interchangeable targets.

Key ideas

  • Cholesky decomposition can impose a specified covariance structure on simulated Brownian drivers.
  • In the GBM setup, the relevant dependence is applied to the Brownian increments that drive log returns.
  • A covariance expression in the question omits the time factor in its exponential term.
  • Price-level correlation and return correlation are distinct quantities, and the modeling target should be specified.
  • Estimated correlations can depend on the sample window and prevailing market conditions.

Tags

Full text
# What's the correct choice for modeling correlated stock prices?


# What's the correct choice for modeling correlated stock prices?












Let's assume we're happy with simulating $n$ stocks as geometric Brownian motion (GBM). But say we also want the prices to be correlated.

When I searched around for how to construct correlated paths, the typical strategy was to generate paths of Brownian motion with specified correlations, and then use those paths to construct GBM.

However, my calculations (and simulations) show that the correlation of the GBM is not the same as the correlation of the underlying Brownian motion, and the GBM correlations go to zero as time goes to infinity. This doesn't make much sense to me from a modeling perspective.

So in summary, is it even reasonable to use correlated Brownian motion to construct GBM, or would it make more sense in terms of modeling to somehow construct GBM paths with a constant and specified correlation coefficient?

Or did I just mess up with the analysis?

Please let me know if something isn't clear. Thanks.

EDIT: I understand how to create correlated paths of Brownian motion, specifically using the Cholesky decomposition. Here's what I know:

Say $\Sigma$ is a correlation matrix, and $LL^T$ is its Cholesky decomposition. Let $B(t)$ be $d$-dimensional Brownian motion. Then $L B(t)$ is also $d$-dimensional Brownian motion, and Corr$(B_i(t),B_j(t)) = \rho_{ij}$, where $\rho_{ij}$ is the $(i,j)$ element of the correlation matrix $\Sigma$.

Let $$X_i(t) = \mu_iX_i(t)dt + \sigma_i X_i(t)[LB(t)]_i$$ where $[LB(t)]_i$ is the $i^\text{th}$ element of $LB(t)$. Since we know that $[LB(t)]_i$ is Brownian motion, we know that $X_i(t)$ is geometric Brownian motion.

Here's the issue: Let's look at Corr$(X_i(t),X_j(t))$. We can use the result here to get Cov$(X_i(t),X_j(t))$. It says that $$\text{Cov}(X_i(t),X_j(t)) = X_i(0)X_j(0)e^{(\mu_1+\mu_2)t}\left(e^{\rho_{ij} \sigma_i\sigma_j}-1\right)$$

To get the correlation of the GBM paths, use the above fact and that $$\text{Var}(X_i(t))=X_i(0)^2 e^{2\mu_i t}\left(e^{\sigma_i^2 t}-1\right)$$

Thus we have $$\text{Corr}(X_i(t),X_j(t)) = \frac{e^{\rho_{ij}\sigma_i\sigma_j t}-1}{\sqrt{\left(e^{\sigma_i^2t}-1\right)\left(e^{\sigma_j^2t}-1\right)}}$$

Then (I am pretty sure this is always true) $$\lim_{t\to\infty}\text{Corr}(X_i(t),X_j(t)) = \begin{cases} 1, i=j\\ 0, i\neq j \end{cases} $$

To me at least, this isn't what we want. We would rather have the correlation be constant.

Let's instead try to get correlated GBM by using $$L X_t$$ where $X_t$ is $d$-dimensional GBM, and the 1D components are independent. There issue here is that I don't think $L X_t$ is GBM. In other words, the sum of independent GBM's is not GBM. We could try taking the product of correlated GBM's, but I haven't gone down that road yet. And before I do, I wanted to post this question.

## Answer by CFW (score 2)

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

The standard approach for simulating correlated random numbers would be via a Cholesky decomposition (see e.g. Wikipedia on Cholesky decomposition).

For a more specific answer, please provide more information on your approach.

## Answer by millovanovic (score 2)

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

Using correlated Brownian motions (Wiener processes) to construct GBMs should result in those GBMs having the same correlation structure as the used Brownian motions.

There are answers on how to construct correlated Brownian motions here, and, if you prefer to see more analysis, here.

Update: As for the analysis I can see a mistake where $t$ is dropped in your covariance definition. It should be $$\text{Cov}(X_i(t),X_j(t)) = X_i(0)X_j(0)e^{(\mu_1+\mu_2)t}(e^{\rho_{ij}\sigma_i\sigma_j{\color{red}t}}-1),$$ where the missing term is marked in red.

## Answer by berkorbay (score 1)

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

As CFW noted, one popular way of simulating stocks with GBM returns is Cholesky decomposition. If you have a covariance matrix, you can use it. Else you can use past prices to construct one. You can find example R code here.

But if I understand your question correctly you use one distribution to derive correlations and use another to simulate a correlated stock mechanism. That might not be ideal. Harder to explain and justify. Yet if its predictions fit consistently and sustainably, that's all you need.

Some additions to my answer after the last edit.

1) Cholesky decomposition method works with log-returns following BM (or practically normal distribution). At least, this is the most basic case. Not returns, not price levels. You can then rearrange the log-returns to price levels.

2) If you want to estimate the correlations the longer the data the weaker correlation you are going to get. It is actually hard to account for some solid level of correlation for some random processes (as admitted by BM) such as price log-returns. It severely depends on the experimental setting. It is also valid for volatility value. You can get a somewhat stationary long term volatility but it might be of no use to you for pricing fixed term contracts (i.e. options) because current market conditions.

3) There is a method called Graphical LASSO. Perhaps you can use it. Some research on it can be found here and other questions in SE.

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.