# How to simulate correlated stock prices (not returns)

Suppose we have two stocks following GBMs. Drift and volatility are calculated based on historical data. Furthermore the stocks are assumed to be correlated (i.e. they move together, if stock 1 goes up, stock does also). How can I actually simulate their future stock prices so that they stay together? For return I would use Cholesky Decomposition, but since I'm looking directly at price levels and not returns I doubt that would be correct.

For two GMBs $$S_i(t)=S_i(0)e^{(r-\delta_i)t+\sigma_i W_i(t)-\sigma_i^2 t/2}\,,\quad i=1,2$$ with $${\rm Corr}[W_1(t),W_2(t)]=\rho\,t$$ we have \begin{align} \mathbb E\left[S_i(t)\right]&=S_i(0)e^{(r-\delta_i)t}\,,\\[2mm] \mathbb E\left[S_i^2(t)\right]&=S_i^2(0)e^{2(r-\delta_i)t+\sigma_i^2t}\,,\\[2mm] {\rm Var}\left[S_i(t)\right]&=S_i^2(0)e^{2(r-\delta_i)t}\left(e^{\sigma_i^2t}-1\right)\,,\\[2mm] \mathbb E\left[S_1(t)S_2(t)\right]&=S_1(0)S_2(0)e^{(2r-\delta_1-\delta_2)t+\sigma_1\sigma_2\rho\,t}\,,\\[2mm] {\rm Cov}\left[S_1(t),S_2(t)\right]&=S_1(0)S_2(0)e^{(2r-\delta_1-\delta_2)t}\left(e^{\sigma_1\sigma_2\rho\,t}-1\right)\,. \end{align} Therefore, $$\boxed{{\rm Corr}\left[S_1(t),S_2(t)\right]=\frac{e^{\sigma_1\,\sigma_2\,\rho\,t}-1}{\sqrt{e^{\sigma_1^2t}-1}\sqrt{e^{\sigma_2^2t}-1}}\,.}$$ Obviously, the correlation of $$S_1$$ and $$S_2$$ is increasing/decreasing/positive/negative when $$\rho$$ is increasing/decreasing/positive/negative. In other words: for all practical purposes the correlation of the returns, $$\rho$$ is as good as the correlation of the stocks. I am of the opinion that there is no time series of historical data that will tell you what the true correlation is.