Learn R Programming

VineCopula (version 1.6-1)

BiCopPar2Tau: Kendall's Tau Value of a Bivariate Copula

Description

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

Usage

BiCopPar2Tau(family, par, par2 = 0, obj = NULL)

Arguments

family
An integer defining the bivariate copula family: 0 = independence copula 1 = Gaussian copula 2 = Student t copula (t-copula) 3 = Clayton copula 4 = Gumbel copula 5 = Frank
par
Copula parameter (vector).
par2
Second parameter (vector of same length as par) for the two parameter t-, BB1, BB6, BB7, BB8, Tawn type 1 and type 2 copulas (default: par2 = 0). Note that the degrees of freedom parameter of the t-copula does not need to be
obj
BiCop object containing the family and parameter specification.

Value

  • Theoretical value of Kendall's tau (vector) corresponding to the bivariate copula family and parameter(vectors) ($\theta$ for one parameter families and the first parameter of the t-copula, $\theta$ and $\delta$ for the two parameter BB1, BB6, BB7, BB8, Tawn type 1 and type 2 copulas). ll{ 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} - )/( -\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} - )/( -\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 BiCopPar2Tau(obj) can be used.

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.

See Also

BiCopTau2Par, BiCop

Examples

Run this code
## 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)


## Example 2: Clayton copula
theta <- BiCopTau2Par(family = 3, tau = c(0.4, 0.5, 0.6))
BiCopPar2Tau(family = 3, par = theta)


## Example 3:
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)

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

# Test BiCopPar2Tau (two parametric families)
theta <- BiCopTau2Par(family = 2, tau = c(0.4,0.5,0.6))
BiCopPar2Tau(family = 2, par = theta)
theta <- 1:3
delta <- 1:3
BiCopPar2Tau(family = 7, par = theta, par2 = delta)
BiCopPar2Tau(family = 17, par = theta, par2 = delta)
theta <- -(1:3)
delta <- -(1:3)
BiCopPar2Tau(family = 27, par = theta, par2 = delta)
BiCopPar2Tau(family = 37, par = theta, par2 = delta)
theta <- 2:4
delta <- 1:3
BiCopPar2Tau(family = 8, par = theta, par2 = delta)
BiCopPar2Tau(family = 18, par = theta, par2 = delta)
theta <- -(2:4)
delta <- -(1:3)
BiCopPar2Tau(family = 28, par = theta, par2 = delta)
BiCopPar2Tau(family = 38, par = theta, par2 = delta)
theta <- 1:3
delta <- 1:3
BiCopPar2Tau(family = 9, par = theta, par2 = delta)
BiCopPar2Tau(family = 19, par = theta, par2 = delta)
theta <- -(1:3)
delta <- -(1:3)
BiCopPar2Tau(family = 29, par = theta, par2 = delta)
BiCopPar2Tau(family = 39, par = theta, par2 = delta)
theta <- 2:4
delta <- c(0.1, 0.5, 0.9)
BiCopPar2Tau(family = 10, par = theta, par2 = delta)
BiCopPar2Tau(family = 20, par = theta, par2 = delta)
theta <- -(2:4)
delta <- -c(0.1, 0.5, 0.9)
BiCopPar2Tau(family = 30, par = theta, par2 = delta)
BiCopPar2Tau(family = 40, par = theta, par2 = delta)

theta <- 2:4
delta <- c(0.1, 0.5, 0.9)
BiCopPar2Tau(family = 104, par = theta, par2 = delta)
BiCopPar2Tau(family = 114, par = theta, par2 = delta)
theta <- -(2:4)
delta <- c(0.1, 0.5, 0.9)
BiCopPar2Tau(family = 124, par = theta, par2 = delta)
BiCopPar2Tau(family = 134, par = theta, par2 = delta)

theta <- 2:4
delta <- c(0.1, 0.5, 0.9)
BiCopPar2Tau(family = 204, par = theta, par2 = delta)
BiCopPar2Tau(family = 214, par = theta, par2 = delta)
theta <- -(2:4)
delta <- c(0.1, 0.5, 0.9)
BiCopPar2Tau(family = 224, par = theta, par2 = delta)
BiCopPar2Tau(family = 234, par = theta, par2 = delta)

Run the code above in your browser using DataLab