Copulas - a Gateway to Risk Aggregation and Predictive Analytics
Risk aggregation and the grade of diversification are pretty important parameters in handling an investment portfolio. The evolving of cluster risks or the hedging capabilities among single risk items within a portfolio are to be identified, constantly monitored and actively handled in order to achieve proper investment positions in the market — in due time, of course.
This requires specific instruments, not only to achieve an accurate risk aggregation, but also to incorporate the predictive “foresight” in the investment management process.
In this article, we have a look into the working of Copulas, a great statistical modelling tool to setup, model and simulate investment portfolios. The latter is especially useful to open up investment decisions to predictive perspectives.
What exactly is a Copula?
Imagine some long-positions in three different stocks, maybe real estate shares.
How do we measure the aggregated risk impact evolving from these stock positions? How can we estimate the possible development of one stock position depending on how the other two stock positions are moving? Even, as we have a clear picture of the dependence structure among those shares, does it mean, that those shares behave always in the same way?
To be able to understand the common behaviour of all three stocks, we need to understand the behaviour of each single stock position and we need a tool which — given the dependence structure between those single stocks — combines those single patterns in a stochastic way.
We need something which combines these single risk items to the big picture. In other words, we need a Copula.
In simple terms, a Copula is some kind of umbrella which allows us to combine the univariate distribution function of investment items (e.g. the single behaviour of shares) and the dependence structure between those investment items in order to form a joint distribution function (i.e. the common behaviour of all investment items in a portfolio together) for the purpose of aggregating risk exposures and simulating potential future developments of investment portfolios.
This is postulated in the Sklar’s Theorem (a central theorem of Copula Theory) stating that Copulas are those functions which combine the univariate distribution functions F_1, …, F_d (called marginals) to form the d-dimensional (or joint) distribution function H.
H(x) = C(F_1(x_1), ..., F_d(x_d)), x element R^d
H ... joint distribution
C ... Copula
F ... marginal distribution
What makes this approach so powerful is that in developing the common behaviour, the modelling of the Copula and the modelling of the univariate distributions can be done separately without losing the relationship among the variables (i.e. the dependence structure).
Keeping the Dependence Structure
Let’s keep this sinking in and once more repeat what was said before. In order to
get a joint distribution
the modelling of the Copula, and
the modelling of the marginal distributions
can be done separately
without losing the dependence structure
Showing this in an easy example, we assume that there is a sample of datapoints generated by a bivariate Student’s t-distribution.
Checking the marginal distributions of x1 and x2 and their dependency structure, we face the following situation:
Both marginals are t-distributed and based on the covariance matrix in the code above, the correlation between the two variables is around 0.66.
What we can do now, and that is the really interesting part, is a probability transformation of the data sample:
with the following result:
The marginals were transformed into uniform distributions while the dependence structure (represented by the correlation amounting to 0.66) stayed the same.
In this way, we have a model for the dependence structure which is separated from the modelling of the marginal distributions.
Hence, we are able to attach marginal distributions to the dependence structure however we see it suitable for the task at hand. This is achieved by performing a quantile transformation.
In this example, we attach a gamma-distribution and an exponential-distribution to the structure.
And as you can see, we get new marginal distributions with a new set of data points. Though, the dependence structure stays the same.
This basic principle gives a lot of flexibility to develop the right model for any investment/ risk situation. That is why Copulas are such a powerful tool.
Modelling of Copulas
As with the marginal distributions, also a Copula can be modelled in various different ways depending on the data structure at hand.
Doing this separately from the marginal modelling process makes the whole structure very adaptable and efficient.
Here are examples of 4 different types of bivariate Copulas, all having
the same dependence structure (Kendall’s tau = 0.55)
the same marginals, i.e. normal distributions,
beginning with a Normal Copula and a t Copula:
following up with a Clayton Copula and a Gumbel Copula:
One can clearly see how different types of Copulas cover different types of data structures.
We mentioned above that Copulas combine common behaviour of single investment/ risk items in a stochastic way.
What this means is that there is no single point of solution in defining a certain investment position respectively a specific risk exposure. Instead, Copulas hint to certain areas which represent a certain probability of materialisation of exactly those positions/ exposures.
In other words, one gets a zone of possible solutions weighted by certain probabilities. These zones are marked-off by the type of copula respectively by the class of copula family being in use.
In this way, the red points in the graph above represent all data points which are below the 5th resp. above the 95th quantile in both of the marginal distributions in order to give an idea of the common tail zones in each Copula.
The shape of the Copula itself also changes with the alteration of the dependence structure.
Here, for instance, is a bivariate Normal Copula with a rather low-grading dependence structure (Kendall’s tau = 0.4):
and here is one with a rather high-grade dependence structure (Kendall’s tau = 0.95):
There is a remarkable variety of Copula classes. In fact, there are Elliptical Copulas, Archimedean Copulas or Extreme Value Copulas. But this is by far not enough. Copulas can be rotated or a hybrid out of different copulas can be created (the latter via Khoudraji’s Device resp. in the form of Khoudraji Copulas) and make things even more flexible.
Let’s have a look at this mixing up of copulas in an example:
This example gives a notion of the variety of shapes which can be developed incorporating Khoudraji’s Device. The approach as shown here is used to e.g. construct non-exchangeable Extreme-Value Copula families.
Needless to say that this is just a very shallow insight into the field of Copulas, a slight taste if you wish, but it highlights the range of possibilities this tool gives in the investment management process.
Used properly, Copulas are an indispensable device to create accurate risk exposures and to simulate the probable future behaviour of respective investment positions.
It gives decision makers the necessary support to be able to act in due time, i.e. acting on potential upcoming unfavourable events, detecting evolving market opportunities, but in any case being faster than the competition.
Copulas are especially suitable when talking about predictive analytics in the mid- to longrun or when the data frequency is too low compared to what is needed in machine learning applications.
What we did not touch so far is the sphere of conditional Copulas, conditional GARCH Copulas, Vine Copulas and similar. It is another evidence of the variety in Copula applications and will be touched in another article.
All examples are run in R.
Code snippets and plot by author - programming of Khoudraji device guided by Marius Hofert et.al.
Elements of Copula Modeling with R by Marius Hofert, Ivan Kojadinovic, Martin Mächler and Jun Yan, Springer Verlag (2018)
Modelling Dependence with Copulas in R by Michy Alice, published in datascience+/ April 28, 2017
Financial Analytics Using R by William G. Foote, published at own homepage/ January 09, 2018
Simulation and estimation from conditional copula models by Alexis Derumigny, published in The Comprehensive R Archive Network/ n.a.
The Copula GARCH Model by Marius Hofert, published in The Comprehensive R Archive Network/ January 1, 2013
How to fit a copula model in R, Part 1: basic tools by Mic, published in The Beginner Programmer/ March 13, 2016
How to fit a copula model in R, Part 2: fitting the copula by Mic, published in The Beginner Programmer/ March 29, 2016
Enjoy the Joy of Copulas: With a Package copula by Jun Yan, published in Journal of Statistical Software/ October 2017
Simulating from a Bivariate Caussian Copula by F. Javier Rubio, published in RPubs/ October 21, 1019
Copulas by Joao Neto, published in http://www.di.fc.ul.pt/~jpn/r/copula/index.html / October 2015
Simulating Correlated Data by Thomas Ward, published at own homepage/ April 26, 2021
Time Series Modeling of Financial Data with R by Prof. Daniel P. Palomar, published in https://palomar.home.ece.ust.hk/MAFS6010R_lectures/Rsession_time_series_modeling.html#multivariate_garch_models/ Fall 2019–2020
Introduction to Vine Copulas by Nicole Krämer & Ulf Schepsmeier, Technische Universität München published in https://www.math.cit.tum.de/math/forschung/gruppen/statistics/vine-copula-models/slides/ / December 18, 2011