EllipticalModelling: Bivariate Elliptical Copulae

EllipticalModellingR Documentation

Bivariate Elliptical Copulae

Description

A collection and description of functions to investigate bivariate elliptical copulae.

Elliptical Copulae Functions:

ellipticalCopulaSim simulates an elliptical copula,
ellipticalCopulaFit fits the parameters of an elliptical copula.

Usage

    
ellipticalCopulaSim(n, rho = 0.75, param = NULL, type = c("norm", "cauchy", "t"))
ellipticalCopulaFit(u, v, type = c("norm", "cauchy", "t"), ...)

Arguments

n

[rellipticalCopula][ellipticalCopulaSim] -
the number of random deviates to be generated, an integer value.

rho

[*ellipticalCopula] -
is the numeric value setting the correlation strength, ranging between minus one and one.

param

[*ellipticalCopula][gfunc] -
additional distributional parameters: for the Sudent-t distribution this is "nu", for the Kotz distribution this is "r", and for the Exponential Power distribution these are "r" and "s". If the argument param=NULL then default values are taken. These are for the Student-t param=c(nu=4)), for the Kotz distribution param=c(r=1)), and for the exponential power distribution param=c(r=1,s=1). Note, that the Kotz and exponential power copulae are independent of r, and that r only enters the generator, the density, the probability and the quantile functions.

type

[*ellipticalCopula][gfunc] -
the type of the elliptical copula. A character string selected from: "norm", "cauchy", "t", "logistic", "laplace", "kotz", or "epower". [*ellipticalSlider] -
a character string which indicates what kind of plot should be displayed, either a perspective plot if type="persp", the default value, or a contour plot if type="contour".

u, v

[*ellipticalCopula] -
two numeric values or vectors of the same length at which the copula will be computed. If u is a list then the the \$x and \$y elements will be used as u and v. If u is a two column matrix then the first column will be used as u and the the second as v. If u is an integer value greater than one, say N, than the values for all points on the [(0:N)/N]^2 grid spanning the unit square will be returned.

...

[ellipticalCopulaFit] -
arguments passed to the optimization function nlminb.

Value

Copula Functions:

The functions [rpd]ellipticalCopula return a numeric vector of random variates, probabilities, or densities for the specified copula computed at grid coordinates u|v.

The functions [rpd]ellipticalSlider display an interactive graph of an perspective copula plot either for random variates, probabilities or densities. Alternatively, an image underlayed contour plot can be shown.

Copula Dependence Measures:

The functions ellipticalTau and ellipticalRho return a numericc value for Kendall's Tau and Spearman's Rho.

Copula Tail Coefficient:

The function ellipticalTailCoeff returns the coefficient of tail dependence for a specified copula. The function ellipticalTailPlot displays a whole plot for the upper or alternatively for the lower tail dependence as a function of u for a set of nine rho values.

Copula Generator Function:

The function gfunc computes the generator function for the specified copula, by default the normal copula. If the argument x is missing, then the normalization constand lambda will be returned, otherwise if x is specified the values for the function g(x) will be freturned. The selected type of copula is added to the output as an attribute named "control". The function gfuncSlider allows to display interactively the generator function, the marginal density, the marginal probability, and the contours of the the bivariate density.

Copula Simulation and Parameter Fitting:

The function ellipticalCopulaSim returns a numeric two-column matrix with randomly generated variates for the specified copula.

The function ellipticalCopulaFit returns a fit to empirical data for the specified copula. The returned object is a list with elements from the function nlminb.

Author(s)

Diethelm Wuertz for the Rmetrics R-port.

Examples

## [rp]ellipticalCopula -
   # Default Normal Copula:
   rellipticalCopula(10)
   pellipticalCopula(10)

## [rp]ellipticalCopula -   
   # Student-t Copula Probability and Density:
   u = grid2d(x = (0:25)/25)
   # CHECK ERROR
   # pellipticalCopula(u, rho = 0.75, param = 4, 
   #   type = "t", output = "list")
   # CHECK ERROR DONE
   d = dellipticalCopula(u, rho = 0.75, param = 4, 
     type = "t", output = "list")   
   persp(d, theta = -40, phi = 30, col = "steelblue")
   
## ellipticalTau -
## ellipticalRho -
   # Dependence Measures:
   ellipticalTau(rho = -0.5)
   ellipticalRho(rho = 0.75, type = "logistic", subdivisions = 100)
   
## ellipticalTailCoeff -
   # Student-t Tail Coefficient:
   ellipticalTailCoeff(rho = 0.25, param = 3, type = "t")

## gfunc -
   # Generator Function:
   plot(gfunc(x = 0:10), main = "Generator Function")
   
## ellipticalCopulaSim -
## ellipticalCopulaSim -
   # Simualtion and Parameter Fitting:
   rv <- ellipticalCopulaSim(n = 100, rho = 0.75)
   ellipticalCopulaFit(rv)

fCopulae documentation built on Jan. 8, 2023, 1:10 a.m.