1
$\begingroup$

I would like to generate conditional correlated random variables. I have a correlation matrix between normal variables, and these variables are modeled through SDEs.

What are the algorithms to generate such random values? One example I found is; http://www.mathworks.com/help/toolbox/econ/interpolate.html

$\endgroup$
2
  • $\begingroup$ What software do you wish to use for this? $\endgroup$
    – Michelle
    Commented Feb 11, 2012 at 6:05
  • $\begingroup$ I can use any software. As I point out Matlab does this, but I would like to learn the numerical method behind this method; ex how to do Brownian bridge on multivariate distrubution $\endgroup$
    – adam
    Commented Feb 11, 2012 at 22:01

1 Answer 1

3
$\begingroup$

You can generate correlated gaussian variables by computing the Cholesky decomposition of the variance matrix and multiplying independent gaussian variables with it. There was a similar question on Quant Stackexchange a few days ago.

To simulate the solution of a stochastic differential equation (SDE), you can just discretize it, i.e., consider it as a difference equation (this is called the "Euler scheme") and use the correlated brownian motion you want. In some cases, this is too imprecise, but it is possible to derive a second-order approximation of the SDE from Ito's formula (this is called the "Milstein scheme"; it is an analogue of the Runge-Kutta method). If you are using R, this is implemented (for instance) in the sde package and described in the accompanying book.

$\endgroup$
2
  • $\begingroup$ Yes I know with Cholesky you can simulate correlated random variables. Here the issues is after having a sample of N variable by length T samples, how can I interpolate/conditional sample between the already produced samples $\endgroup$
    – adam
    Commented Feb 11, 2012 at 22:00
  • 1
    $\begingroup$ If it is just a brownian motion, and not a general SDE, you can multiply the sample you already have by the inverse of the Cholesky matrix: this gives you a sample from N independent brownian motions. You can then interpolate them separately (these are independent brownian bridges), and multiply the result by the Cholesky matrix. $\endgroup$ Commented Feb 11, 2012 at 23:53

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.