copulaCdfClayton

First introduced in version: 3.00.6

Syntax

copulaCdfClayton(alpha, X)

Details

Calculates the cumulative probability of the Clayton copula, with scalar parameter alpha evaluated at the points in X.

Parameters

alpha is a DOUBLE scalar that specifies the Clayton copula shape parameter θ. The valid range is [0, ∞).

  • alpha = 0 indicates the independence copula.

  • alpha > 0 indicates positive dependence and lower-tail dependence.

  • A larger alpha indicates stronger lower-tail dependence.

X is a non-empty two-dimensional numeric matrix or table with dimensions n×p (only p = 2 is currently supported), specifying the set of evaluation points for which densities are computed. Here, n is the number of evaluation points, that is, the number of rows in X; p is the number of variables, that is, the number of columns in X.

  • All elements must be finite numbers.

  • Rows whose elements are all in the open interval (0, 1) are evaluated using the Clayton copula cumulative distribution formula.

  • Rows with any element u <= 0 return 0. Rows with all elements u >= 1 return 1.

  • When X is a table, each column represents a variable, and the column order defines the variable order.

Returns

A DOUBLE vector with the same length as the number of rows in X. The i-th element of the returned vector is the copula cumulative probability for the i-th row of X.

Examples

Example 1. Calculate the cumulative probability of the Clayton copula with shape parameter alpha=2.0 at the center point [0.5, 0.5].

X = matrix([0.5], [0.5])
y = copulaCdfClayton(2.0, X)
y
// Output: [0.37796447300922725]

Example 2. Evaluate multiple sets of two-dimensional pseudo-observations and demonstrate how boundary points are handled.

u1 = [0.0, 0.2, 1.0]
u2 = [0.1, 0.3, 1.0]
X = matrix(u1, u2)
y = copulaCdfClayton(2.0, X)
y
// Output: [0, 0.1687631851389036, 1]

Example 3. Calculate the cumulative probability using the fitted Clayton shape parameter.

X = copulaRandClayton(2.0, 1000)
stockRanks = table(X[0] as stockA, X[1] as stockB)
fitRes = copulaFitClayton(stockRanks)
y = copulaCdfClayton(fitRes.alpha, stockRanks)
avg(y)
// Output: 0.3661068379831923

Related Functions: copulaFitClayton, copulaRandClayton, copulaPdfClayton, copulaCdfGaussian, copulaCdfStudent, copulaCdfFrank, copulaCdfGumbel