So I'm trying to simulate currency movements for several currencies with a given correlation matrix. I have the initial price, drift and volatility for each of the separate currencies, and I want to simulate their prices against USD with correlations following the matrix. I'm doing this in Excel. I read somewhere that multiplying a vector of independent GBMs with the Cholesky decomposition of the correlation matrix gives the required result, but doesn't work.
Any help?
Answer
Yes, you need Cholesky factorization.
You can find the general idea here:
http://www.goddardconsulting.ca/option-pricing-monte-carlo-basket.html
Plus the implementation in MATLAB here:
http://www.goddardconsulting.ca/matlab-monte-carlo-assetpaths-corr.html
The code in general should be easily translatable. The only difficulty is the Cholesky factorization where VBA code can be found here:
http://vbadeveloper.net/numericalmethodsvbacholeskydecomposition.pdf
No comments:
Post a Comment