When calculating the correlation between two assets, what is the appropriate transform before taking the correlation?

  1. PChg = (P2/P1) - 1.0
  2. LChg = Log(P2) - Log(P1)
  3. x = Log(P2)

where P2 is the newest price and P1 is the previous price of the asset in question.

Also, is the answer just a matter of convention or is there a statistical/mathematical/computational reason we would prefer one over the other two?

As I understand it, we need some kind of transform first, because prices are non-stationary.

I think 1. makes sense, but I've read/heard that 3. is sufficient for correlation calculations.

Is this right? Even if it is, can someone rigorously explain why 3. is appropriate/sufficient?

  • $\begingroup$ Only 1. or 2. will work. If you use 3. you have (for stationarity) to use first differences of x, which reduces to case 2. $\endgroup$
    – nbbo2
    Oct 6, 2020 at 9:57
  • $\begingroup$ In the Portfolio Theory literature, they use 1. (for example to calculate the correlation matrix for mean variance optimization). In the Options literature (for example to calculate the "correlation triangle" between 3 currency pairs ) they use 2. $\endgroup$
    – nbbo2
    Oct 6, 2020 at 10:01

1 Answer 1


It depends how you plan on using the correlation you calculate.

If you plan on simulating the assets using some model, and you want to sample the returns to estimate the correlations, then you need to invert your model and calculate the random numbers underlying the samped data.

Take a pair of underlyings which you decide are lognormal. In this case you would simulate them using the following:

$$ S_{t_i} = f(S_{t_{i-1}}, r, \sigma, \Delta t, \tilde{X}_{t_i}) = S_{t_{i-1}} e^{(r-\frac{1}{2}\sigma^2)\Delta t + \sigma\sqrt{\Delta t}\tilde{X}_{t_i}} $$

So, if we have the time series of $S_t$, then we can invert the above:

$$ \tilde{X}_{t_i} = f^{-1}(S_{t_i}, S_{t_{i-1}}, r, \sigma, \Delta t) = \frac{\ln \left( \frac{S_{t_i}}{S_{t_{i-1}}} \right) - (r-\frac{1}{2}\sigma^2)\Delta t}{\sigma\sqrt{\Delta t}}$$

to give you a time series of random variables, as implied by a. the series of prices, and b. the model you've chosen. You can do the same for any model you choose to use.

You can then measure the correlation between these implied random variables, and then use the same correlation to generate more to simulate your new time series.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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