bivTailDepFun: Bivariate joint dependence functions

Description Usage Arguments Value Author(s) References Examples

Description

Functions returning a (empirical) joint shortfall/exceedance dependence function for a bivariate copula (sample). The functions can be lower (shortfall), upper (exceedance), or both, where values below 0.5 are calculated from the lower joint dependence function and values larger 0.5 from the upper joint dependence function. The definition follows the one by Nelsen for the tail dependence index (2006, Theorem 5.4.2.):

lower joint dependence (shortfall): P(U <= u | V <= u)/P(V <= u) = C(u,u)/u

upper joint dependence (exceedance): P(U >= u | V >= u)/P(V >= u) = (1 - 2u + C(u,u))/(1-u)

Taking the limits of the above for u -> 0 and u -> 1 respectively yields the lower and upper tail dependence index. For tail dependence of multivariate copulas, see the papers by Joe et al. (2010) and Nikoloulopoulos et al. (2012).

Usage

1
2
3
4
5
6
7

Arguments

copula

an object of class copula

u

a bivariate sample on (0,1)

Value

A function taking arguments from the unit interval (0,1) and returning the corresponding index.

Author(s)

Benedikt Graeler

References

Definition:

Nelsen, Roger B. An introduction to copulas. Vol. 139. Springer Science & Business Media, 2013.

Further reading on multivariate tail dependence:

Joe, Harry, Haijun Li, and Aristidis K. Nikoloulopoulos. "Tail dependence functions and vine copulas." Journal of Multivariate Analysis 101.1 (2010): 252-270.

Nikoloulopoulos, Aristidis K., Harry Joe, and Haijun Li. "Vine copulas with asymmetric tail dependence and applications to financial return data." Computational Statistics & Data Analysis 56.11 (2012): 3659-3673.

Plots inspired by:

http://freakonometrics.hypotheses.org/2435

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
data("simulatedTriples")
X <- rankTransform(triples[,c(1,3)])
  
tdfEmp <- empBivJointDepFun(X)
plot(tdfEmp,ylim=c(0,1),
     ylab="tail dependence index")  
abline(v=0.5, col="grey")

smplTau <- cor(X,method="kendall")[1,2]

# Gauss
tdfGauss <- bivJointDepFun(normalCopula(sin(smplTau*pi/2)))
curve(tdfGauss,add=TRUE,col="blue")

# survival Gumbel
tdfGumbel <- bivJointDepFun(surGumbelCopula(1/(1-smplTau)))
curve(tdfGumbel,add=TRUE,col="darkgreen")

# survival BB6 copula
tdfBB6 <- bivJointDepFun(surBB6Copula(c(4.65,2.28)))
curve(tdfBB6,add=TRUE,col="red")

legend("bottomleft",c("empircal","Gauss","surv. Gumbel","surv. BB6"),
       col=c("black","blue","darkgreen","red"),lty=1)

BenGraeler/spcopula documentation built on Nov. 20, 2020, 4:07 p.m.