MM_SIMCOPULA function

Returns a matrix of quantiles generated by a given copula. Describes the dependence structure between random variables.

Written By Nikolas Ethoré (Super Administrator)

Updated at November 24th, 2021

Description

Returns a matrix of quantiles generated by a given copula. Describes the dependence structure between random variables. 

Syntax

=MM_SIMCOPULA("CopulaName", NbCop, CorrelationMatrix, [CopulaParameter])
  • CopulaName
    String. Name of the copula you want to simulate. See the MM_COPULASLIST function to check the list of all supported copulas. 

  • NbCop
    Dimension size of the copula or number of random variables to be generated. 

  • CorrelationMatrix
    Range which contains a square correlation matrix of order NbCop. Only used for Gaussian and Student's t copulas. Input an arbitrary number if you use copulas that does not require a correlation matrix.

  • CopulaParameter (optional/required depending on the chosen copula)
    Parameter of the copula. Not used for Gaussian copula.

Remarks

  • Warning: To create a d-dimensional copula in Excel, you have to use the MM_SIMCOPULA with NbCop equal to in an array formula of size by using Ctrl+Shift+Enter. 

  • If you have probability distribution functions in your model (MM_CDF, MM_PDF,...) and/or added cells in the DC manager, you can directly define copulas in Mind without using MM_SIMCOPULA. See the article about copulas

  • It is best to not use formulas that call the quantiles generated other than the probability distribution functions from MMforExcel. Indeed, Mind dissociate the copula from the MM_SIMCOPULA function and the copula that links the random variables which uses the probability distribution functions (MM_CDF, MM_PDF, MM_InvCDF, ...). The reason is that you can then change easily the parameters of your copula in the DC manager. Best practice is to define your copula in Mind. The drawback is that you cannot visualize it in Excel.

  • + See with Marki, so do we delete or not the MM_SIMCOPULA matrix because I still see it ? ---if so, change the remark above

  • + remark about copula appearing only if we use a DC functions. But now I still see MM_SIMCOPULA matrix alone... (?)

Example 1: Bi-dimensional Gaussian copula

Let us simulate a bi-dimensional Gaussian copula. Below are specified the parameters CopulaName, CorrelationMatrix and CopulaParameter (in this specific case, it is optional to input CopulaParameter). 


Array formula: {=MM_SIMCOPULA(CopulaName,2,CorrelationMatrix,CopulaParameter)}
These arguments are used in the array formula to generate two quantiles. In this example, we used Excel names for better readability.


To visualize the copula in Mind, use a distribution function which calls the generated quantiles. We use the MM_InvCDF function to calculate the value of the two random variables from the quantiles q1 and q2. In this example, we chose a normal distribution and a continuous uniform distribution.


The below plot of the quantiles shows the dependence structure of the Gaussian copula (nbSimulations = 1000).

Example 2: Bi-dimensional Clayton copula

The only difference with the first example are the arguments in the MM_SIMCOPULA function. Notice that you can put a number in the CorrelationMatrix parameter as the Clayton copula does not require a correlation matrix. However, you must input a value because empty parameters are not accepted.

Array formula:
{=MM_SIMCOPULA("Clayton",2,0,10)}


The below plot of the quantiles shows the dependence structure of the Clayton copula (nbSimulations = 1000).