Copulas in ModelRisk | Vose Software

Copulas in ModelRisk

See also: Vose Bivariate Copula, Vose Multivariate Copula, ModelRisk functions, Modeling correlation introduction

Copula windows in ModelRisk

Generating random values from a copula

- Bivariate copula window
- Multivariate copula window

- VoseCopulaBiClayton
- VoseCopulaBiFrank
- VoseCopulaBiGumbel
- VoseCopulaBiNormal
- VoseCopulaBiT

- VoseCopulaMultiClayton
- VoseCopulaMultiFrank
- VoseCopulaMultiGumbel
- VoseCopulaMultiNormal
- VoseCopulaMultiT

Generating random values from a copula fitted to data. Professional and Industrial editions only

- Bivariate Copula Fit window
- Multivariate Copula Fit window

- VoseCopulaBiClaytonFit
- VoseCopulaBiFrankFit
- VoseCopulaBiGumbelFit
- VoseCopulaBiNormalFit
- VoseCopulaBiTFit

- VoseCopulaMultiClaytonFit
- VoseCopulaMultiFrankFit
- VoseCopulaMultiGumbelFit
- VoseCopulaMultiNormalFit
- VoseCopulaMultiTFit

Parameter(s) of a copula fitted to data. Professional and Industrial editions only

- VoseCopulaBiClaytonFitP
- VoseCopulaBiFrankFitP
- VoseCopulaBiGumbelFitP
- VoseCopulaBiNormalFitP
- VoseCopulaBiTFitP

- VoseCopulaMultiClaytonFitP
- VoseCopulaMultiFrankFitP
- VoseCopulaMultiGumbelFitP
- VoseCopulaMultiNormalFitP
- VoseCopulaMultiTFitP

Constructing an empirical copula from data. Professional and Industrial editions only

- Vose Empirical Copula window

- VoseCopulaData

Copulas offer a tool for correlating two or more random variables together without changing the shape of the random variables' distributions themselves.

For example, a scatter plot of a Normal(100,10) and a Weibull(2,3) distribution with no correlation looks as shown in panel 1. By using the Clayton(10) copula variables U1 and U2 (shown in panel 2) as the U parameters for Normal(100,10) and a Weibull(2,3) distributions we produce the correlation pattern shown in figure 3:

Note that the marginal distributions are unchanged meaning, for example, that the data generated for the Normal variable will still follow a Normal(100,10) distribution. ModelRisk provides the choice of correlating two or more variables using all of the most common copulas, allowing you great flexibility in building correlation structures. You can also fit copulas directly from a data set and compare the level of fit for each tested copula using information criteria.

Copulas are a very important technique for modeling correlation in finance and insurance risk problems. The rank order correlation employed by most Monte Carlo simulation tools is a useful measure of dependence because it is easy to estimate from data and maintains the marginal distributions of the correlated variables. However, it offers a fixed correlation pattern and is not a probability model, so cannot be compared with other correlation patterns with statistical analysis.

See the Copulas topic for an in-depth explanation of the theory behind copulas.  

The functions for fitting copulas are explained in the Copula fitting functions topic.

Example: correlating variables with a bivariate copula

In ModelRisk, copulas are used to control the sampling of univariate distributions via the optional U-parameter. The general syntax for generating random values from a bivariate, respectively multivariate copula is:



where Name is replaced by the name of the copula.

  • [parameters] - the copula's parameters, separated by commas (if there are more than one)

So for example, to generate a normal(0,1) and a beta(2,1) value correlated by a Clayton(3) copula, you would do the following:

  • Select the A1 and B1 spreadsheet cells.

  • Type =VoseCopulaBiClayton(3) in the Excel formula bar and press CTRL+SHIFT+ENTER - Excel now inserts this as an array function over the two selected cells, indicated by curly brackets. Two random samples from the copula are generated.

  • Insert =VoseNormal(0,1,A1) in the cell A2, and =VoseBeta(2,1, B1) in the cell B2. The cell references are U parameters that refer to the copula values generated in the first cell.

  • Now the A2 and B2 cell contain random values correlated by the copula.

Types of copulas available in ModelRisk

The Clayton copula produces a tight correlation at the low end of each variable;

The Frank copula produces and even, sausage shaped correlation across the range of the variables;

The Gumbel copula produces more correlation at the two extremes of the correlated distributions but has its highest correlation in the maxima tails;

The Normal copula produces an elliptically shaped correlation;

The T (or Student) copula produces a star-shaped copula for low nu with its highest density on the main diagonal, transitioning towards a Normal copula for high values of nu (30+).

Also see the example models VoseCopula - Correlating with Copulas.xls and VoseCopulaData.xls

Direction of a copula

The three Archimedean copulas in ModelRisk exhibit positive correlation.  In the multivariate versions of these copulas the positive correlation pattern must be maintained. However, for a bivariate copula we have the flexibility to rotate these copulas over 90, 180 or 270 degrees. Therefor bivariate copula functions have a direction parameter when appropriate.

The motivation and implementation of the copula direction parameter is explained here.