人身险精算
用中国人身保险业经验生命表(2010—2013)算生存概率、平均余命、年金和寿险的精算现值、定期寿险的纯保费、现金流和准备金。
- 官方技能,由智元数据编写和维护
- 只调用智元数据的 REST 接口
- 1 个取数脚本,只用 Python 3 自带的库
- API Key 从环境变量 WI_API_KEY 读取
- 依赖的数据集
- 2
- 一次对话
- —
- 安装次数
- 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
一行是一张生命表在一个年龄的死亡率 qx。包含表号 CL1 到 CL6、业务类别(非养老类业务一表、非养老类业务二表、养老类业务表)、性别、年龄和死亡率。收录《中国人身保险业经验生命表(2010—2013)》的 6 张表,每张表 0 到 105 岁,共 636 行,经验数据来自 2010 至 2013 年 9 家寿险公司的保单。用来计算生存概率、年金和寿险的精算现值、定期寿险的纯保费和准备金。
636 行 · 8 个字段登录后查看授权
保险市场中国国债收益率曲线
treasury-yield-curve
一行是一个交易日一个关键期限的国债到期收益率。包含日期、期限(3 个月到 30 年共 9 个)、当日收益率,以及平台算的前 750 个交易日的移动平均。覆盖 2006 年 3 月到 2026 年 11 月的 5177 个交易日,共 46593 行。用来给保险负债和年金折现,750 日移动平均是保险合同准备金计量基准收益率曲线的基础部分。
46,593 行 · 6 个字段登录后查看授权
03技能内容
装进 Agent 的,全在这里
SKILL.md 可以看预览,也可以看原文。参考文件由平台按当前数据生成,需要时才读。
- 常驻约 145 token
- name 和 description,Agent 一直带着
- 触发后约 723 token
- 用到这个技能时读入 SKILL.md 正文
- 按需约 6,663 token
- 需要时才读参考文件、运行脚本
SKILL.md
59 行 · 约 868 token · 触发后读入--- name: actuarial-life description: 用中国人身保险业经验生命表(2010—2013,CL1 到 CL6)和国债收益率曲线算生存概率、平均余命、终身年金、终身寿险、定期寿险的精算现值和纯保费,以及定期寿险每年的现金流和准备金。用户说"生命表""年金现值""寿险纯保费""准备金""现金流"时使用。用平台的精算工具包 wi_actuarial(底层用 pyliferisk 交叉验证)写 Python 代码计算。 ---
人身险精算
第 1 步:选生命表和折现
| 用户说的 | table |
|---|---|
| 男性;没有说业务类型 | CL1(非养老类业务一表,男) |
| 女性;没有说业务类型 | CL2(非养老类业务一表,女) |
| 非养老类业务二表 | CL3(男)、CL4(女) |
| 养老金、年金业务 | CL5(男)、CL6(女) |
折现 curve:flat(固定利率 interest,默认 0.025)、latest(国债收益率曲线最新一天)、ma750(国债收益率曲线的 750 日移动平均)。
要看生命表或收益率曲线的原始数据,用:
python3 scripts/wi.py query insured-life-mortality --where "table_code = CL1" --where "age >= 30" --fields age,qx --limit 10 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="CL1", 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))
for row in r["tables"]["values"]["rows"]:
print(row)
for n in r["notes"]:
print("说明:", n)定期寿险每年的现金流和准备金:life.term_cashflow(table="CL1", age=35, term=20, sum_insured=500000, loading=0.25, expense_ratio=0.10)。打印 r["summary"] 和 r["tables"]["cashflows"]["rows"]。
怎么回答
- 结论:用户问的值(例如 ä、A、纯保费),写单位。
- 假设:生命表、性别、年龄、利率或曲线。
- 计算表:主要的值。固定利率时写出和 pyliferisk 的差。
- 数据和方法:生命表的出处(原中国保监会 2016 年发布,2017 年起使用),公式,
notes里的说明。 - 代码:原样附上。
规则
- 数字都要来自代码的输出。不要自己再乘除,不要编造数据。
- 回答里写出数据的性质:真实数据写出处,公开样例写"公开样例",演示数据写"演示数据,不是真实数据"。
- 回答里写出用了哪个库、哪个函数,以及结果里的说明(
notes)。 - 把运行的代码原样放在回答里,方便用户复算。
- 一次回答最多 6 次运行代码。互不依赖的计算放在同一段代码里。
04版本
发布后不修改,旧版本保留
数据或说明有变化时,平台发布新版本。旧版本仍然可以查看和下载。
版本 第 1 版2026/11/13 发布
历史版本下载阶段 10 第 3 步:精算方法 · 全部文件约 7,531 token