Skip to content
All library documents

Simulating Lagged Correlation Between Geometric Brownian Motions

Article Quant Q&A · Author: Willart

Summary

The document distinguishes the instantaneous correlation produced by a standard Cholesky-based simulation from cross-correlation at a nonzero lag. It describes simulating one geometric Brownian motion with normal shocks, then constructing the second process so its shock combines a lagged shock from the first process with an independent normal shock. The lag is specified in time steps, and the mixing weight controls the intended correlation at that lag.

This provides a simple way to introduce a chosen lagged relationship into simulated increments. The response also suggests applying a lag after simulating correlated processes, and mentions Kalman filtering when noisy observations require estimation of hidden states or errors. The account is schematic: it does not discuss initialization for the lagged shocks, verify the resulting full cross-correlation pattern, or provide an empirical validation procedure. Care is also needed to keep the increment scaling consistent with the GBM time step when implementing the formula.

Key ideas

  • Cholesky decomposition specifies instantaneous correlation between simulated shocks.
  • A lagged relationship can be introduced by reusing an earlier shock from the first process.
  • An independent normal shock supplies the unshared component of the second process.
  • The desired lag is represented in time steps, and implementation requires consistent time-step scaling.
  • Kalman filtering may be relevant when observations contain noise and hidden states must be estimated.

Tags

Full text
# Simulating correlated Geometric Brownian Motion with lag


# Simulating correlated Geometric Brownian Motion with lag












I know that it is possible to simulate two correlated GBM in e.g. Matlab (Generating Correlated Asset Paths in MATLAB) based on cholesky decomposition. However, they take as input the correlation matrix, which from my understanding is just the Pearson correlation coefficient. However, if I look at correlation between two time series, cross-correlation is the correct measure. This also results in a lag. Is it possible to incorporate the lag into the simulation of the correlated GBM?

## Answer by João (score 1)

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

cholesky decomposition will just give you the instantaneous correlation

Did a project more or less the same last year.. see if it´s okay for you

- Simulate normally:

$$ \log S^{(1)}_{t+\Delta t} = \log S^{(1)}_t + \left( \mu_1 - \frac{1}{2} \sigma_1^2 \right) \Delta t + \sigma_1 \sqrt{\Delta t} \cdot Z_t $$

- Create the 2nd GBM with lagged correlation to GBM 1:

- First, define a lag ( L ) in time steps.

- Use the Brownian increment from GBM 1 with a lag:

$$ \log S^{(2)}_t = \log S^{(2)}_{t-\Delta t} + \left( \mu_2 - \frac{1}{2} \sigma_2^2 \right) \Delta t + \sigma_2 \left( \rho Z_{t-L} + \sqrt{1 - \rho^2} \cdot \varepsilon_t \right) $$

Where:

- $Z_{t-L}$ is the lagged standard normal shock from GBM 1

- $\varepsilon_t \sim \mathcal{N}(0, 1)$, independent

- $\rho$ is the desired cross-correlation at lag $L$

Now if you have noisy data and want to estimate hidden states or errors in the GBMs use kalman filters, if not it will just be an overkill..

## Answer by Xiaohuolong (score 0)

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

If I am understanding your question correctly, maybe you can simulate two correlated GBM's and then apply the lag manually afterward.

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.