Hi all, figured I might start with a question that isn't directly related to trading forex.

How do I generate normal random variables (3 or more) that are aribtrarily correlated?

The method that MATLAB seems to use, namely:

1. Generate uncorrelated random normal observations.

2. Define correlation matrix.

3. Find Cholesky decomposition L.L^T of the correlation matrix.

4. Multiply the uncorrelated data by L

doesn't work too well with an arbitrary correlation matrix, as no element (barring the main diagonal) is required to be positive, or even non-negative.

So, with that out of the way, how would I go about generating random variables of arbitrary correlation?

How do I generate normal random variables (3 or more) that are aribtrarily correlated?

The method that MATLAB seems to use, namely:

1. Generate uncorrelated random normal observations.

2. Define correlation matrix.

3. Find Cholesky decomposition L.L^T of the correlation matrix.

4. Multiply the uncorrelated data by L

doesn't work too well with an arbitrary correlation matrix, as no element (barring the main diagonal) is required to be positive, or even non-negative.

So, with that out of the way, how would I go about generating random variables of arbitrary correlation?