bismack

52 Reputation

2 Badges

18 years, 107 days

MaplePrimes Activity


These are answers submitted by bismack

Thanks acer and Axel. I've looked at some introduction on Rank Order Coefficient, but can't find any articles that explain how to use it to generate random variables with correlations. But I am sure this method will work because the software(Risk 4.5) I've used ultilizes this method to generate correlated random numbers.

To Axel: It looks like you are in the financial engineering area. The random number generating program I am working on is a part of portfolio optimization software for long term portfolio management. 20 asset classes in fact are a little bit more than what I need , but 15 for sure. The purpose of random number generation is to simulate 15-20 asset classes that correlate with each other. I've ran the distribution fit for historical return data (10 years' monthly return data) for those asset classes and got corresponding best fitted PDFs. The correlation matrix was also gotton from the same historical data as well. But I don't know how to generae random numbers based on those best fitted PDFs whle make them correlated with each other based on the  correlation  matrix  I got.

Like you said, return distribution and correlation matrix change over time. I haven't find better way to deal with this issue except using long term historical data to predict long term future data. I might add prediction to change the PDFs and correlation matrix, but I don't know whether this method will increase the simulation error.

Sorry I didn't describe the problem well. I am writing program to simulate an optimized portfolio. I've known that there are 20 asset classes with certain return distributions( or 20 ramdom variables with 20 different  distribution because each asset class is different from each other). I also know those 20 ramdom variables are correlated with each other, and I decirbe these relationship in a 20*20 correlation matrix. The ultimate goal is to generate 20 ramdom variables with 20 different  distributions and with a given 20*20 correlation matrix for 10000 iterations.

I hope this time I explain the problem clearly.

 

Thanks acer. I think I understand how to generate random number with distributions by Inverse Transformation Method. But I still don't understand the underlined part of what JacquesC mentioned: Here you'll want to generate random vectors of length 20 and then first use the inverse of that 20*20 correlation matrix before using the inverse CDF.  Do I just dot product a randomly generated 1*20 vector with standard uniform distribution by the inverse of the given 20*20 correlation matrix?

Thanks! But I don't get it, could you be more specific?

Thanks! Could you further tell me know to generate those random numbers with a 20*20 correlation matrix?

Page 1 of 1