I have two geometric Brownian motions (GBMs) driven by the same underlying Brownin motion, namely \begin{align*} S_t^1 = S_0^1\exp\left(\left(\mu_1 - \frac{\sigma_1^2}{2}\right)t + \sigma_1 W_t\right), \\ S_t^2 = S_0^2\exp\left(\left(\mu_2 - \frac{\sigma_2^2}{2}\right)t + \sigma_2 W_t\right). \end{align*}

The theoretical correlation between these two processes at time $t$ is $$ Corr(S_t^1, S_t^2) = \frac{\exp(\sigma_1 \sigma_2 t) - 1}{\sqrt{(\exp(\sigma_1^2t) - 1)(\exp(\sigma_2^2t) - 1)}}. $$

For example, letting $\sigma_1 = 0.15$ and $\sigma_2 = 0.1$, a plot of $Corr(S_t^1, S_t^2)$ for $0 < t \leq 10$ looks like GBM Correlation Plot

A simulation of the processes $S_t^1$ and $S_t^2$ over $0 \leq t \leq 10$ using the same $\sigma_1$ and $\sigma_2$ and letting $\mu_1 = 0.02$, $\mu_2 = 0.1$, $S_0^1 = 30$ and $S_0^2 = 40$ looks like GBM Simulation Plot

However, when I use the MATLAB function corr(S_1, S_2) I get that the correlation from this particular time series is corr(S_1, S_2) = 0.6428.

So there are these interpretations of correlation: the correlation of two random variables at a given time, given by $Corr(S_t^1, S_t^2)$, and the correlation of two time series, computed by corr(S_1, S_2). I'm trying to reconcile the difference between the two, and I'd appreciate a solid explanation!

  • $\begingroup$ Your computation of theoretical corr is fals. The correlation between Brownian should appear. $\endgroup$ – AFK May 31 '15 at 8:34
  • $\begingroup$ @AFK I've assumed the processes are driven by the same Brownian motions, so their correlation is identically 1. I appreciate the eagle eyes! $\endgroup$ – bcf Jun 1 '15 at 19:59

The second one is not a correlation at all. For correlation you need to have several realizations of the very same thing, that is several observations of the very same random variable, hence all of the realization must be drawn from the same distribution. The series $S_i$ is not an observation of the very same random variable, since it contains asset values for different times, hence of course different distribution. To compute empirical correlation, just sample both time series several times up to moment $t$ and only take the last obtained value to compute the correlation.


The answer provided by Ulysses is basically correct. For a particular time $t$, the correlation at $t$ is the "term correlation", which can be computed by realizations at time $t$.

The time series generated from the two processes can not be used to estimate the term correlation. However, they can be used to estimate the correlation between the driving Brownian motions, based on the log-returns. Note that the log-returns lead to increments of the driving Brownian motions, which are assumed to be independent, and the log-return of the historical values can be treated as independent realizations.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.