First off, apologies for the cross-post from mathematics, but I found this site later and think it would be a better fit for the question (besides, there has been no comments/answers on mathematics for a day)
I am trying to generate a series of correlated random numbers that represent currency exchange rates for a Monte-Carlo simulation. I am attempting to do this via a Cholesky decomposition of the correlation matrix, but the results I get at the end seem to be skewed and I'd like to check whether I was doing anything wrong.
My sample data is:
GBP:USD GBP:EUR 1.6154 1.2013 1.6152 1.2 1.6149 1.1972 1.6048 1.2025 1.6202 1.231 1.629 1.2003
I calculate the Standard Deviation of the two series as
0.012673 and the correlation between the two series as
I therefore get the correlation matrix of
XXX USD EUR USD 1 0.178 EUR 0.178 1
Perfoming the Cholesky decomposition on this gives me:
XXX USD EUR USD 1 0 EUR 0.178 0.984
Which I should be able to multiply by some random numbers to give me my correlated data.
I have some gaussian random numbers using the standard deviations calculated previously and USD mean =
1.623, EUR mean =
Scenario USD EUR 1 1.63032 1.19041 2 1.61846 1.15589 3 1.61724 1.18784 4 1.61679 1.17281
However multiplying the two together gives me:
Scenario USD EUR 1 1.842 1.171 2 1.824 1.137 3 1.829 1.169 4 1.826 1.154
The EUR values look OK, but all the USD values seem to be out by around 0.2. The input uncorrelated numbers look OK so have I done something wrong?