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)去逼近真实数据。

二、方法流程:从死亡力到期望寿命的计算链

实际建模中,我们通常按以下顺序推进:

  1. 确定死亡力假设形式,例如 Gompertz 形式 \(\mu(x)=Bc^x\) 或 Makeham 形式 \(\mu(x)=A+Bc^x\)。
  2. 积分得到生存函数 \(S(x)=\exp(-\int_0^x \mu(u)du)\)。
  3. 由 \(S(x)\) 计算离散生命表函数 \(l_x=l_0\cdot S(x)\),通常取 \(l_0=100000\)。
  4. 计算 \({}_tp_x\)、\(q_x\)、\(d_x=l_x-l_{x+1}\) 等表格列。
  5. 求期望寿命:完整期望寿命 \(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)\) 放在同一坐标系中对照,帮助建立“曲线形状 ↔ 参数含义”的直觉:生存曲线下降越快,对应死亡力越高;老年段死亡力陡升,正是生存曲线尾部加速下坠的原因。

年龄 x(岁) 概率 / 死亡力 0 20 40 60 80 100 S(x) 生存函数 μ(x) 死亡力 同一 x 处两曲线对应

四、案例与场景:一张小生命表的读法

假设某产品定价采用简化生命表,取 \(l_0=100000\),部分数据如下。通过这张表可以直观看到 \(q_x\)、\(p_x\)、\(d_x\) 与 \(e_x\) 的联动关系:

年龄 xl_xd_xq_xp_xe_x(整值)
010000012000.01200.988076.5
40965002900.00300.997039.2
608820013200.01500.985022.4
805200052000.10000.90008.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 模型时,才不会在公式推导与参数解释之间迷失方向。