copulaFitGumbel
首发版本:3.00.6
语法
copulaFitGumbel(X, [alpha=0.05])
详情
拟合 Gumbel Copula,估计形状参数 alpha。该函数仅支持二维输入,不支持负相关。
Gumbel Copula 具有上尾相关性,常用于描述变量在高分位区域同时发生极端变化的相关结构。形状参数 θ ∈ [1, ∞),其中 θ = 1 时退化为独立 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 的 Gumbel Copula 数据并进行拟合,验证参数估计的准确性。
X = copulaRandGumbel(2.0, 1000)
res = copulaFitGumbel(X)
res.alpha
// 输出: 2.025062
res.alphaCI
// 输出: [1.926904,2.123219]
res.logLikelihood
// 输出: 381.010467
res.converged
// 输出: true
例2. 生成形状参数 θ=4.0 的强上尾相关数据(2000 个样本),拟合 Gumbel Copula 以评估在高相关场景下的估计效果。
Xstrong = copulaRandGumbel(4.0, 2000)
resStrong = copulaFitGumbel(Xstrong)
resStrong.alpha
// 输出: 4.191253
resStrong.alphaCI
// 输出: [4.041576,4.340929]
resStrong.logLikelihood
// 输出: 2056.065288
resStrong.converged
// 输出: true
例3. 生成形状参数 θ=1.1(接近独立)的弱相关数据,拟合 Gumbel Copula 以验证模型在低相关场景下的表现。
Xweak = copulaRandGumbel(1.1, 2000)
resWeak = copulaFitGumbel(Xweak)
resWeak.alpha
// 输出: 1.066562
resWeak.alphaCI
// 输出: [1.037314,1.095811]
resWeak.logLikelihood
// 输出: 15.801724
resWeak.converged
// 输出: true
例4. 模拟两只股票的日收益率并转换为伪观测值,以表作为输入拟合 Gumbel 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 = copulaFitGumbel(stockReturns)
res.alpha
// 输出: 1.834549
res.alphaCI
// 输出: [1.744109,1.924989]
res.logLikelihood
// 输出: 293.783339
res.converged
// 输出: true
相关函数:copulaFitGaussian、copulaFitStudent、copulaFitClayton、copulaFitFrank、copulaRandGumbel、copulaPdfGumbel、copulaCdfGumbel
