This function computes the theoretical Kendall's tau value of a bivariate copula for given parameter values.

BiCopPar2Tau(family, par, par2 = 0, obj = NULL, check.pars = TRUE)

Arguments

family

integer; single number or vector of size m; defines the bivariate copula family:
0 = independence copula
1 = Gaussian copula
2 = Student t copula (t-copula)
3 = Clayton copula
4 = Gumbel copula
5 = Frank copula
6 = Joe copula
7 = BB1 copula
8 = BB6 copula
9 = BB7 copula
10 = BB8 copula
13 = rotated Clayton copula (180 degrees; survival Clayton'') \cr `14` = rotated Gumbel copula (180 degrees; survival Gumbel'')
16 = rotated Joe copula (180 degrees; survival Joe'') \cr `17` = rotated BB1 copula (180 degrees; survival BB1'')
18 = rotated BB6 copula (180 degrees; survival BB6'')\cr `19` = rotated BB7 copula (180 degrees; survival BB7'')
20 = rotated BB8 copula (180 degrees; ``survival BB8'')
23 = rotated Clayton copula (90 degrees)
`24` = rotated Gumbel copula (90 degrees)
`26` = rotated Joe copula (90 degrees)
`27` = rotated BB1 copula (90 degrees)
`28` = rotated BB6 copula (90 degrees)
`29` = rotated BB7 copula (90 degrees)
`30` = rotated BB8 copula (90 degrees)
`33` = rotated Clayton copula (270 degrees)
`34` = rotated Gumbel copula (270 degrees)
`36` = rotated Joe copula (270 degrees)
`37` = rotated BB1 copula (270 degrees)
`38` = rotated BB6 copula (270 degrees)
`39` = rotated BB7 copula (270 degrees)
`40` = rotated BB8 copula (270 degrees)
`104` = Tawn type 1 copula
`114` = rotated Tawn type 1 copula (180 degrees)
`124` = rotated Tawn type 1 copula (90 degrees)
`134` = rotated Tawn type 1 copula (270 degrees)
`204` = Tawn type 2 copula
`214` = rotated Tawn type 2 copula (180 degrees)
`224` = rotated Tawn type 2 copula (90 degrees)
`234` = rotated Tawn type 2 copula (270 degrees)

par

numeric; single number or vector of size n; copula parameter.

par2

numeric; single number or vector of size n; second parameter for bivariate copulas with two parameters (t, BB1, BB6, BB7, BB8, Tawn type 1 and type 2; default: par2 = 0). Note that the degrees of freedom parameter of the t-copula does not need to be set, because the theoretical Kendall's tau value of the t-copula is independent of this choice.

obj

BiCop object containing the family and parameter specification.

check.pars

logical; default is TRUE; if FALSE, checks for family/parameter-consistency are omitted (should only be used with care).

Value

Theoretical value of Kendall's tau (vector) corresponding to the bivariate copula family and parameter vector \((\theta, \delta) =\)

(par, par2).

No. (family)Kendall's tau (tau)
1, 2\(\frac{2}{\pi}\arcsin(\theta)\)
3, 13\(\frac{\theta}{\theta+2}\)
4, 14\(1-\frac{1}{\theta}\)
5\(1-\frac{4}{\theta}+4\frac{D_1(\theta)}{\theta}\)
with \(D_1(\theta)=\int_0^\theta \frac{x/\theta}{\exp(x)-1}dx\) (Debye function)
6, 16\(1+\frac{4}{\theta^2}\int_0^1 x\log(x)(1-x)^{2(1-\theta)/\theta}dx\)
7, 17\(1-\frac{2}{\delta(\theta+2)}\)
8, 18\(1+4\int_0^1 -\log(-(1-t)^\theta+1) (1-t-(1-t)^{-\theta}+(1-t)^{-\theta}t)/(\delta\theta) dt\)
9, 19\(1+4\int_0^1 ( (1-(1-t)^{\theta})^{-\delta} - 1) /( -\theta\delta(1-t)^{\theta-1}(1-(1-t)^{\theta})^{-\delta-1} ) dt\)
10, 20\(1+4\int_0^1 -\log \left(((1-t\delta)^\theta-1)/((1-\delta)^\theta-1) \right) \)
\(* (1-t\delta-(1-t\delta)^{-\theta}+(1-t\delta)^{-\theta}t\delta)/(\theta\delta) dt\)
23, 33\(\frac{\theta}{2-\theta}\)
24, 34\(-1-\frac{1}{\theta}\)
26, 36\(-1-\frac{4}{\theta^2}\int_0^1 x\log(x)(1-x)^{-2(1+\theta)/\theta}dx\)
27, 37\(-1-\frac{2}{\delta(2-\theta)}\)
28, 38\(-1-4\int_0^1 -\log(-(1-t)^{-\theta}+1) (1-t-(1-t)^{\theta}+(1-t)^{\theta}t)/(\delta\theta) dt\)
29, 39\(-1-4\int_0^1 ( (1-(1-t)^{-\theta})^{\delta} - 1) /( -\theta\delta(1-t)^{-\theta-1}(1-(1-t)^{-\theta})^{\delta-1} ) dt\)
30, 40\(-1-4\int_0^1 -\log \left( ((1+t\delta)^{-\theta}-1)/((1+\delta)^{-\theta}-1) \right)\)
\(* (1+t\delta-(1+t\delta)^{\theta}-(1+t\delta)^{\theta}t\delta)/(\theta\delta) dt\)
104,114\(\int_0^1 \frac{t(1-t)A^{\prime\prime}(t)}{A(t)}dt\)
with \(A(t) = (1-\delta)t+[(\delta(1-t))^{\theta}+t^{\theta}]^{1/\theta}\)
204,214\(\int_0^1 \frac{t(1-t)A^{\prime\prime}(t)}{A(t)}dt\)
with \(A(t) = (1-\delta)(1-t)+[(1-t)^{-\theta}+(\delta t)^{-\theta}]^{-1/\theta}\)
124,134\(-\int_0^1 \frac{t(1-t)A^{\prime\prime}(t)}{A(t)}dt\)
with \(A(t) = (1-\delta)t+[(\delta(1-t))^{-\theta}+t^{-\theta}]^{-1/\theta}\)
224,234\(-\int_0^1 \frac{t(1-t)A^{\prime\prime}(t)}{A(t)}dt\)
with \(A(t) = (1-\delta)(1-t)+[(1-t)^{-\theta}+(\delta t)^{-\theta}]^{-1/\theta}\)

Details

If the family and parameter specification is stored in a BiCop() object obj, the alternative version

can be used.

Note

The number n can be chosen arbitrarily, but must agree across arguments.

References

Joe, H. (1997). Multivariate Models and Dependence Concepts. Chapman and Hall, London.

Czado, C., U. Schepsmeier, and A. Min (2012). Maximum likelihood estimation of mixed C-vines with application to exchange rates. Statistical Modelling, 12(3), 229-255.

Author

Ulf Schepsmeier, Tobias Erhardt

Examples

## Example 1: Gaussian copula
tau0 <- 0.5
rho <- BiCopTau2Par(family = 1, tau = tau0)
# transform back
tau <- BiCopPar2Tau(family = 1, par = rho)
tau - 2/pi*asin(rho)
#> [1] 0

## Example 2:
vpar <- seq(from = 1.1, to = 10, length.out = 100)
tauC <- BiCopPar2Tau(family = 3, par = vpar)
tauG <- BiCopPar2Tau(family = 4, par = vpar)
tauF <- BiCopPar2Tau(family = 5, par = vpar)
tauJ <- BiCopPar2Tau(family = 6, par = vpar)
plot(tauC ~ vpar, type = "l", ylim = c(0,1))
lines(tauG ~ vpar, col = 2)
lines(tauF ~ vpar, col = 3)
lines(tauJ ~ vpar, col = 4)


## Example 3: different copula families
theta <- BiCopTau2Par(family = c(3,4,6), tau = c(0.4, 0.5, 0.6))
BiCopPar2Tau(family = c(3,4,6), par = theta)
#> [1] 0.4 0.5 0.6

# \dontshow{
# Test BiCopPar2Tau (one parametric families)
theta <- BiCopTau2Par(family = 0, tau = c(0.4,0.5,0.6))
BiCopPar2Tau(family = 0, par = theta)
#> [1] 0 0 0
theta <- BiCopTau2Par(family = 1, tau = c(0.4,0.5,0.6))
BiCopPar2Tau(family = 1, par = theta)
#> [1] 0.4 0.5 0.6
theta <- BiCopTau2Par(family = 3, tau = c(0.4,0.5,0.6))
BiCopPar2Tau(family = 3, par = theta)
#> [1] 0.4 0.5 0.6
theta <- BiCopTau2Par(family = 4, tau = c(0.4,0.5,0.6))
BiCopPar2Tau(family = 4, par = theta)
#> [1] 0.4 0.5 0.6
theta <- BiCopTau2Par(family = 5, tau = c(0.4,0.5,0.6))
BiCopPar2Tau(family = 5, par = theta)
#> [1] 0.4 0.5 0.6
theta <- BiCopTau2Par(family = 6, tau = c(0.4,0.5,0.6))
BiCopPar2Tau(family = 6, par = theta)
#> [1] 0.4 0.5 0.6
theta <- BiCopTau2Par(family = 13, tau = c(0.4,0.5,0.6))
BiCopPar2Tau(family = 13, par = theta)
#> [1] 0.4 0.5 0.6
theta <- BiCopTau2Par(family = 14, tau = c(0.4,0.5,0.6))
BiCopPar2Tau(family = 14, par = theta)
#> [1] 0.4 0.5 0.6
theta <- BiCopTau2Par(family = 16, tau = c(0.4,0.5,0.6))
BiCopPar2Tau(family = 16, par = theta)
#> [1] 0.4 0.5 0.6
theta <- BiCopTau2Par(family = 23, tau = -c(0.4,0.5,0.6))
BiCopPar2Tau(family = 23, par = theta)
#> [1] -0.4 -0.5 -0.6
theta <- BiCopTau2Par(family = 24, tau = -c(0.4,0.5,0.6))
BiCopPar2Tau(family = 24, par = theta)
#> [1] -0.4 -0.5 -0.6
theta <- BiCopTau2Par(family = 26, tau = -c(0.4,0.5,0.6))
BiCopPar2Tau(family = 26, par = theta)
#> [1] -0.4 -0.5 -0.6
theta <- BiCopTau2Par(family = 33, tau = -c(0.4,0.5,0.6))
BiCopPar2Tau(family = 33, par = theta)
#> [1] -0.4 -0.5 -0.6
theta <- BiCopTau2Par(family = 34, tau = -c(0.4,0.5,0.6))
BiCopPar2Tau(family = 34, par = theta)
#> [1] -0.4 -0.5 -0.6
theta <- BiCopTau2Par(family = 36, tau = -c(0.4,0.5,0.6))
BiCopPar2Tau(family = 36, par = theta)
#> [1] -0.4 -0.5 -0.6
theta <- BiCopTau2Par(family = 41, tau = c(0.4,0.5,0.6))
BiCopPar2Tau(family = 41, par = theta)
#> [1] 0.4 0.5 0.6
theta <- BiCopTau2Par(family = 51, tau = c(0.4,0.5,0.6))
BiCopPar2Tau(family = 51, par = theta)
#> [1] 0.4 0.5 0.6
theta <- BiCopTau2Par(family = 61, tau = c(0.4,0.5,0.6))
BiCopPar2Tau(family = 61, par = theta)
#> [1] 0.4 0.5 0.6
theta <- BiCopTau2Par(family = 71, tau = c(0.4,0.5,0.6))
BiCopPar2Tau(family = 71, par = theta)
#> [1] 0.4 0.5 0.6
theta <- BiCopTau2Par(family = 41, tau = -c(0.4,0.5,0.6))
BiCopPar2Tau(family = 41, par = theta)
#> [1] -0.4 -0.5 -0.6
theta <- BiCopTau2Par(family = 51, tau = -c(0.4,0.5,0.6))
BiCopPar2Tau(family = 51, par = theta)
#> [1] -0.4 -0.5 -0.6
theta <- BiCopTau2Par(family = 61, tau = -c(0.4,0.5,0.6))
BiCopPar2Tau(family = 61, par = theta)
#> [1] -0.4 -0.5 -0.6
theta <- BiCopTau2Par(family = 71, tau = -c(0.4,0.5,0.6))
BiCopPar2Tau(family = 71, par = theta)
#> [1] -0.4 -0.5 -0.6

# Test BiCopPar2Tau (two parametric families)
theta <- BiCopTau2Par(family = 2, tau = c(0.4,0.5,0.6))
BiCopPar2Tau(family = 2, par = theta)
#> [1] 0.4 0.5 0.6
theta <- 1:3
delta <- 1:3
BiCopPar2Tau(family = 7, par = theta, par2 = delta)
#> [1] 0.3333333 0.7500000 0.8666667
BiCopPar2Tau(family = 17, par = theta, par2 = delta)
#> [1] 0.3333333 0.7500000 0.8666667
theta <- -(1:3)
delta <- -(1:3)
BiCopPar2Tau(family = 27, par = theta, par2 = delta)
#> [1] -0.3333333 -0.7500000 -0.8666667
BiCopPar2Tau(family = 37, par = theta, par2 = delta)
#> [1] -0.3333333 -0.7500000 -0.8666667
theta <- 2:4
delta <- 1:3
BiCopPar2Tau(family = 8, par = theta, par2 = delta)
#> [1] 0.3550658 0.7589812 0.8712351
BiCopPar2Tau(family = 18, par = theta, par2 = delta)
#> [1] 0.3550658 0.7589812 0.8712351
theta <- -(2:4)
delta <- -(1:3)
BiCopPar2Tau(family = 28, par = theta, par2 = delta)
#> [1] -0.3550658 -0.7589812 -0.8712351
BiCopPar2Tau(family = 38, par = theta, par2 = delta)
#> [1] -0.3550658 -0.7589812 -0.8712351
theta <- 1:3
delta <- 1:3
BiCopPar2Tau(family = 9, par = theta, par2 = delta)
#> [1] 0.3333333 0.5833333 0.6848485
BiCopPar2Tau(family = 19, par = theta, par2 = delta)
#> [1] 0.3333333 0.5833333 0.6848485
theta <- -(1:3)
delta <- -(1:3)
BiCopPar2Tau(family = 29, par = theta, par2 = delta)
#> [1] -0.3333333 -0.5833333 -0.6848485
BiCopPar2Tau(family = 39, par = theta, par2 = delta)
#> [1] -0.3333333 -0.5833333 -0.6848485
theta <- 2:4
delta <- c(0.1, 0.5, 0.9)
BiCopPar2Tau(family = 10, par = theta, par2 = delta)
#> [1] 0.01200125 0.16649954 0.53531633
BiCopPar2Tau(family = 20, par = theta, par2 = delta)
#> [1] 0.01200125 0.16649954 0.53531633
theta <- -(2:4)
delta <- -c(0.1, 0.5, 0.9)
BiCopPar2Tau(family = 30, par = theta, par2 = delta)
#> [1] -0.01200125 -0.16649954 -0.53531633
BiCopPar2Tau(family = 40, par = theta, par2 = delta)
#> [1] -0.01200125 -0.16649954 -0.53531633

theta <- 2:4
delta <- c(0.1, 0.5, 0.9)
BiCopPar2Tau(family = 104, par = theta, par2 = delta)
#> [1] 0.08268413 0.38629436 0.68897031
BiCopPar2Tau(family = 114, par = theta, par2 = delta)
#> [1] 0.08268413 0.38629436 0.68897031
theta <- -(2:4)
delta <- c(0.1, 0.5, 0.9)
BiCopPar2Tau(family = 124, par = theta, par2 = delta)
#> [1] -0.08268413 -0.38629436 -0.68897031
BiCopPar2Tau(family = 134, par = theta, par2 = delta)
#> [1] -0.08268413 -0.38629436 -0.68897031

theta <- 2:4
delta <- c(0.1, 0.5, 0.9)
BiCopPar2Tau(family = 204, par = theta, par2 = delta)
#> [1] 0.08268413 0.38629436 0.68897031
BiCopPar2Tau(family = 214, par = theta, par2 = delta)
#> [1] 0.08268413 0.38629436 0.68897031
theta <- -(2:4)
delta <- c(0.1, 0.5, 0.9)
BiCopPar2Tau(family = 224, par = theta, par2 = delta)
#> [1] -0.08268413 -0.38629436 -0.68897031
BiCopPar2Tau(family = 234, par = theta, par2 = delta)
#> [1] -0.08268413 -0.38629436 -0.68897031
# }