copulaFitFrank
首发版本:3.00.6
语法
copulaFitFrank(X, [alpha=0.05])
详情
拟合 Frank Copula,估计形状参数 alpha。该函数仅支持二维输入。形状参数 θ ∈ ℝ \ {0},其中 θ > 0 表示正相关,θ < 0 表示负相关,θ 趋近于 0 时趋于独立。
Frank 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. 生成形状参数 θ=5.0 的正相关 Frank Copula 数据并进行拟合,验证参数估计的准确性。
X = copulaRandFrank(5.0, 1000)
res = copulaFitFrank(X)
res.alpha
// 输出: 5.154311
res.alphaCI
// 输出: [4.702187,5.606435]
res.logLikelihood
// 输出: 275.6565
res.converged
// 输出: true
例2. 对同一数据集以 alpha=0.01 重新拟合,观察 99% 置信区间相比默认 95% 的变化。
resCI = copulaFitFrank(X, alpha=0.01)
resCI.alpha
// 输出: 5.154311
resCI.alphaCI
// 输出: [4.560119,5.748503]
resCI.logLikelihood
// 输出: 275.6565
resCI.converged
// 输出: true
例3. 生成形状参数 θ=−3.0 的负相关数据,拟合 Frank Copula 以验证其对负相关结构的估计能力。Frank Copula 是五种 Copula 中唯一支持负相关的 Archimedean Copula。
Xneg = copulaRandFrank(-3.0, 2000)
resNeg = copulaFitFrank(Xneg)
resNeg.alpha
// 输出: -2.842699
resNeg.alphaCI
// 输出: [-3.123232,-2.562167]
resNeg.logLikelihood
// 输出: 203.529925
resNeg.converged
// 输出: true
例4. 模拟两只股票的日收益率并转换为伪观测值,以表作为输入拟合 Frank 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 = copulaFitFrank(stockReturns)
res.alpha
// 输出: 5.577092
res.alphaCI
// 输出: [5.091839,6.062344]
res.logLikelihood
// 输出: 307.059948
res.converged
// 输出: true
相关函数:copulaFitGaussian、copulaFitStudent、copulaFitClayton、copulaFitGumbel、copulaRandFrank、copulaPdfFrank、copulaCdfFrank
