2. 寿险精算基础
在寿险定价、准备金评估与死亡率建模中,我们真正要刻画的对象并不是“某个人会不会死”,而是“一个刚出生或已存活到某年龄的人,在未来各年龄上的存活与死亡规律”。这套规律由几个彼此等价、可相互推导的数学工具描述:生存函数、死亡力、剩余寿命的概率分布以及期望寿命。理解它们之间的换算关系,是后续构建生命表、拟合死亡率模型的语言基础。
一、核心原理:从生存函数出发的四件套
设新生儿寿命为随机变量 \(X\),其生存函数定义为 \(S(x)=P(X>x)\),表示活过 \(x\) 岁的概率。与之配套的是分布函数 \(F(x)=1-S(x)\),即 \(x\) 岁前死亡的概率。对已存活到 \(x\) 岁的人,其剩余寿命 \(T_x\) 的生存函数为条件概率:
S_{T_x}(t) = P(T_x > t) = S(x+t) / S(x)
由此得到生命表中最常用的两个量:\(t\) 年内生存概率 \({}_tp_x=S(x+t)/S(x)\),以及 \(t\) 年内死亡概率 \({}_tq_x=1-{}_tp_x\)。当 \(t=1\) 时即得年生存概率 \(p_x\) 与年死亡概率 \(q_x\)。
死亡力(force of mortality)\(\mu(x)\) 是瞬时死亡率,定义为:
μ(x) = lim_{Δx→0} P(x<X≤x+Δx | X>x) / Δx = -S'(x)/S(x)
它描述“活到 \(x\) 岁的人在下一瞬间死亡”的强度,是连续时间建模的核心参数。由上式可得 \(S(x)=\exp(-\int_0^x \mu(u)du)\),即死亡力与生存函数互为指数关系。死亡力常呈“浴盆曲线”:婴幼儿期较高、青壮年低平、老年期快速上升。
关键等价关系:生存函数、死亡力、概率密度 \(f(x)=-S'(x)=\mu(x)S(x)\) 三者只要知道其一,即可推出其余两个。生命表建模本质上就是选择一种死亡力形式(如 Gompertz、Makeham、Lee-Carter)去逼近真实数据。
二、方法流程:从死亡力到期望寿命的计算链
实际建模中,我们通常按以下顺序推进:
- 确定死亡力假设形式,例如 Gompertz 形式 \(\mu(x)=Bc^x\) 或 Makeham 形式 \(\mu(x)=A+Bc^x\)。
- 积分得到生存函数 \(S(x)=\exp(-\int_0^x \mu(u)du)\)。
- 由 \(S(x)\) 计算离散生命表函数 \(l_x=l_0\cdot S(x)\),通常取 \(l_0=100000\)。
- 计算 \({}_tp_x\)、\(q_x\)、\(d_x=l_x-l_{x+1}\) 等表格列。
- 求期望寿命:完整期望寿命 \(e_x^\circ=\int_0^\infty {}_tp_x\,dt\),离散整值期望寿命 \(e_x=\sum_{k=0}^\infty {}_kp_x\)。
下面给出一个用 Python 从 Gompertz 死亡力计算生存函数与期望寿命的最小示例:
import numpy as np
from scipy.integrate import quad
B, c = 0.00005, 1.1
mu = lambda x: B * c**x
S = lambda x: np.exp(-quad(mu, 0, x)[0])
# 计算 40 岁整值期望寿命
e40 = sum(S(40 + k) / S(40) for k in range(0, 120))
print(round(e40, 2)) # 输出约 38.6
这段代码体现了“死亡力 → 生存函数 → 期望寿命”的完整链路,也是后续章节构建真实生命表时的骨架。
三、可视化:生存曲线与死亡力曲线的对应关系
下图把同一组参数下的生存函数 \(S(x)\) 与死亡力 \(\mu(x)\) 放在同一坐标系中对照,帮助建立“曲线形状 ↔ 参数含义”的直觉:生存曲线下降越快,对应死亡力越高;老年段死亡力陡升,正是生存曲线尾部加速下坠的原因。
四、案例与场景:一张小生命表的读法
假设某产品定价采用简化生命表,取 \(l_0=100000\),部分数据如下。通过这张表可以直观看到 \(q_x\)、\(p_x\)、\(d_x\) 与 \(e_x\) 的联动关系:
| 年龄 x | l_x | d_x | q_x | p_x | e_x(整值) |
|---|---|---|---|---|---|
| 0 | 100000 | 1200 | 0.0120 | 0.9880 | 76.5 |
| 40 | 96500 | 290 | 0.0030 | 0.9970 | 39.2 |
| 60 | 88200 | 1320 | 0.0150 | 0.9850 | 22.4 |
| 80 | 52000 | 5200 | 0.1000 | 0.9000 | 8.6 |
读表要点:\(q_x=d_x/l_x\),\(p_x=1-q_x\),\(e_x\) 随年龄增长而下降,但并非线性——这正是死亡力随年龄变化在期望寿命上的累积体现。在寿险定价中,\(q_x\) 决定风险成本,\(e_x\) 影响年金类产品的给付期估计。
建模提示:当数据稀疏(如高龄段样本少)时,直接估计 \(q_x\) 波动很大,通常先对死亡力 \(\mu(x)\) 做参数化或平滑,再反推 \(q_x\),可显著提升生命表尾部的稳定性。
五、常见误区与复盘
- 混淆 \(S(x)\) 与 \({}_tp_x\):前者是新生儿视角的绝对生存概率,后者是已活到 \(x\) 岁者的条件生存概率,分母不同,不可直接互换。
- 把死亡力当作年死亡概率:\(\mu(x)\) 是瞬时强度,量纲为“每年”,与 \(q_x\) 在数值上接近但不等,只有在死亡率很低时二者才近似相等。
- 忽略期望寿命的两种定义:完整期望寿命 \(e_x^\circ\) 与整值期望寿命 \(e_x\) 相差约 0.5 年,混用会导致年金给付期估计偏差。
- 用单一分布硬套全年龄:婴幼儿与高龄段的死亡规律差异极大,实战中常分段建模或引入 Makeham 项修正。
复盘一句话:死亡力是“因”,生存函数是“果”,概率分布是“桥”,期望寿命是“汇总指标”。把这四者的换算练熟,后续构建生命表、拟合 Lee-Carter 模型时,才不会在公式推导与参数解释之间迷失方向。