三、CVaR定义与数学表达:条件风险价值的公式、连续与离散分布下的表示
在完成VaR(在险价值)的度量框架后,我们面临一个关键问题:VaR仅描述了分布上的某个分位点,却无法回答“当损失超过该分位点时,平均损失究竟有多大”。这正是条件风险价值(Conditional Value at Risk, CVaR)所要填补的空白。CVaR又称期望损失(Expected Shortfall, ES)或尾部损失(Tail Loss),它衡量的是在给定置信水平下,损失分布尾部(即超过VaR阈值的部分)的条件期望值。本章将系统推导CVaR的数学定义,并分别给出连续型与离散型分布下的精确表达式,帮助学员建立从公式到计算、从理论到落地的完整认知。
上图从损失分布的角度展示了CVaR的本质:它关注的是分布右尾(即损失超过VaR阈值的区域)的平均损失水平。与VaR只给出一个分位点不同,CVaR将尾部所有极端损失纳入考量,因此对尾部风险更为敏感。下面我们从数学定义出发,逐步展开连续与离散两种情形下的精确表达。
3.1 CVaR的核心原理:从分位点到尾部期望
设随机变量 L 表示投资组合在持有期内的损失(正数表示亏损),其累积分布函数为 FL(l) = P(L ≤ l)。给定置信水平 α(通常取 95% 或 99%),VaRα 定义为损失分布的 α 分位数:
VaRα = inf{ l ∈ ℝ : FL(l) ≥ α }
直观上,VaRα 表示在 α 概率水平下,损失不会超过该值;但一旦损失真的超过 VaRα,其平均规模是多少?这正是 CVaR 要回答的问题。CVaRα 的正式定义为:
CVaRα(L) = E[ L | L ≥ VaRα ]
即“在损失超过 VaRα 的条件下,损失的条件期望”。这一概念最早由 Artzner 等(1999)在一致性风险度量框架下提出,后经 Rockafellar 和 Uryasev(2000, 2002)发展为可通过凸优化求解的实用工具。CVaR 之所以被称为“一致性风险度量”,是因为它满足单调性、正齐次性、平移不变性和次可加性四大公理,而 VaR 不满足次可加性,这意味着分散化投资在 VaR 框架下可能反而“增加”风险,这显然违背金融常识。
3.2 连续分布下的CVaR公式
当损失 L 为连续型随机变量,具有概率密度函数 fL(x) 时,CVaR 可以写成积分形式。根据条件期望的定义:
CVaRα(L) = (1 / (1-α)) · ∫VaRα∞ x · fL(x) dx
这里分母 (1-α) 是尾部概率,即 P(L ≥ VaRα) = 1 - FL(VaRα) = 1 - α(对于连续分布,等号严格成立)。分子是尾部区域的“概率加权损失总和”。这一公式的直观含义是:将尾部所有可能的损失值 x 按其概率密度 fL(x) 加权求和,再除以尾部总概率,得到尾部的平均损失。
对于常见的参数分布,CVaR 有解析表达式。以正态分布为例,若 L ~ N(μ, σ²),则:
CVaRα(L) = μ + σ · φ(Φ⁻¹(α)) / (1-α)
其中 φ(·) 为标准正态密度函数,Φ⁻¹(·) 为标准正态分位数函数。例如,当 α=0.99 时,Φ⁻¹(0.99)≈2.326,φ(2.326)≈0.0267,因此 CVaR = μ + σ × (0.0267/0.01) = μ + 2.67σ。而 99% VaR = μ + 2.33σ,可见 CVaR 比 VaR 多出约 0.34σ 的尾部风险溢价。
| 分布类型 | CVaRα 解析公式 | 适用场景 |
|---|---|---|
| 正态分布 N(μ, σ²) | μ + σ·φ(Φ⁻¹(α))/(1-α) | 资产收益率近似正态、中心极限定理适用 |
| t分布(ν自由度) | μ + σ·gν(tν⁻¹(α))·(ν+(t⁻¹)²)/((ν-1)(1-α)) | 厚尾数据、金融收益率常见 |
| 广义帕累托分布 GPD(ξ,β) | VaRα + (β + ξ·(VaRα-u))/(1-ξ),ξ<1 | 极值理论(POT)建模尾部 |
| 对数正态分布 | exp(μ+σ²/2)·Φ(σ-Φ⁻¹(α))/(1-α) | 资产价格、损失金额为正数 |
在实际应用中,若已知损失分布的具体形式,直接代入上述公式即可快速计算 CVaR。但需注意,正态分布假设往往低估尾部风险,实际金融数据常呈现“厚尾”特征,此时 t 分布或极值分布更为合适。
3.3 离散分布下的CVaR公式
在实务中,我们更多面对的是离散情景:历史模拟法产生的 N 个等权重历史损失样本,或蒙特卡洛模拟生成的 N 个情景,或压力测试设定的若干离散场景。此时损失分布是离散的,每个情景 Li 对应概率 pi(通常 pi = 1/N)。离散情形下,CVaR 的计算需要小心处理 VaR 分位点可能落在两个情景之间的情况。
设损失样本按升序排列:L(1) ≤ L(2) ≤ … ≤ L(N),对应概率 p(1), p(2), …, p(N)。给定置信水平 α,定义 k 为满足 Σi=1k p(i) ≥ α 的最小整数。则离散 CVaR 的精确公式为:
CVaRα = (1/(1-α)) · [ Σi=k+1N p(i)·L(i) + (Σi=1k p(i) - α)·L(k) ]
该公式的含义是:尾部区域由两部分组成——严格大于 VaR 阈值的情景(i=k+1 到 N),以及 VaR 阈值本身所在的情景(第 k 个情景)中超出 α 概率的那部分“残差”。第二项 (Σi=1k p(i) - α) 表示累积概率超过 α 的“多余概率质量”,这部分概率对应的损失恰好是 L(k)。
当所有情景等概率(pi = 1/N)时,公式可简化为:
CVaRα = (1/(N·(1-α))) · [ Σi=k+1N L(i) + (k - N·α)·L(k) ]
其中 k = ⌈N·α⌉(向上取整)。若 N·α 恰好为整数,则 k = N·α,此时第二项为零,CVaR 就是尾部 (N-k) 个损失样本的简单平均。
3.4 案例拆解:历史模拟法下的CVaR计算
我们通过一个完整的案例来演示离散 CVaR 的计算过程。假设某投资组合过去 10 个交易日的日损失(万元)为:
[120, 85, 200, 150, 95, 310, 75, 180, 140, 260]
我们计算 80% 置信水平下的 VaR 和 CVaR。首先将损失升序排列:
| 排序 i | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|---|
| 损失 L(i) | 75 | 85 | 95 | 120 | 140 | 150 | 180 | 200 | 260 | 310 |
| 累积概率 | 0.1 | 0.2 | 0.3 | 0.4 | 0.5 | 0.6 | 0.7 | 0.8 | 0.9 | 1.0 |
α=0.80,N=10,N·α=8 为整数,因此 k=8,VaR0.80 = L(8) = 200 万元。尾部情景为 i=9 和 i=10,即损失 260 和 310 万元。由于 N·α 为整数,第二项为零,CVaR 为尾部损失的平均:
CVaR0.80 = (260 + 310) / 2 = 285 万元
这意味着,在 80% 置信水平下,一旦损失超过 200 万元(即落入最差的 20% 尾部),平均损失为 285 万元。作为对比,若只看 VaR,我们只知道“有 80% 把握损失不超过 200 万”,但不知道尾部平均损失高达 285 万——这正是 CVaR 提供的增量信息。
现在考虑更一般的情形:若 α=0.85,则 N·α=8.5,k=⌈8.5⌉=9。VaR0.85 = L(9) = 260 万元。此时尾部情景为 i=10(损失 310),但累积概率从 0.8 到 0.9 之间还有“多余概率”需要处理。根据公式:
CVaR0.85 = (1/(10×0.15)) × [ 310 + (9 - 8.5)×260 ] = (1/1.5) × [310 + 130] = 440/1.5 ≈ 293.33 万元
注意这里的第二项 (9 - 8.5)×260 = 0.5×260 = 130,表示在 85% 分位点处,VaR 阈值 260 万元本身也有一部分“概率质量”落入尾部(因为累积概率从 0.8 到 0.9 的区间内,有 0.5 的概率质量对应损失 260 万元)。这种处理方式确保了 CVaR 计算的精确性,避免了简单平均带来的偏差。
3.5 连续与离散的统一视角与实操要点
尽管连续和离散公式在形式上不同,但它们的本质是统一的:CVaR 都是“尾部损失的条件期望”。连续公式通过积分实现,离散公式通过加权求和实现。在实际应用中,选择哪种形式取决于数据可得性和建模假设:
- 参数法:假设损失服从特定分布(正态、t、GPD等),使用解析公式。优点是计算快、便于敏感性分析;缺点是分布假设可能错误。
- 历史模拟法:直接使用历史损失样本,按离散公式计算。优点是无分布假设、直观;缺点是依赖历史数据质量,对极端事件代表性不足。
- 蒙特卡洛模拟:生成大量情景,按离散公式计算。优点是可灵活设定分布和相关性;缺点是计算量大,且模型风险较高。
- 极值理论(POT):对超过阈值的尾部数据用 GPD 拟合,再计算 CVaR。优点是专注于尾部、外推能力强;缺点是需要选择合适阈值,且样本量可能不足。
在编程实现方面,Python 中可使用 scipy.stats 计算参数分布的 CVaR,或使用 numpy 对历史样本排序后按公式计算。对于大规模组合,推荐使用 Rockafellar-Uryasev 的线性规划形式,因为它可以方便地嵌入优化框架,同时求解最优权重和 CVaR。