Hi,
I need to generate distributions based on random numbers and calculate percentiles. The only difficulty is the application of the matrix multiplication (it is only 50x50 matrix multiplied with a 1x50 matrix).
Step 1: Read input parameters (two input parameters for 50 variables and 50x50 correlation matrix) and compute the Cholesky matrix (code is given but also easily available)
Step 2: Generate rand number from univariate distributions using the Mersene Twister algorithm (the VBA code is provided - C++ code is freely avaible only)
Step 3: Transform these to normally distributed variables
Step 4: Matrix multiply these with a given correlation matrix to obtain correlated numbers
Step 5: Re-transform these into probability space between zero and one (again the C++ code is easily available online)
Step 6: Use this numbers within the normal distribution model (it is the most well known distribution) based on the input parameters
Step 7: Read the percentiles from the rows/columns
I have done C++ in the past but am quite rusty. That is why I need help.
Attached is the Excel prototype explaining the details.
Looking forward to your answer.
Many thanks and kind regards,
Mustafa
Dear Sir..I am qualified IT-Engineer having expertise in c,c++ programming languages..I have excellent grip on matrices, determinants..I can take care of your need..Thank you..
Hello.
I can implement faster matrix multiplication as an improvement and calculate the total algorithm complexity.
I think the total solution can be solved in Matlab or in Excel.
Please consider my bid.