copulaFitClayton

首发版本:3.00.6

语法

copulaFitClayton(X, [alpha=0.05])

详情

拟合 Clayton Copula,估计形状参数 alpha。该函数仅支持二维输入,不支持负相关。

Clayton Copula 具有下尾相关性,常用于描述变量在低分位区域同时发生极端变化的相关结构。

参数

X 非空二维数值矩阵或表,n×2 维,表示输入数据。所有元素必须为有限数并严格位于开区间 (0, 1) 内,且不得包含常数列或近似常数列。

alpha DOUBLE 类型标量,可选参数,默认值为 0.05。表示置信区间显著性水平,取值范围为 (0, 1)。

返回值

返回一个字典,包含以下键值对:

  • alpha:DOUBLE 标量,表示估计的形状参数 θ。注意:此处 alpha 为形状参数,与函数参数 alpha(显著性水平)的含义不同。
  • alphaCI:DOUBLE 向量,表示参数的置信区间 [lower, upper]。
  • logLikelihood:DOUBLE 标量,表示对数似然值。
  • converged:BOOL 标量,表示优化器是否收敛。

例子

注意:以下例子的输出为示意值,实际运行结果可能不同。

例1. 生成形状参数 θ=2.0 的 Clayton Copula 数据并进行拟合,验证参数估计的准确性。

X = copulaRandClayton(2.0, 1000)
res = copulaFitClayton(X)
res.alpha
// 输出: 2.133319
res.alphaCI
// 输出: [1.955293,2.311346]
res.logLikelihood
// 输出: 424.681917
res.converged
// 输出: true

例2. 生成形状参数 θ=5.0 的强下尾相关数据(2000 个样本),拟合 Clayton Copula 以评估在高相关场景下的估计效果。

Xstrong = copulaRandClayton(5.0, 2000)
resStrong = copulaFitClayton(Xstrong)
resStrong.alpha
// 输出: 5.111007
resStrong.alphaCI
// 输出: [4.876373,5.345640]
resStrong.logLikelihood
// 输出: 1953.578222
resStrong.converged
// 输出: true

例3. 生成形状参数 θ=0.2 的弱相关数据(接近独立),拟合 Clayton Copula 以验证模型在低相关场景下的表现。

Xweak = copulaRandClayton(0.2, 2000)
resWeak = copulaFitClayton(Xweak)
resWeak.alpha
// 输出: 0.205467
resWeak.alphaCI
// 输出: [0.146262,0.264672]
resWeak.logLikelihood
// 输出: 29.451045
resWeak.converged
// 输出: true

例4. 模拟两只股票的日收益率并转换为伪观测值,以表作为输入拟合 Clayton Copula,评估两只股票在市场暴跌时同时下跌的下尾风险。

n = 1000
retA = norm(0.0005, 0.02, n)
retB = 0.6 * retA + sqrt(1 - 0.36) * norm(0.0003, 0.015, n)
uA = (rank(retA) + 1) \ (n + 1.0)
uB = (rank(retB) + 1) \ (n + 1.0)

stockReturns = table(uA as stockA, uB as stockB)
res = copulaFitClayton(stockReturns)
res.alpha
// 输出: 1.288283
res.alphaCI
// 输出: [1.168655,1.407912]
res.logLikelihood
// 输出: 262.738733
res.converged
// 输出: true

相关函数:copulaFitGaussiancopulaFitStudentcopulaFitFrankcopulaFitGumbelcopulaRandClaytoncopulaPdfClaytoncopulaCdfClayton