mcpField
A
actuarial-risk-modeling

actuarial-risk-modeling

github.com/magnus919数据与数据库15358 次安装今天更新
代码仓库

关于 actuarial-risk-modeling

面向精算、保险和金融风险分析的统计建模方法技能,适用于从理赔和准备金到收益与组合损失等问题。它强调先匹配数据结构与模型假设,再验证校准、尾部表现、不确定性及使用边界,并附带只读数据检查脚本。

主要功能

  1. 01界定决策、数据契约与目标量
  2. 02按结果类型选择模型族
  3. 03检查假设、残差与敏感性
  4. 04设计符合部署场景的验证
  5. 05评估校准、尾部风险与不确定性
  6. 06提供只读数据预检和时间切分审计脚本

适用场景

  1. 01分析保险理赔频率、严重度或准备金
  2. 02评估金融收益、波动率或组合损失
  3. 03审查模型校准、回测和假设
  4. 04检查时间序列数据的验证切分与泄漏风险

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/magnus919/agent-skills --skill actuarial-risk-modeling

安装后在 Claude Code 中输入/actuarial-risk-modeling确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
evals/
evals.json
references/
applications-and-governance.md
diagnostics-and-communication.md
model-families.md
problem-framing.md
source-index.md
validation-and-calibration.md
scripts/
risk_preflight.py
temporal_split_audit.py
test_risk_scripts.py
templates/
model-brief.md
model-governance-record.md
model-report.md
validation-plan.md

详细介绍

精算与金融风险建模

概述

针对结果不确定的情形应用统计建模,重点关注分布假设、暴露量、依赖关系、尾部行为、校准和决策后果。 本技能以方法论为先:讲解模型选择与证据,而非特定的库或定价公式。

适用场景

当任务涉及以下内容时,加载本技能:

  • 保险定价、理赔、准备金、偿付能力、风险分类或经验费率;
  • 理赔频率、严重程度、纯保费、医疗支出、损失或事件时间结果;
  • 线性、广义线性、两部分、计数、生存、面板、纵向或尾部模型;
  • 金融收益、波动率、投资组合损失、风险度量或情景输出;
  • 校准、预测评估、回测、模型比较或假设诊断;
  • 向决策者解释模型结果、不确定性、局限性或使用控制措施。

不适用场景

  • 相邻领域的工作请使用上方的“决策入口”表。简而言之:data-scientist 负责一般统计、因果、实验和机器学习方法论;financial-modeling 负责确定性的运营、SaaS、融资和现金流模型。
  • 使用具名工具技能来操作预测、数据库或建模平台。
  • 请勿将输出作为持证精算、投资、法律、会计或监管建议。重大决策应交由合格从业者处理,并遵循适用标准。

决策入口

起始情形首要步骤接下来加载
保单、理赔或损失数据明确数据粒度、暴露量、目标和时间范围references/problem-framing.md
理赔发展三角或准备金估计确定事故、发展和日历结构以及估值边界references/applications-and-governance.md + references/validation-and-calibration.md
金融收益、波动率或有序观测值明确信息截止时间和预测范围references/model-families.md + references/validation-and-calibration.md
确定性的 SaaS、现金流或融资模型转用其他技能financial-modeling
通用因果、实验或机器学习方法论转用其他技能data-scientist

核心工作流

  1. 明确决策框架。 说明决策、受众、时间范围、观测单位、估计目标或预测目标、行动阈值,以及假阳性和假阴性的代价。区分描述性、预测性和因果性问题。

  2. 编写数据契约。 定义粒度、暴露量或抵消项、结果支持集、观测窗口和开发窗口、删失/截断、策略或账户边界、泄漏风险、缺失状态以及来源信息。

  3. 建模前先分析数据概况。 检查分布、零值、负值、偏斜、尾部集中度、依赖关系、重复实体、时间顺序、类别稀疏性、暴露量平衡和数据质量异常。使用 scripts/risk_preflight.py 进行只读初步检查。

  4. 选择最简单且有充分依据的模型系列。 在比较算法前,先使模型与结果及数据生成结构相匹配。加载 references/model-families.md 查看决策表。

    模型选择快速参考: 带暴露量的计数 → 带抵消项的计数 GLM;零值加正损失 → 两部分模型/频率-严重度模型;存在删失的事件时间 → 生存模型;有序观测 → 动态/时间序列模型;尾部决策 → 尾部感知或分位数模型,加压力敏感性分析。选择具体分布或链接函数前,加载 references/model-families.md。

  5. 拟合时避免污染评估。 将转换、插补、特征选择、校准、重采样和超参数选择都视为拟合流程的一部分。只能在获准的训练分区中拟合这些步骤。

  6. 诊断并进行检验。 检查残差结构、链接函数和方差假设、过度离散、零膨胀、高杠杆、多重共线性、分离、校准、依赖关系、删失、尾部拟合,以及对合理替代方案的敏感性。收敛标志不等于验证。

  7. 针对实际用途进行验证。 当部署边界要求时,使用分组、分块或滚动切分。报告点预测准确度、概率评分、校准、排序、尾部或总体损失表现、各细分群体的稳定性以及不确定性。使用 scripts/temporal_split_audit.py 审计按时间排序的分区。

    验证设计快速参考: 可交换观测 → 随机留出;重复实体或聚类 → 分组切分;按顺序部署 → 分块或滚动起点切分;开发数据或标签重叠 → 间隔/禁运期;大量调参或候选模型比较 → 嵌套验证。确定最终设计前,加载 references/validation-and-calibration.md。

  8. 比较并治理。 优先选择透明模型,除非更复杂的模型在与决策相关的指标上表现出足够优势,同时保持稳定、具有足够的可解释性且可监控。记录假设、覆盖项、局限性、审批,以及回滚或审查触发条件。

  9. 传达决策。 使用 templates/model-report.md,并说明哪些内容是观察所得、推断所得、假设所得、估计所得、无法识别以及未经测试的。包括单位、区间、情景定义、诊断结果和通俗易懂的建议。

必须区分的概念

  • 频率不等于严重度。 计数模型与正损失模型的支持集、暴露量、诊断方法和汇总规则各不相同。
  • 预测不等于因果关系。 有用的定价变量并不自动构成公平的因果解释,也不一定是获准使用的分类因子。
  • 校准不等于区分能力。 模型的排序能力可能很好,但给出的概率仍可能系统性地不准确。
  • 回测不等于证明。 历史上的成功可能源于制度变化、选择、泄漏或不可获得的信息。
  • 不确定性分层存在。 区分抽样误差、参数不确定性、过程方差、模型形式不确定性、情景不确定性和数据质量不确定性。
  • 准备金或风险估计是决策输入。 它并非独立于时间范围、假设和预期用途的客观事实。

最低分析要求

在提出建议前,说明:决策和估计目标;行粒度、时间范围、暴露量和信息截止时间;候选模型族及其支持集和依赖性假设为何适用;验证边界和指标;不确定性和敏感性;局限性和允许用途。如果其中任何一项未知,应将其标记为尚待确定的输入,而不是默默采用某种惯例。

故障模式速查

症状首要检查项路径
零值很多或方差高于均值暴露量、结构性零值、过度离散、依赖性references/model-families.md
排序能力强,但概率不准确分段校准、总体变化、重新校准边界references/validation-and-calibration.md
随机交叉验证优于下一时段表现特征可用性、实体/时间泄漏、修订、漂移references/validation-and-calibration.md
估计值随少数大额损失而变化数据来源、尾部拟合、阈值、压力和情景敏感性references/applications-and-governance.md
尚未完整发展就出现“无事件”删失、观测时间范围、报告延迟references/problem-framing.md

参考资料路由

参考资料何时加载
问题界定目标、粒度、暴露量、估计目标或决策不明确时
模型族选择回归、GLM、计数、严重度、生存、面板、时间序列或尾部模型时
验证与校准设计数据划分、回测、指标、校准、不确定性或压力测试时
应用与治理处理定价、准备金、偿付能力、可信度、风险分类或模型使用控制时
诊断与沟通审查假设、解读输出或撰写可安全支持决策的报告时
来源索引核查权威参考资料、适用范围或时效性时

模板和脚本

按阶段使用模板:数据处理前使用 model-brief.md;拟合或发布前使用 validation-plan.md;记录发现和决策时使用 model-report.md;受控部署、审查、监控或退役时使用 model-governance-record.md。

第一轮脚本为只读:拟合前运行 python3 scripts/risk_preflight.py input.csv --output preflight.json;存在有序数据或预测泄漏的可能时,运行 python3 scripts/temporal_split_audit.py observations.csv --time-column observed_at --output splits.json。

  • templates/model-brief.md — 决策、数据约定、估计目标和验收标准。
  • templates/validation-plan.md — 数据划分设计、指标、校准、压力测试和发布门槛。
  • templates/model-report.md — 以证据为依据的分析和沟通结构。
  • templates/model-governance-record.md — 所有权、假设、局限性、审批、监控和退役触发条件。
  • scripts/risk_preflight.py — 无依赖、只读的 CSV/JSONL 分析,并生成机器可读输出。
  • scripts/temporal_split_audit.py — 无依赖地审计按时间顺序划分的训练/测试窗口和泄漏边界。

可用脚本

脚本用途调用方式
scripts/risk_preflight.py对 CSV 或 JSONL 输入进行只读分析:统计分布、零值、负值、偏度、重复实体、风险敞口平衡情况和数据质量异常,并将结果写为机器可读的 JSON。在工作流第 3 步运行,在任何建模之前分析数据,然后再确定模型系列。python3 scripts/risk_preflight.py input.csv --output preflight.json
scripts/temporal_split_audit.py审核有序观测文件中的时间顺序训练/测试窗口和数据泄漏边界(必须提供 --time-column;--test-size、--step、--gap、--output 为可选参数)。每当观测数据按时间排序或可能发生预测数据泄漏时,在工作流第 7 步运行,并在相信任何验证结果之前完成审核。python3 scripts/temporal_split_audit.py observations.csv --time-column observed_at --output splits.json
scripts/test_risk_scripts.py离线 pytest 测试套件,覆盖上述两个脚本。修改任一脚本时,或审核其输出变更时运行。python3 -m pytest scripts/test_risk_scripts.py

这两个分析脚本均无需依赖,且绝不会修改输入。

完成门槛

只有在明确决策和数据契约、评估设计符合预期用途、记录诊断结果和敏感性分析、说明不确定性和局限性,并且独立读者能够根据引用的数据、代码、假设和环境复现所报告的结果后,才能将模型分析称为已完成。

前置条件

  • Python 3(仅使用标准库);两个分析脚本均无需依赖,也不需要第三方软件包。
  • CSV 或 JSONL 输入,且具有文档化的数据契约:粒度、风险敞口或偏移量、结果支持范围、观测窗口,以及时间列(用于拆分审核)——脚本只会分析你指定的数据,不会判断数据的含义。
  • 仅在运行随附的脚本测试时需要 pytest。

局限性

  • 这些脚本仅执行初步分析和拆分审核:不进行模型拟合、选择、校准或验证指标计算;初步检查结果正常并不能验证模型。
  • 两个脚本均不会修改输入;它们会将报告写入标准输出或 --output 路径,供你根据上文的“必要区分”进行解读。
  • 输出是有关数据和划分设计的证据,并非经许可的精算、投资、法律、会计或监管建议(参见“何时不应使用”)。

评论

支持 Markdown