人身险精算

用中国人身保险业经验生命表(2010—2013)算生存概率、平均余命、年金和寿险的精算现值、定期寿险的纯保费、现金流和准备金。

官方技能第 1 版 · 2026/11/13 发布这是旧版本
  • 官方技能,由智元数据编写和维护
  • 只调用智元数据的 REST 接口
  • 1 个取数脚本,只用 Python 3 自带的库
  • API Key 从环境变量 WI_API_KEY 读取
依赖的数据集
2
一次对话
—
安装次数
14
近 7 天调用
37

01怎么用

三步,让你的 Agent 用上这些数据

安装和设置只做一次。以后直接向你的 Agent 提问就行。

  1. 01

    发安装语句

    复制页头的安装语句,发给 你的 Agent。它会下载技能,装进自己的技能目录。可以在页头切换你用的 Agent。

  2. 02

    设置 API Key

    在终端里运行下面的命令,再启动 你的 Agent。

    export WI_API_KEY=你的 API Key

    创建 API Key
  3. 03

    直接提问

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"]。

怎么回答

  1. 结论:用户问的值(例如 ä、A、纯保费),写单位。
  2. 假设:生命表、性别、年龄、利率或曲线。
  3. 计算表:主要的值。固定利率时写出和 pyliferisk 的差。
  4. 数据和方法:生命表的出处(原中国保监会 2016 年发布,2017 年起使用),公式,notes 里的说明。
  5. 代码:原样附上。

规则

  1. 数字都要来自代码的输出。不要自己再乘除,不要编造数据。
  2. 回答里写出数据的性质:真实数据写出处,公开样例写"公开样例",演示数据写"演示数据,不是真实数据"。
  3. 回答里写出用了哪个库、哪个函数,以及结果里的说明(notes)。
  4. 把运行的代码原样放在回答里,方便用户复算。
  5. 一次回答最多 6 次运行代码。互不依赖的计算放在同一段代码里。

04版本

发布后不修改,旧版本保留

数据或说明有变化时,平台发布新版本。旧版本仍然可以查看和下载。

  1. 版本 第 6 版2026/11/14 发布

    简介改短,页头两行以内 · 全部文件约 18,168 token

  2. 版本 第 5 版2026/11/14 发布

    历史版本查看下载

    核对时写明比较两张表的方向。 · 全部文件约 18,168 token

  3. 版本 第 4 版2026/11/14 发布

    历史版本查看下载

    精算方法库第 1 批收尾:按领域整理的技能。 · 全部文件约 18,119 token

  4. 版本 第 3 版2026/11/14 发布

    历史版本查看下载

    更新平台维护的文件:空间数据可以按行政区划取(--region、--geometry)。按当前数据重新生成参考文件。 · 全部文件约 13,845 token

  5. 版本 第 2 版2026/11/13 发布

    历史版本查看下载

    接入第四套生命表(默认)、重疾表(2020)、意外表(2020 年后的 2021 版);新增重疾险纯保费和意外赔付 · 全部文件约 10,152 token

  6. 版本 第 1 版2026/11/13 发布

    历史版本下载

    阶段 10 第 3 步:精算方法 · 全部文件约 7,531 token