Learn R Programming

CDVine (version 1.4)

CDVineSeqEst: Sequential estimation of C- and D-vine copula models

Description

This function sequentially estimates the pair-copula parameters of d-dimensional C- or D-vine copula models.

Usage

CDVineSeqEst(data, family, type, method="mle", se=FALSE, max.df=30, max.BB=list(BB1=c(5,6),BB6=c(6,6),BB7=c(5,6),BB8=c(6,1)), progress=FALSE)

Arguments

data
An N x d data matrix (with uniform margins).
family
A d*(d-1)/2 integer vector of C-/D-vine pair-copula families with values 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'') 14 = rotated Gumbel copula (180 degrees; ``survival Gumbel'') 16 = rotated Joe copula (180 degrees; ``survival Joe'') 17 = rotated BB1 copula (180 degrees; ``survival BB1'') 18 = rotated BB6 copula (180 degrees; ``survival BB6'') 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)
type
Type of the vine model: 1 or "CVine" = C-vine 2 or "DVine" = D-vine
method
Character indicating the estimation method: either pairwise maximum likelihood estimation (method = "mle"; default) or inversion of Kendall's tau (method = "itau"; see BiCopEst). For method = "itau" only one parameter pair-copula families can be used (family = 1, 3, 4, 5, 6, 13, 14, 16, 23, 24, 26, 33, 34 or 36).
se
Logical; whether standard errors are estimated (default: se=FALSE).
max.df
Numeric; upper bound for the estimation of the degrees of freedom parameter of the t-copula (default: max.df = 30; for more details see BiCopEst).
max.BB
List; upper bounds for the estimation of the two parameters (in absolute values) of the BB1, BB6, BB7 and BB8 copulas (default: max.BB = list(BB1=c(5,6),BB6=c(6,6),BB7=c(5,6),BB8=c(6,1))).
progress
Logical; whether the pairwise estimation progress is printed (default: progress = FALSE).

Value

par
Estimated (first) C-/D-vine pair-copula parameters.
par2
Estimated second C-/D-vine pair-copula parameters for families with two parameters (t, BB1, BB6, BB7, BB8). All other entries are zero.
se
Estimated standard errors of the (first) pair-copula parameter estimates (if se = TRUE).
se2
Estimated standard errors of the second pair-copula parameter estimates (if se = TRUE).

Details

The pair-copula parameter estimation is performed tree-wise, i.e., for each C-/D-vine tree the results from the previous tree(s) are used to calculate the new copula parameters using BiCopEst.

References

Aas, K., C. Czado, A. Frigessi, and H. Bakken (2009). Pair-copula constructions of multiple dependence. Insurance: Mathematics and Economics 44 (2), 182-198.

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

BiCopEst, BiCopHfunc, CDVineLogLik, CDVineMLE

Examples

Run this code
## Example 1: 4-dimensional D-vine model with Gaussian pair-copulas
data(worldindices)
Data = as.matrix(worldindices)[,1:4]
d = dim(Data)[2]
fam = rep(1,d*(d-1)/2)

# sequential estimation 
CDVineSeqEst(Data,fam,type=2,method="itau")$par
CDVineSeqEst(Data,fam,type=2,method="mle")$par


## Example 2: 4-dimensional D-vine model with mixed pair-copulas
fam2 = c(5,1,3,14,3,2)

# sequential estimation
CDVineSeqEst(Data,fam2,type=2,method="mle",se=TRUE,progress=TRUE)

Run the code above in your browser using DataLab