Copula

Posted 车天健

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Copula相关的知识,希望对你有一定的参考价值。

笔记回顾与整理 (Copula)

Copula

金融数据常体现相关性,传统多元分析的统计方法通常假设联合正态分布,然而这种做法的局限性很强,因为金融数据通常并不体现“正态”。

Copula: 提供灵活与通用的生成给定单变量边际分布的多元分布。由于边际分布已确定,联合分布则能通过这已确定的边际分布变换到单位立方体 cube: \\([0, 1]\\) 上。

一个 \\(n\\) 元的 copula 是在单位立方体 cube \\([0, 1]\\) 上的多元分布,并且其边际的分布为 \\(\\mboxUniform(0, ~ 1)\\)




先从二元的 copula 入手

Definition 1.

设有一个定义在 \\([0, 1] \\times [0, 1]\\) 上的二元函数 \\(G\\),如果:

\\[\\forall u, v \\in [0, 1]: ~ G(u, 0) = G(0, v) = 0 \\]

则称 bivariate function \\(G\\) is grounded




定义 1. 的意思即是说一个 grounded bivariate function,必定满足定义域为 \\([0, 1] \\times [0, 1]\\),并且函数在定义域正方形靠在 \\(x, y\\) 两轴上的边上取值为 \\(0\\)




Definition 2.

如果:

\\[\\forall u_1 \\leq u_2, ~ v_1 \\leq v_2: ~ G(u_2, v_2) - G(u_2, v_1) - G(u_1, v_2) + G(u_1, v_1) \\geq 0 \\]


那么称:bivariate function \\(G\\) is 2-increasing。并且,如果 \\(G\\) 同时二阶可微,那么:

\\[\\mbox2-increaing \\quad \\iff \\quad \\frac\\partial^2G(u, v)\\partial u \\partial v \\geq 0 \\]




这里前半句的意思实际是,在 \\([0, 1] \\times [0, 1]\\) 的正方形区域内,任意再取一个小正方形,使得四个点坐标分别为:左下: \\((u_1, v_1)\\), 右下:\\((u_2, v_1)\\), 左上:\\((u_1, v_2)\\) 以及右上: \\((u_2, v_2)\\)。那么此处条件实际为:

\\[\\mbox左下 + 右上 $\\geq$ 左上 + 右下 \\]




Definition 3.

一个二元 copula \\(C\\) 是一个定义在 \\([0, 1] \\times [0, 1]\\) 上的函数,同时满足:

​ (a) \\(C\\) is grounded.

​ (b) \\(C\\) is \\(\\mbox2-increasing\\).

​ (c) 对于 \\(\\forall u, v \\in [0, 1]: ~ C(u, 1) = u, ~ C(1, v) = v\\)




Corollary 1.

一个二元函数 当且仅当 它定义在 \\([0, 1] \\times [0, 1]\\) 上且边际分布服从均匀分布时(很显然只能是\\(\\mboxUnif[0, 1]\\) 的均匀分布)为一个 copula。




Proof.

\\(\\Longleftarrow\\)

假设有一个二元函数 \\(f_X, Y(x, y)\\) 其中 \\(x, y \\in [0, 1]\\),并且对于 marginal distribution 有:

\\[\\int^1_0 f_X, Y(x, y) ~ dy= f_X(x) = a \\in \\mathbbR\\\\ \\int^1_0 f_X, Y(x, y) ~ dx= f_Y(y) = b \\in \\mathbbR\\\\ \\]


  • 首先,copula 的定义域条件 (i.e. \\([0, 1] \\times [0, 1]\\))已经给出。并且显然 \\(a = b = 1\\),因为:

    \\[\\int^1_0\\int^1_0 f_X, Y(x, y) ~ dy~dx = 1 = \\int^1_0 a ~ dx = a\\\\ \\int^1_0\\int^1_0 f_X, Y(x, y) ~ dx~dy = 1 = \\int^1_0 a ~ dy = b\\\\ \\]


  • 其次,当 \\(x=0\\) 时,

    \\[\\beginalign* \\int^1_0 f_X, Y(0, y) ~ dy = f_X(0) = a \\quad & \\implies \\quad \\frac\\partial \\int^1_0 f_X, Y(0, y) ~ dy\\partial y = \\frac\\partial f_X(x)\\partial y = 0\\\\ & \\implies \\quad f_X, Y(0, y) = 0 \\endalign* \\]


    同理,当 \\(y = 0\\) 时,

    \\[\\beginalign* \\int^1_0 f_X, Y(x, 0) ~ dx = f_Y(0) = b \\quad & \\implies \\quad \\frac\\partial \\int^1_0 f_X, Y(x, 0) ~ dx\\partial x = \\frac\\partial f_Y(y)\\partial x = 0\\\\ & \\implies \\quad f_X, Y(x, 0) = 0 \\endalign* \\]


    因此函数 \\(f_X,Y(x,y)\\) is grounded.


  • 令:

    \\[F_X, Y(x, y) = \\int^y_0 \\int^x_0 f_X, Y(s, t) ~ ds ~ dt \\]


    那么对于:

    \\[\\beginalign* \\forall y \\in [0, 1]: ~ F_X, Y(1, y) & = \\int^y_0 \\int^1_0 f_X, Y(s, t) ~ ds ~ dt \\\\ & = \\int^y_0 f_Y(t) ~ dt \\\\ & = \\int^y_0 1 ~ dt \\\\ & = y \\endalign* \\]


同理:

\\[\\beginalign* \\forall x \\in [0, 1]: ~ F_X, Y(x, 1) & = \\int^1_0 \\int^x_0 f_X, Y(s, t) ~ ds ~ dt \\\\ & = \\int^x_0 \\int^1_0 f_X, Y(s, t) ~ dt ~ ds \\\\ & = \\int^x_0 f_X(s) ~ ds \\\\ & = \\int^x_0 1 ~ dt \\\\ & = x \\endalign* \\]


  • 对于 \\(\\forall x_1 \\leq x_2, ~ y_1 \\leq y_2, ~ x_1, x_2, y_1, y_2 \\in [0, 1]\\)

\\[\\beginalign* & F_X, Y(x_2, y_2) + F_X, Y(x_1, y_1) - F_X, Y(x_2, y_1) - F_X, Y(x_1, y_2) \\\\ = & \\int^y_2_0 \\int^x_2_0 f_X, Y(s, t) ~ ds ~ dt + \\int^y_1_0 \\int^x_1_0 f_X, Y(s, t) ~ ds ~ dt ~ - \\\\& \\int^y_2_0 \\int^x_1_0 f_X, Y(s, t) ~ ds ~ dt - \\int^y_1_0 \\int^x_2_0 f_X, Y(s, t) ~ ds ~ dt\\\\ = & \\int^y_2_0 \\left( \\int^x_2_0 f_X, Y(s, t) ~ ds - \\int^x_1_0 f_X, Y(s, t) ~ ds \\right) ~ dt ~ + ~ \\\\ & \\int^y_1_0 \\left( \\int^x_1_0 f_X, Y(s, t) ~ ds - \\int^x_2_0 f_X, Y(s, t) ~ ds \\right) ~ dt \\\\ = & \\int^y_2_0 \\int^x_2_x_1 f_X, Y(s, t) ~ ds ~ dt ~ - \\int^y_1_0 \\int^x_2_x_1 f_X, Y(s, t) ~ ds ~ dt \\\\ = & \\int^y_2_y_1 \\int^x_2_x_1 f_X, Y(s, t) ~ ds ~ dt \\endalign* \\]


因此,由于 \\(x_2 \\geq x_1, ~ y_2 \\geq y_1\\),并且对于 \\(\\forall x, y \\in [0, 1]: ~ f_X, Y(x, y) \\geq 0\\),所以根据 Riemann Integration 的基本性质,可得:

\\[ \\int^y_2_y_1 \\int^x_2_x_1 f_X, Y(s, t) ~ ds ~ dt \\geq 0 \\]


这意味着:

\\[\\forall x_1 \\leq x_2, ~ y_1 \\leq y_2, ~ x_1, x_2, y_1, y_2 \\in [0, 1]: ~ F_X, Y(x_2, y_2) + F_X, Y(x_1, y_1) - F_X, Y(x_2, y_1) - F_X, Y(x_1, y_2) \\geq 0 \\]


因此函数 \\(F_X,Y(x, y)\\) is 2-increasing


综上所述,由 copula 的定义,即证毕函数 \\(F_X,Y(x,y)\\) 为一个 copula。


\\(\\Longrightarrow\\)

假设函数 \\(C(u, v)\\) 是一个 copula,那么它定义在 \\([0, 1] \\times [0, 1]\\) 之上,即 \\(u, v \\in [0, 1]\\)

Copula 满足 2-increasing, 那么对于 \\(\\forall u_1 \\leq u_2, ~ v_1 \\leq v_2\\)

\\[C(u_2, v_2) - C(u_2, v_1) - C(u_1, v_2) + C(u_1, v_1) \\geq 0 \\]


同时 \\(C(u, v)\\) 还应当满足:

\\[\\forall u, v \\in [0, 1]: ~ C(u, 1) = C(1, v) = 1, ~ C(u, 0) = C(0, v) = 0 \\]


那么自然能够求得 二维 copula \\(C\\) 的两个边缘分布:

\\[C_U = \\int^1_0 C(u, 1) ~ du = \\int^1_0 1 ~ du = 1\\\\ C_V = \\int^1_0 C(1, v) ~ dv = \\int^1_0 1 ~ dv = 1 \\]

Corollary 1. 证毕。




Corollary 2.

以下三个函数都为 copulas:

(a) \\(C^-(u, v) = \\max(u + v - 1, ~ 0)\\)

(b) $ C^+(u, v) = \\min(u, ~ v)$

(c) \\(C^\\perp(u, v) = u \\cdot v\\)




Definition 4.

对于两个 copulas: \\(C_1\\)\\(C_2\\),如果对于 \\(\\forall u, v \\in [0, 1]\\),都满足 \\(C_1(u, v) \\leq C_2(u, v)\\),则称 \\(C_1\\) 小于 \\(C_2\\),记作 \\(C_1 \\prec C_2\\)




Corollary 3.

对于任意一个 copula \\(C\\), 都有:\\(C^- \\prec C \\prec C^+\\)


----

Proof.

Copula \\(C\\) 是一个如下所示的二元函数:

\\[C: [0, 1] \\times [0, 1] \\longrightarrow \\mathbbR, \\qquad (u, v) \\longrightarrow C(u, v) \\]


根据定义,有:

\\[\\forall u \\in [0, 1]: ~ C(u, 1) = u\\\\ \\forall v \\in [0, 1]: ~ C(1, v) = v \\]


现在,我们在函数的正方形定义域 \\([0, 1] \\times [0, 1]\\) 内构造另外一个正方形,其中它的四个顶点的坐标分别为:

\\[(u, 0), ~ (1, 0), ~ (1, v), ~ (u, v) \\]


根据 2-increasing 的性质,我们有:

\\[C(1, v) + C(u, 0) \\geq C(1, 0) + C(u, v) \\]


一个 copula 根据定义必须 grounded,这意味着:

\\[C(u, 0) = C(1, 0) = 0 \\]


因此:

\\[C(1, v) \\geq C(u, v) \\]


相似地,我们可以建立另外一个正方形,通过相同操作得到:

\\[C(u, 1) \\geq C(u, v) \\]


因此我们已经证明:

\\[\\min(u, v) \\geq C(u, v) \\]


欲想证明 \\(C(u, ~ v) \\geq C^-(u, v)\\),首先注意到:

\\[\\beginalign* C(u, v) & = P(U \\leq u, ~ V \\leq v) = P(U \\leq u) + P(V \\leq v) - P(\\left\\ U \\leq u \\right\\ \\cup \\left\\ V \\leq v \\right\\)\\\\ & \\geq u + v - 1 \\endalign* \\]


根据定义,我们有:

\\[C(u, v) \\geq 0 \\]


因此:

\\[C(u, v) \\geq \\max(u + v - 1, ~ 0) = C^-(u, ~v) \\]


我们最终可得:

\\[C^-(u, v) \\leq C(u, v) \\leq C^+(u, v) \\]




Sklar Theorem (Sklar, 1959)

\\(F_1\\)\\(F_2\\) 为两个单变量分布函数,那么以下结论成立:

  1. 如果 \\(C\\) 是一个 copula,那么 \\(C(F_1(x), ~ F_2(y))\\) 是一个 bivariate distribution function。
  2. \\(F(x, y)\\) 是一个 bivariate distribution function,且拥有边界分布 \\(F_1\\)\\(F_2\\),那么恰好存在一个 copula \\(C\\) 使得 \\(F(x, y) = C(F_1(x), ~ F_2(y))\\)

注: 在 2. 中,copula 可以被表示为 \\(C(u, v) = F\\left( F^-1_1(x), ~ F^-1_2(y) \\right)\\)




Gaussian Copulas

对于一个二元高斯(正态)分布,其边际密度函数(marginal P.D.F.)分别为 \\(N(\\mu_1, \\sigma_1^2)\\)\\(N(\\mu_2, \\sigma_2^2)\\),且两个随机变量的相关系数为 \\(\\rho\\),我们则可以通过 Sklar Theorem 中的 1. 来求得 copula C。因为在对两个正态随机变量进行标准化(即 \\(\\fracX - \\mu_1\\sigma_1\\)\\(\\fracY - \\mu_2\\sigma_2\\))后,copula C 不再取决于边际函数(即两个正态随机变量)的变量与方差,而是仅仅取决于相关系数 \\(\\rho\\),即:

\\(\\phi\\) 记为标准正态分布,令 \\(\\phi_\\rho\\) 记作两个边际函数皆为标准正态分布的二元高斯分布, 且两边际随机变量的相关系数为 \\(\\rho\\),我们则有:

\\[C^G_\\rho(u, v) = \\phi_\\rho\\left( \\phi^-1(u), ~ \\phi^-1(v) \\right) \\]

同时,我们称 \\(\\left\\ C^G_\\rho : \\rho \\in [−1, 1] \\right\\\\) 为 “the family of Gaussian Copulas“。




Archimedean Copulas

生成器(Generator) \\(g\\) 是一个在 \\([0, 1]\\) 上严格递减的函数,且 \\(g(1) = 0\\)。一个 generator \\(g\\) 所对应的 Archimedean Copula 记作:

\\[C^A_g(u, v) = g^-1\\left( g(u) + g(v) \\right) \\]

其中,当 \\(g(0) < \\infty\\) 时,定义:\\(g^-1(x) = 0\\) for \\(\\forall x \\geq g(0)\\)




Gumbel

令:

\\[g_\\alpha(u) = (−\\logu)^\\alpha, \\qquad \\alpha \\in [1, \\infty] \\]

此时:

\\[C_\\alpha(u, v) = e^-\\left[ (-\\logu)^\\alpha + (-\\logv)^\\alpha\\right]^\\frac1\\alpha \\]




Clayton

令:

\\[g_\\alpha(u) = \\begincases \\alpha^−1 \\left( u^-\\alpha − 1 \\right) \\qquad \\quad \\alpha \\in \\left[−1, 0 \\right) \\cup \\left(0, \\infty \\right)\\\\ -\\logu \\qquad \\qquad \\qquad \\alpha = 0 \\endcases \\]

那么其对应的 Copula 为:

\\[C_\\alpha(u, v) = \\frac1\\left[ \\max(u^-\\alpha + v^-\\alpha - 1, ~ 0) \\right]^\\frac1\\alpha \\qquad \\qquad \\alpha \\in \\left[−1, 0 \\right) \\cup \\left(0, \\infty \\right) \\]




Frank

令:

\\[g_\\alpha(u) = \\begincases -\\log\\left[ \\frace^-\\alpha u-1e^-\\alpha-1 \\right] \\qquad \\quad \\alpha \\in \\mathbbR \\setminus \\left\\ 0 \\right\\ \\\\ -\\logu \\qquad \\qquad \\qquad \\alpha = 0 \\endcases \\]

那么其对应的 Copula 为:

\\[C_\\alpha(u, v) = -\\frac1\\alpha \\cdot \\log\\left[ 1 + \\frac(e^-\\alpha u-1)(e^-\\alpha v-1)e^-\\alpha-1 \\right] \\qquad \\qquad \\alpha \\in \\mathbbR\\setminus \\left\\ 0 \\right\\ \\]

以上是关于Copula的主要内容,如果未能解决你的问题,请参考以下文章

Copula函数理论

matlab使用Copula仿真优化市场风险

拟合正常 copula 时的“freeParam”错误 [R]

copula 与一般动词的区别

R语言COPULA和金融时间序列案例

从命名空间调用函数