COPULA Procedure

Student’s t Copula

Let normal upper Theta equals StartSet left-parenthesis nu comma normal upper Sigma right-parenthesis colon nu element-of left-parenthesis 1 comma normal infinity right-parenthesis comma normal upper Sigma element-of double-struck upper R Superscript m times m Baseline EndSetand let t Subscript nu be a univariate t distribution with nu degrees of freedom.

The Student’s t copula can be written as

upper C Subscript normal upper Theta Baseline left-parenthesis u 1 comma u 2 comma ellipsis comma u Subscript m Baseline right-parenthesis equals t t Subscript nu comma normal upper Sigma Baseline left-parenthesis t Subscript nu Superscript negative 1 Baseline left-parenthesis u 1 right-parenthesis comma t Subscript nu Superscript negative 1 Baseline left-parenthesis u 2 right-parenthesis comma ellipsis comma t Subscript nu Superscript negative 1 Baseline left-parenthesis u Subscript m Baseline right-parenthesis right-parenthesis

where t t Subscript nu comma normal upper Sigma is the multivariate Student’s t distribution with a correlation matrix normal upper Sigma with nu degrees of freedom.

Simulation

The input parameters for the simulation are left-parenthesis nu comma normal upper Sigma right-parenthesis. The t copula can be simulated by the following two steps:

  1. Generate a multivariate vector bold-italic upper X tilde t Subscript m Baseline left-parenthesis nu comma 0 comma normal upper Sigma right-parenthesis following the centered t distribution with nu degrees of freedom and correlation matrix normal upper Sigma.

  2. Transform the vector bold-italic upper X into bold-italic upper U equals left-parenthesis t Subscript nu Baseline left-parenthesis upper X 1 right-parenthesis comma ellipsis comma t Subscript nu Baseline left-parenthesis upper X Subscript m Baseline right-parenthesis right-parenthesis Superscript upper T, where t Subscript nu is the distribution function of univariate t distribution with nu degrees of freedom.

To simulate centered multivariate t random variables, you can use the property that bold-italic upper X tilde t Subscript m Baseline left-parenthesis nu comma 0 comma normal upper Sigma right-parenthesis if bold-italic upper X equals StartRoot nu slash s EndRoot bold-italic upper Z, where bold-italic upper Z tilde upper N left-parenthesis 0 comma normal upper Sigma right-parenthesis and the univariate random variable s tilde chi Subscript nu Superscript 2.

Fitting

To fit a t copula is to estimate the covariance matrix normal upper Sigma and degrees of freedom nu from a given multivariate data set. Given a random sample u u Subscript i Baseline equals left-parenthesis u Subscript i comma 1 Baseline comma ellipsis comma u Subscript i comma m Baseline right-parenthesis Superscript down-tack, i equals 1 comma ellipsis comma n that has uniform marginal distributions, the log likelihood is

StartLayout 1st Row 1st Column Blank 2nd Column log upper L left-parenthesis nu comma normal upper Sigma semicolon u Subscript i comma 1 Baseline comma ellipsis comma u Subscript i comma m Baseline right-parenthesis 2nd Row 1st Column Blank 2nd Column equals sigma-summation Underscript i equals 1 Overscript n Endscripts log g Subscript nu comma normal upper Sigma Baseline left-parenthesis t Subscript nu Superscript negative 1 Baseline left-parenthesis u Subscript i comma 1 Baseline right-parenthesis comma ellipsis comma t Subscript nu Superscript negative 1 Baseline left-parenthesis u Subscript i comma m Baseline right-parenthesis right-parenthesis minus sigma-summation Underscript i equals 1 Overscript n Endscripts sigma-summation Underscript j equals 1 Overscript m Endscripts log g Subscript nu Baseline left-parenthesis t Subscript nu Superscript negative 1 Baseline left-parenthesis u Subscript i comma j Baseline right-parenthesis right-parenthesis EndLayout

where nu denotes the degrees of freedom of the t copula, g Subscript nu comma normal upper Sigma denotes the joint density function of the centered multivariate t distribution with parameters left-parenthesis nu comma normal upper Sigma right-parenthesis, t Subscript nu is the distribution function of a univariate t distribution with nu degrees of freedom, normal upper Sigma is a correlation matrix, and g Subscript nu is the density function of univariate t distribution with nu degrees of freedom.

The log likelihood can be maximized with respect to the parameters theta equals left-parenthesis nu comma normal upper Sigma right-parenthesis element-of normal upper Theta using numerical optimization. If you allow the parameters in normal upper Sigma to be such that normal upper Sigma is symmetric and with ones on the diagonal, then the MLE estimate for normal upper Sigma might not be positive semidefinite. In that case, you need to apply the adjustment to convert the estimated matrix to positive semidefinite, as shown by McNeil, Frey, and Embrechts (2005), Algorithm 5.55.

When the dimension of the data m increases, the numerical optimization quickly becomes infeasible. It is common practice to estimate the correlation matrix normal upper Sigma by calibration using Kendall’s tau. Then, using this fixed normal upper Sigma, the single parameter nu can be estimated by MLE. By proposition 5.37 in McNeil, Frey, and Embrechts (2005),

rho Subscript tau Baseline left-parenthesis upper U Subscript i Baseline comma upper U Subscript j Baseline right-parenthesis equals StartFraction 2 Over pi EndFraction arc sine rho Subscript i j Baseline

where rho Subscript tau is the Kendall’s tau and rho Subscript i j is the off-diagonal elements of the correlation matrix normal upper Sigma of the t copula. Therefore, an estimate for the correlation is

ModifyingAbove rho With caret Subscript i j Baseline equals sine left-parenthesis one-half pi ModifyingAbove rho With caret Subscript i comma j Superscript tau Baseline right-parenthesis

where ModifyingAbove rho With caret and ModifyingAbove rho With caret Superscript tau are the estimates of the sample correlation matrix and Kendall’s tau, respectively. However, it is possible that the estimate of the correlation matrix ModifyingAbove normal upper Sigma With caret is not positive definite. In this case, there is a standard procedure that uses the eigenvalue decomposition to transform the correlation matrix into one that is positive definite. Let normal upper Sigma be a symmetric matrix with ones on the diagonal, with off-diagonal entries in left-bracket negative 1 comma 1 right-bracket. If normal upper Sigma is not positive semidefinite, use Algorithm 5.55 from McNeil, Frey, and Embrechts (2005):

  1. Compute the eigenvalue decomposition normal upper Sigma equals upper E upper D upper E Superscript upper T, where D is a diagonal matrix that contains all the eigenvalues and E is an orthogonal matrix that contains the eigenvectors.

  2. Construct a diagonal matrix upper D overTilde by replacing all negative eigenvalues in D by a small value delta greater-than 0.

  3. Compute normal upper Sigma overTilde equals upper E upper D overTilde upper E Superscript upper T, which is positive definite but not necessarily a correlation matrix.

  4. Apply the normalizing operator script upper P on the matrix normal upper Sigma overTilde to obtain the correlation matrix desired.

The log-likelihood function and its gradient function for a single observation are listed as follows, where bold-italic zeta equals left-parenthesis zeta 1 comma ellipsis comma zeta Subscript m Baseline right-parenthesis, with zeta Subscript j Baseline equals t Subscript nu Superscript negative 1 Baseline left-parenthesis u Subscript j Baseline right-parenthesis, and g is the derivative of the log normal upper Gamma function:

StartLayout 1st Row 1st Column l 2nd Column equals log left-parenthesis c right-parenthesis equals minus one-half log left-parenthesis StartAbsoluteValue normal upper Sigma EndAbsoluteValue right-parenthesis plus log normal upper Gamma left-parenthesis StartFraction nu plus m Over 2 EndFraction right-parenthesis plus left-parenthesis m minus 1 right-parenthesis log normal upper Gamma left-parenthesis StartFraction nu Over 2 EndFraction right-parenthesis minus m log normal upper Gamma left-parenthesis StartFraction nu plus 1 Over 2 EndFraction right-parenthesis 2nd Row 1st Column Blank 2nd Column minus StartFraction nu plus m Over 2 EndFraction log left-parenthesis 1 plus zeta Superscript upper T Baseline normal upper Sigma Superscript negative 1 Baseline zeta slash nu right-parenthesis plus StartFraction nu plus 1 Over 2 EndFraction sigma-summation Underscript j equals 1 Overscript m Endscripts log left-parenthesis 1 plus StartFraction zeta Subscript j Superscript 2 Baseline Over nu EndFraction right-parenthesis 3rd Row 1st Column StartFraction partial-differential l Over partial-differential nu EndFraction 2nd Column equals one-half g left-parenthesis StartFraction nu plus m Over 2 EndFraction right-parenthesis plus StartFraction m minus 1 Over 2 EndFraction g left-parenthesis StartFraction nu Over 2 EndFraction right-parenthesis minus StartFraction m Over 2 EndFraction g left-parenthesis StartFraction nu plus 1 Over 2 EndFraction right-parenthesis 4th Row 1st Column Blank 2nd Column minus one-half log left-parenthesis 1 plus zeta Superscript upper T Baseline normal upper Sigma Superscript negative 1 Baseline zeta slash nu right-parenthesis plus StartFraction nu plus m Over 2 nu squared EndFraction StartFraction zeta Superscript upper T Baseline normal upper Sigma Superscript negative 1 Baseline zeta Over 1 plus zeta Superscript upper T Baseline normal upper Sigma Superscript negative 1 Baseline zeta slash nu EndFraction 5th Row 1st Column Blank 2nd Column plus one-half sigma-summation Underscript j equals 1 Overscript m Endscripts log left-parenthesis 1 plus zeta Subscript j Superscript 2 Baseline slash nu right-parenthesis minus StartFraction nu plus 1 Over 2 nu squared EndFraction sigma-summation Underscript j equals 1 Overscript m Endscripts StartFraction zeta Subscript j Superscript 2 Baseline Over 1 plus zeta Subscript j Superscript 2 Baseline slash nu EndFraction 6th Row 1st Column Blank 2nd Column minus StartFraction left-parenthesis nu plus m right-parenthesis Over nu EndFraction StartFraction zeta Superscript upper T Baseline normal upper Sigma Superscript negative 1 Baseline left-parenthesis d zeta slash d nu right-parenthesis Over 1 plus zeta Superscript upper T Baseline normal upper Sigma Superscript negative 1 Baseline zeta slash nu EndFraction plus StartFraction nu plus 1 Over nu EndFraction sigma-summation StartFraction zeta Subscript j Baseline left-parenthesis d zeta Subscript j Baseline slash d nu right-parenthesis Over 1 plus zeta Subscript j Superscript 2 Baseline slash nu EndFraction EndLayout

The derivative of the likelihood with respect to the correlation matrix normal upper Sigma follows:

StartLayout 1st Row 1st Column StartFraction partial-differential l Over partial-differential normal upper Sigma EndFraction 2nd Column equals minus one-half left-parenthesis normal upper Sigma Superscript negative 1 Baseline right-parenthesis Superscript upper T Baseline plus StartFraction nu plus m Over 2 EndFraction StartFraction normal upper Sigma Superscript negative upper T Baseline zeta zeta Superscript upper T Baseline normal upper Sigma Superscript negative upper T Baseline slash nu Over 1 plus zeta Superscript upper T Baseline normal upper Sigma Superscript negative 1 Baseline zeta slash nu EndFraction 2nd Row 1st Column Blank 2nd Column equals minus one-half left-parenthesis normal upper Sigma Superscript negative 1 Baseline right-parenthesis Superscript upper T Baseline plus StartFraction nu plus m Over 2 EndFraction StartFraction normal upper Sigma Superscript negative upper T Baseline zeta zeta Superscript upper T Baseline normal upper Sigma Superscript negative upper T Baseline Over nu plus zeta Superscript upper T Baseline normal upper Sigma Superscript negative 1 Baseline zeta EndFraction EndLayout
Last updated: June 19, 2025