人身险精算
用行业经验表算人身险:第四套生命表(默认)和 2010—2013 版的年金、寿险现值和准备金,重疾险的纯保费,一批人的意外赔付。
- 官方技能,由智元数据编写和维护
- 只调用智元数据的 REST 接口
- 1 个取数脚本,只用 Python 3 自带的库
- API Key 从环境变量 WI_API_KEY 读取
- 依赖的数据集
- 5
- 一次对话
- —
- 安装次数
- 14
- 近 7 天调用
- 37
01怎么用
三步,让你的 Agent 用上这些数据
安装和设置只做一次。以后直接向你的 Agent 提问就行。
01
发安装语句
复制页头的安装语句,发给 你的 Agent。它会下载技能,装进自己的技能目录。可以在页头切换你用的 Agent。
02
设置 API Key
在终端里运行下面的命令,再启动 你的 Agent。
export WI_API_KEY=你的 API Key
创建 API Key03
直接提问
02依赖的数据集
这些数据集都要有授权
技能用到的数据集都要有授权才能查询。缺授权时,Agent 会告诉你缺哪一个。
保险市场第四套人身保险业生命表
insured-life-mortality-2025
一行是第四套行业生命表里一张表、一个性别、一个年龄的死亡率 qx。包含养老类业务表、非养老类业务一表、非养老类业务二表、单一生命体表 4 张表,每张表分男女,0 到 105 岁。用来算生存概率、年金和寿险的精算现值、定期寿险和健康险的纯保费和准备金。
848 行 · 8 个字段登录后查看授权
保险市场人身保险业经验生命表
insured-life-mortality
一行是一张生命表在一个年龄的死亡率 qx。包含表号 CL1 到 CL6、业务类别(非养老类业务一表、非养老类业务二表、养老类业务表)、性别、年龄和死亡率。收录《中国人身保险业经验生命表(2010—2013)》的 6 张表,每张表 0 到 105 岁,共 636 行,经验数据来自 2010 至 2013 年 9 家寿险公司的保单。用来计算生存概率、年金和寿险的精算现值、定期寿险的纯保费和准备金。
636 行 · 8 个字段登录后查看授权
保险市场重大疾病经验发生率表
critical-illness-incidence-2020
一行是行业重大疾病经验发生率表里一张表、一个性别、一个年龄(或年龄段)的发生率或比例。包含 6 种、25 种、28 种重疾和 3 种单病种的发生率表 10 张(含大湾区专属参考表),轻度与重度发生率之比,以及 3 张因重大疾病死亡比例表。用来算重疾险的纯保费、准备金和理赔预期。
2,394 行 · 15 个字段登录后查看授权
保险市场意外伤害经验发生率表
accident-incidence-2021
一行是行业意外伤害经验发生率表里一张表的一个值。这个值是一个性别、一个年龄(或年龄段)的意外身故发生率或伤残系数,或一个职业风险等级的风险系数。包含个人普通意外和学平少儿意外两类业务的身故发生率表、伤残系数表,以及 1 到 6 级职业等级风险系数参考表,发生率按件数算。用来算一年期个人意外险的纯保费,估计一批被保险人的意外身故和伤残赔付。
280 行 · 12 个字段登录后查看授权
保险市场中国国债收益率曲线
treasury-yield-curve
一行是一个交易日一个关键期限的国债到期收益率。包含日期、期限(3 个月到 30 年共 9 个)、当日收益率,以及平台算的前 750 个交易日的移动平均。覆盖 2006 年 3 月到 2026 年 11 月的 5177 个交易日,共 46593 行。用来给保险负债和年金折现,750 日移动平均是保险合同准备金计量基准收益率曲线的基础部分。
46,593 行 · 6 个字段登录后查看授权
03技能内容
装进 Agent 的,全在这里
SKILL.md 可以看预览,也可以看原文。参考文件由平台按当前数据生成,需要时才读。
- 常驻约 210 token
- name 和 description,Agent 一直带着
- 触发后约 1,385 token
- 用到这个技能时读入 SKILL.md 正文
- 按需约 8,557 token
- 需要时才读参考文件、运行脚本
SKILL.md
91 行 · 约 1,595 token · 触发后读入--- name: actuarial-life description: 用行业经验表做人身险精算。生命表默认用第四套《中国人身保险业经验生命表(2025)》,也能用 2010—2013 版。能算生存概率、平均余命、年金和寿险的精算现值、定期寿险的纯保费、现金流和准备金,用《重大疾病经验发生率表(2020)》算重疾险的纯保费,用《意外伤害经验发生率表(2021)》算一批人的意外赔付。用户说"生命表""年金现值""寿险纯保费""准备金""重疾险保费""重疾发生率""意外险赔付""意外发生率"时使用。用平台的精算工具包 wi_actuarial 写 Python 代码计算。 ---
人身险精算
第 1 步:选表
生命表 table
默认用第四套生命表。2026 年 1 月 1 日起评估法定准备金用它(金规〔2025〕21号)。用户明确要 2010—2013 版时才用旧表。
| 用户说的 | 第四套(默认) | 2010—2013 版 |
|---|---|---|
| 定期寿险、健康险、以死亡保障为主的终身寿险;没有说业务类型 | 2025-CL2-M(男)、2025-CL2-F(女) | CL1(男)、CL2(女) |
| 以生存保障为主的两全保险、年金保险,养老金 | 2025-CL1-M、2025-CL1-F | CL5、CL6 |
| 其他两全保险、年金保险、终身寿险 | 2025-CL3-M、2025-CL3-F | CL3、CL4 |
| 单一生命体表(只用于研究) | 2025-CL4-M、2025-CL4-F | 没有 |
表的选法按金规〔2025〕21号第三条。
第四套的表号和 2010—2013 版不同。第四套的 CL1 是养老类业务表,CL2 是非养老类业务一表。不要按旧表号套用。
折现 curve:flat(固定利率 interest,默认 0.025)、latest(国债收益率曲线最新一天)、ma750(国债收益率曲线的 750 日移动平均)。
重疾表 table(重疾险)
| 用户说的 | table |
|---|---|
| 重疾险;没有说病种(默认) | CI3(6 种重度疾病,2020版定义) |
| 28 种重疾 | CI4 |
| 2007 版定义的 6 种、25 种 | CI1、CI2 |
| 大湾区 | CI5、CI6(专属参考表,到 65 岁) |
| 恶性肿瘤、心梗、脑中风 | CI7、CI8、CI9(CI8、CI9 到 75 岁) |
死亡 mortality:2025(第四套非养老类业务一表,默认)、2010、none(不算死亡)。
意外表
business:personal(个人普通意外,0 到 105 岁)、student(学平少儿意外,0 到 18 岁)。occupation:mixed(混合职业)或 1 到 6 级。
看原始数据
python3 scripts/wi.py query insured-life-mortality-2025 --where "table_code = CL2" --where "sex = 男" --where "age >= 30" --fields age,qx --limit 10 python3 scripts/wi.py query critical-illness-incidence-2020 --where "table_code = CI3" --where "sex = 女" --fields age,rate --limit 120 python3 scripts/wi.py query accident-incidence-2021 --where "table_code in CA1,CA2" --where "sex = 男" --fields table_code,age,age_to,rate --limit 300 python3 scripts/wi.py query treasury-yield-curve --where "date >= 2026-11-01" --fields date,tenor_years,yield_pct,ma750_pct --limit 100
第 2 步:算
精算现值和纯保费:
import json
from wi_actuarial import life
r = life.table_values(table="2025-CL2-M", age=30, term=20, sum_insured=100000, interest=0.025, curve="flat")
print(json.dumps(r["summary"], ensure_ascii=False))
print(json.dumps(r["inputs"], ensure_ascii=False))
print(json.dumps(r["data"], ensure_ascii=False))
for row in r["tables"]["values"]["rows"]:
print(row)
for n in r["notes"]:
print("说明:", n)其他函数的打印方法相同:
- 定期寿险每年的现金流和准备金:
life.term_cashflow(table="2025-CL2-M", age=35, term=20, sum_insured=500000, loading=0.25, expense_ratio=0.10)。表格是r["tables"]["cashflows"]。 - 重疾险的纯保费:
life.ci_premium(table="CI3", sex="男", age=30, term=20, pay_years=20, sum_insured=300000, interest=0.025, mortality="2025")。确诊即给付,给付后合同终止,身故不给付。表格是r["tables"]["years"]。 - 一批人一年的意外赔付:
life.accident_cohort(business="personal", age_from=25, age_to=55, people=10000, male_share=0.5, occupation="mixed", death_benefit=500000, disability_benefit=500000)。表格是r["tables"]["ages"]。
怎么回答
- 结论:用户问的值(例如 ä、A、纯保费、期望赔付),写单位。
- 假设:用的表(版本和表号)、性别、年龄、利率或曲线。
- 计算表:主要的值。固定利率时写出和 pyliferisk 的差。
- 数据和方法:
data里的出处,公式,notes里的说明。 - 代码:原样附上。
规则
- 数字都要来自代码的输出。不要自己再乘除,不要编造数据。
- 回答里写出数据的性质和出处。重疾表和意外表的表值按精算后花园的转载页录入,不是官方的数值文件。用到它们时要写出这一点。
- 回答里写出用了哪个库、哪个函数,以及结果里的说明(
notes)。 - 纯保费只含保险责任的期望成本,不含费用和利润,不是任何产品的定价。最终价格由精算和核保人员决定。
- 把运行的代码原样放在回答里,方便用户复算。
- 一次回答最多 6 次运行代码。互不依赖的计算放在同一段代码里。
04版本
发布后不修改,旧版本保留
数据或说明有变化时,平台发布新版本。旧版本仍然可以查看和下载。
版本 第 2 版2026/11/13 发布
历史版本下载接入第四套生命表(默认)、重疾表(2020)、意外表(2020 年后的 2021 版);新增重疾险纯保费和意外赔付 · 全部文件约 10,152 token