2.2 模型设计

与建设一座摩天大楼一样,一个好的精算模型需要在模型设计之初就进行规划,并设定一些原则。公司在精算模型设计的过程中需遵循功能完备性、一致性、参数化和表格驱动性、准确性和速度相平衡、前瞻性和“自动化”等6大原则。

1.功能完备性原则

一套好的精算模型应该拥有完备的功能支持精算日常工作。一般的精算模型需要实现法定准备金、会计准备金、偿付能力(包括偿二代)和内含价值等基本评估,还需同时实现相关的预测功能、变动分析、利源分析、其他各种精算分析、定价等功能。所谓功能“完备”性原则就是在一个模型的基础上能够满足所有功能的要求,并容易进行开发和管理。对于部分影响运行速度的功能,如定价需要采用目标求解、计算内在回报率(IRR),建议通过加载小的模块进行单独管理。

精算模型中各项功能并非独立,模型中实现的方式也不尽相同。各项功能可以通过3种方式实现:一是利用换算函数实现;二是利用现金流预测方法;三是运用保单变动和假设变化。即使公司需要拓展负债模型至资产负债模型,我们仍然坚持在同一个模型平台实现多项评估报告功能,完成负债模型评估,拓展资产负债管理功能,实施从资产/负债数据输入到结果输出及应用的统一规范流程。

2.一致性原则

模型开发是一项周期相对较长、参与人数众多的复杂项目。在项目开始阶段即制定并遵守一些基础性原则,将有利于提高模型综合质量并统一代码风格,也有利于公司未来的模型维护。一个关于所有建模人员须共同遵守的模型建模标准,对模型高质量的实施与维护将起到关键作用,尤其是代码质量应始终保持一贯的风格。在精算模型开发实务中,我们列出如下特别重要的原则与读者进行分享:

(1)避免死代码(hard coding),即使特殊形式的假设也不能在代码中写死,而应该用索引指向特殊假设的假设表。

(2)尽量采用直接计算,避免不必要的读表:精算软件并非专业的数据库处理软件,当表格的行列数量较大时,往往直接计算比读取表格参数更能提高运行效率。

(3)同一假设在不同评估基础的不同年份下,应保持表格类型和表格结构的一致性。

3.参数化和表格驱动原则

我们推荐参数化的方式建立精算模型,将产品进行分门别类后归纳为若干类核心产品进行开发,产品之间的差异(包括产品形态与各种评估要求的差异)通过放置于表格中的标示变量或开关变量进行区分。这种参数化的建模方式有利于提高新产品建模的效率及模型的统一、批量的维护和扩展。

4.准确性和速度相平衡原则

在模型设计过程中,需要从模型的准确性、复杂性与运行速度3个方面对各个设计细节进行全面的考虑。在模型运行速度方面,确保可以通过合理的设置达到支持法定准备金逐单评估的要求。公司需要定期检查代码质量、运行设置和模型点优化等方法提升模型运行效率,通常的方法包括如下:

①删除冗余代码,在公司模型管理中需要一直予以注意;

②合理设计数组变量的维度;

③尽量减少复杂运算;

④避免频繁读表;

⑤减少假设表的行数,选择适当的表格类型;

⑥按需设定预测时间的长度;

⑦仅计算或仅存储需要的变量结果。

5.前瞻性原则

前瞻性原则是公司精算模型设计的重要原则之一。模型的前瞻性设计需要确保未来产品的可拓展性、功能的可延续和扩展性、报告的多维度呈现等多方面内容。我们建议对偿二代资产评估模型、资产负债管理模型、资产份额法定价、经济资本等评估功能预留充分的接口。

6.“自动化”原则

所谓“自动化”原则并不是不需要精算专业人员操作,全部由精算软件自动完成,而是公司加强模型管理与运行的流程化和内控管理,并开发一系列辅助的工具,减少手工操作,从而提高工作效率,降低出错概率。该原则的落地实施需要定制一系列标准化的工作模板,包括结果输出报告模板、新业务量、假设表的生成维护模板等。