一种利用电子表格进行寿险精算模型校验的方法

文档序号:661712 发布日期:2021-04-27 浏览:19次 >En<

阅读说明:本技术 一种利用电子表格进行寿险精算模型校验的方法 (Method for checking life insurance actuarial model by using spreadsheet ) 是由 陈森 陈曦 于 2020-12-31 设计创作,主要内容包括:本发明公开一种利用电子表格进行寿险精算模型校验的方法。所述方法包括:基于产品形态设计精算模型;利用专业精算软件,基于计算机编程语言建立实现所述精算模型的第一模型;在电子表格上建立实现所述精算模型的第二模型,将第二模型转换成基于所述计算机编程语言的第三模型;比较在指定样本上运行第一模型和第三模型的结果是否一致,对所述精算模型进行验证。本发明能够解决现有技术利用电子表格模型公式进行校验,只能在一行中通过公式套用来表达逻辑,复杂的计算过程需要的公式很长、套用层级众多,从而无法清晰展现其逻辑结构,使模型校验的时间很长等问题。(The invention discloses a method for checking a life insurance actuarial model by using a spreadsheet. The method comprises the following steps: designing a actuarial model based on the product form; establishing a first model for realizing the actuarial model based on a computer programming language by using professional actuarial software; building a second model on the spreadsheet that implements the actuarial model, converting the second model to a third model based on the computer programming language; and comparing whether the results of the first model and the third model which are run on the specified sample are consistent or not, and verifying the actuarial model. The invention can solve the problems that the prior art uses a spreadsheet model formula to carry out verification, can only express logic in one line by formula application, needs very long formula and multiple application levels in a complex calculation process, cannot clearly show the logic structure of the complex calculation process, has long time for model verification and the like.)

一种利用电子表格进行寿险精算模型校验的方法

技术领域

本发明属于寿险精算评估技术领域,具体涉及一种利用电子表格进行寿险精算模型校验的方法。

背景技术

寿险精算评估是指保险公司依据人口统计和经济学基本原理、相关技术标准要求以及行业普遍操作惯例,针对所考察人身保险产品进行包括准备金、偿付能力、内含价值等在内的一系列相关财务结果进行计算的一种重要的工作和技术手段。根据相关法律法规要求,寿险公司需要定期测算上述财务结果,并上报特定监管机构和(或)向公众发布。

寿险精算评估工作需要依赖寿险精算模型进行。用于寿险评估工作的寿险精算模型以保险公司销售的产品为基础,使用精算评估专业方法,定量刻画保险公司未来包括保费和理赔支出等在内的各项现金流、负债、偿付能力成本、利润以及现金流和利润的折现值的数学模型。精算模型通常由大量的相互关联的时间序列构成,不同的时间序列具有不同的精算含义,比如单张特定保单在未来每个单位时间段的预测死亡概率、在每个时间段末保持有效的概率、特定产品特定赔付类别的赔付标准、在未来特定时间段内的预期赔付现金流、寿险公司在未来特定时间段内的费用支出预期、投资回报预期、负债成本预期、偿付能力成本预期等等。

在寿险评估工作中,上述所有时间序列之间的相互关系基于一定的精算建模软件、通过特定的计算机语言在寿险评估模型中记载和体现。具体形式上,可认为每个时间序列的内在计算逻辑可用一个特定的函数来表示。例如:假定函数deathClaim(t)代表了在t时间段内预测的死亡给付现金流,在精算软件使用C语言为载体记录逻辑的情况下,用inForce(t)、inForceRate(t)、mortalityRate(t)和deathBenefit(t)代表另外四个时间序列,分别为特定时间段保单是否有效(inForce)、该时间段区间初保单保持有效的概率(inForceRate)、若在未来特定时间段初被保险人仍然存活,而在该时间段内被保险人死亡的概率(mortalityRate)和合同载明的在未来特定时间段内被保险人可获得的死亡给付金额——在t时点的计算结果。

因此,精算专业人员的评估模型搭建工作,可被认为是使用特定精算建模软件,基于特定计算机语言,就上述成百上千时间序列背后的逻辑函数的编写工作。其中,很多函数的逻辑结构远比上述用于直观示例的结构复杂得多。精算专业人员在完成这些函数的编写后,通过精算软件编译所设置的所有函数,针对特定保单数据运行模型,查看样本保单的结果。若认为这些样本结果是正确的,则会进一步将模型连接至完整的评估保单数据库,逐单运行该模型,将所得结果加总,继续检查确认后供下一步报告或分析使用。完整的评估保单数据库通常有几万到几百万条数据,测算时间在十几分钟到十几个小时不等。这是寿险精算评估工作中最耗时的工作步骤。保险公司会通过内外部审阅人员进一步抽样检查评估模型的正确性,若发现模型中仍存在错误,则需翻工重算。为此,保险公司要求精算建模人员使用电子表格进行平行建模,并随机抽取一定的样本模型点,在评估工作的关键节点,比较电子表格模型和精算软件模型之间的结果是否一致,用以判断精算软件模型是否可靠。

电子表格,又称电子数据表,是一类模拟纸上计算表格的计算机程序。电子表格使用表格公式表达计算逻辑,精算软件使用计算机程序语言表达逻辑。建模人员在校验精算模型时,当发现两者结果不一致时,则需要在两种模型的表达形式间来回比对确认。假设在建模人员使用Excel建立表格模型,在其电子工作表中,建模人员基于每个电子表格列代表特定时间序列,而列中的每一单元格代表时间序列节点。在这个模型中,X列代表未来每个时间段内死亡给付预期,P列代表在未来特定时间段内保单是否仍在保险期间内,Q列代表在该时间段初保单依旧有效的概率,R列代表若被保险人在该时间段初仍然存活,则其在该时间段内死亡的概率,H列代表依据保单合同所测算的被保险人在该时间段内的死亡给付,第22行代表预测过程的0时间点,则在用于推算第100个月的预期死亡给付的单元格X100中的公式为“=IF(P100,Q100*R100*H100,0)”,对比其在精算软件中的表达形式,显然不够直观。校验人员需要记住公式中出现的P、Q、R、H列代表的时间序列,才能了解该公式的含义。一个精算模型包含成千上万个时间序列,则其用于校验的电子表格模型必也需包含成千上万个列。校验人员要完整无误的记住它们是不可能的,只能在校验工作中反复前后翻阅。同时,电子表格模型公式只能在一行中通过系统公式套用来表达逻辑。对于复杂的计算过程,这些公式就会很长,系统公式套用层级众多,因而无法清晰展现其逻辑结构。最终导致的结果便是,基于电子表格模型进行检验的时间可能比基于精算软件进行模型搭建的时间还要长。

发明内容

为了解决现有技术中存在的上述问题,本发明提出一种利用电子表格进行寿险精算模型校验的方法。

为实现上述目的,本发明采用如下技术方案:

一种利用电子表格进行寿险精算模型校验的方法,包括以下步骤:

步骤1,基于产品形态设计精算模型;

步骤2,利用专业精算软件,基于计算机编程语言建立实现所述精算模型的第一模型;

步骤3,在电子表格上建立实现所述精算模型的第二模型;

步骤4,将第二模型转换成基于计算机编程语言的第三模型;

步骤5,通过比较在指定样本上运行第一模型和第三模型的结果是否一致,对所述精算模型进行校验。

与现有技术相比,本发明具有以下有益效果:

本发明通过基于产品形态设计精算模型,利用专业精算软件,基于计算机编程语言建立实现所述精算模型的第一模型,在电子表格上建立实现所述精算模型的第二模型,将第二模型转换成基于所述计算机编程语言的第三模型,比较在指定样本上运行第一模型和第三模型的结果是否一致,实现对所述精算模型进行验证,能够解决现有技术利用电子表格模型公式进行校验,只能在一行中通过公式套用来表达逻辑,复杂的计算过程需要的公式很长、套用层级众多,从而无法清晰展现其逻辑结构,使模型校验的时间很长(可能比基于精算软件进行模型搭建的时间还要长)等问题。

附图说明

图1为本发明实施例一种利用电子表格进行寿险精算评估模型校验的方法的流程图。

具体实施方式

下面结合附图对本发明作进一步详细说明。

本发明实施例一种利用电子表格进行寿险精算模型校验的方法,流程图如图1所示,所述方法包括以下步骤:

S101、基于产品形态设计精算模型;

S102、利用专业精算软件,基于计算机编程语言建立实现所述精算模型的第一模型;

S103、在电子表格上建立实现所述精算模型的第二模型;

S104、将第二模型转换成基于计算机编程语言、去掉嵌套公式层级的第三模型;

S105、通过比较在指定样本上运行第一模型和第三模型的结果是否一致,对所述精算模型进行校验。

在本实施例中,步骤S101主要用于基于产品形态设计精算模型。为了便于理解技术方案,下面给出一个实例。某保险公司现在新开发了一款缴费期10年、保障期为20年、死亡赔付保额的定期寿险产品,需要为该产品搭建适用相关准则的精算模型。首先,建模人员根据条款确认与产品相关的所有现金流(为了简便,模型不考虑公司销售维护该产品需要的费用,并简化掉退保金的计算过程),包括:在客户开始保障的日期起20年内,若客户生存且保单没有终止,则客户每年按约定交纳保费;如果客户死亡且死亡前保单有效,则公司按约定的保额赔付给客户的受益人,赔付后保单终止;若客户在20年内退保,则公司按约定的对应当前时间点的退保金(不同保单年度对应的退保金不一样)给付给客户,给付后保单终止。然后,建立模型预测与此产品相关的现金流:预期保费收入,预期死亡赔付支出,预期退保支出。由于在不同准则下计算预期现金流的假设和方法可能不同,模型需要为每一相关准则单独预测上述现金流。

在本实施例中,步骤S102主要用于基于计算机编程语言建立所述精算模型。为了便于描述,我们称利用计算机编程语言建立的精算模型为第一模型。可用来建模的计算机编程语言很多,例如C语言,本实施例对具体的编程语言不做限制。

在本实施例中,步骤S103主要用于在电子表格上建立所述精算模型。同样,为了便于描述,我们称在电子表格上建立的精算模型为第二模型。建立第二模型的目的是为了对所述精算模型进行校验。现有技术就是通过直接将在电子表格上建立的第二模型的运行结果与第一模型的运行结果进行比较,校验所述精算模型。本实施例对使用的电子表格软件不作限制,最常采用的电子表格是Excel。

在本实施例中,步骤S104主要用于将第二模型转换成第三模型。如前述,直接利用在电子表格上建立的第二模型的运行结果进行校验,存在很多不足,比如公式长、公式嵌套层级多、模型校验时间长等。为此,本实施例将在电子表格上建立的第二模型转换成基于计算机编程语言的、去掉嵌套公式层级的第三模型。嵌套公式的使用级别代表了公式的嵌套层级。若一个公式不以公式参数的形式存在于任何其它公式调用过程的内部,则其使用级别为0;否则,其使用级别为调用其作为参数的外层公式的使用级别加1。

在本实施例中,步骤S105主要用于对所述精算模型进行校验。校验方法是:在相同的指定样本上分别运行第一模型和第三模型,通过比较两个模型的结果是否一致,对所述精算模型进行校验。

作为一种可选实施例,所述第二模型是基于下面约定建立的:

表格列用于进行预测,一个列代表一个时间序列;

表格行用于表示时间点,以指定的第m行为预测起点即第一个时间点,第m+i-1行为第i个时间点,i=1,2,…,I,I为时间点数量;

每一时间序列的所有时间点的单元格的内容均为表示所述时间序列的公式,第m-2行为所述时间序列的名称;

模型中的所有非时间序列计算对象,均位于指定的第n列,每个非时间序列计算对象的单元格的左侧单元格的内容为它的名称;

嵌套公式的第k个中间变量表示为:let var_k:=表达式。

本实施例给出了在电子表格上建立第二模型的一些主要约定。这些给定主要是针对模型中包含的时间序列和非时间序列计算对象,比如它们的公式及名称的行列位置,以及嵌套公式中间变量的表示方法等。本实施例只是给出了一些比较重要常用的约定,并不包含所有约定,也不排斥对同一内容不同的约定方法,比如,非时间序列计算对象的位置,时间序列时间0点的位置等。

作为一种可选实施例,所述S104具体包括:

S1041、以字符串形式提取第二模型中由时间序列和/或非时间序列计算对象组成的电子表格公式;

S1042、将成对引号内包含的内容转换为字符串中间变量,成对引号内包含的引号作为字符串中的引号处理;

S1043、以电子表格软件定义的函数或运算符号为分隔符,提取函数名和计算对象的关键词;

S1044、根据地址命名规则确定包含单元格地址的关键词,并从中提取单元格的行列地址,如果所述单元格的列地址为n,则所述单元格内为非时间序列计算对象,从所述单元格左侧的单元格内获取非时间序列计算对象的名称,并用所述名称替换所述关键词;如果所述单元格的列地址不等于n且行地址大于或等于m,则所述单元格内为时间序列,从所述单元格所在列的第m-2行获取时间序列的名称f,并确定对应的固定时间节点或时间节点变量t的表达式,用f(固定时间节点)或(t的表达式)替换所述关键词;

S1045、从左到右扫描上一步得到的字符串的每个字符,当扫描到“关键词+左括号”子字符串时,开始统计左括号和右括号出现的次数,当左括号和右括号出现的次数相等时,得到一个完整的嵌套公式;

S1046、从所述嵌套公式的最高使用级别的字符串开始,利用中间变量替换非0使用级别的公式,并根据规则集将所述嵌套公式转换为最高使用级别为0的无嵌套公式;所述规则集用于将电子表格公式中的关键字转换为编程语言的关键字,所述关键字包括运算符、括号、函数、控制语句。

本实施例给出了将电子表格模型转换成编程语言模型的一种技术方案。

在本实施例中,步骤S1041用于将第二模型中的电子表格公式表示成字符串形式。例如,如果在A1单元格的原始公式为:IF($W$2=“M”,FLOOR(1.1),$K$3)+7,则提取字符串为:IF($W$2=“M”,FLOOR(1.1),$K$3)+7。

在本实施例中,步骤S1042用于对成对引号内字符串的处理。将成对引号内包含的内容转换为字符串中间变量。比如,将IF($W$2=“M”,FLOOR(1.1),$K$3)+7变为:

let var_1:=“M”

IF($W$2=var_1,FLOOR(1.1),$K$3)+7

如果成对引号内还包含引号,则里层的引号作为字符串中的引号处理。如果成对引号内包括两个连续引号,将两个引号视为一个引号,如公式“数字”“““5”””应该转换为数字“5”。

在本实施例中,步骤S1043用于提取函数名和计算对象的关键词。提取的方法是以电子表格软件定义的函数或运算符号为分隔符,如“+、-、*、/、<>、^、()、=”等。从上一步得到的字符串中可得到:IF、$W$2、var_1、FLOOR、1.1、$K$3、7。

在本实施例中,步骤S1044用于用包含单元格地址的关键词对应的时间序列和/或非时间序列计算对象的公式名称替换所述关键词。单元格地址有四种形式,分别为“$字母组合$数字组合”、“字母组合$数字组合”、“$字母组合数字组合”和“字母组合数字组合”。当$出现在字母组合或数字组合前时,分别代表列或行。因此,从上一步得到的字符串中可得到包含单元格地址的关键词$W$2、$K$3。然后从所述关键词中提取行列地址,并根据前一实施例中关于时间序列和非时间序列计算对象的约定,判断单元格对应的是时间序列还是非时间序列计算对象,并获取它们的名称,用所述名称替换所述关键词。时间序列名称的形式为“电子工作表名}->时间序列名(时间节点)”,如inforceBlock->inForceRate(15);非时间序列计算对象名称的形式为“电子工作表名}->计算对象名称”,如dataBlock->issue_age。如果名称就在当前电子工作表里面,则可以省略电子工作表名。根据地址表示方式是否为绝对形式(包含$),时间序列的时间节点有两种不同形式(固定形式和变量形式),比如,X列代表死亡给付(deathClaim),而在A10的公式中存在对X列的引用,若引用的形式为X$10,则时间序列表示为deathClaim(-12),时间节点是一常数“-12”;若引用形式为X11,则时间序列表示为deathClaim(t+1),时间节点是变量t的一个线性表达式t+1。经过这一步的处理后,得到如下表达式:

let var_1:=“M”

IF(genderStr=var_1,FLOOR(1.1),indForFemale)+7

在本实施例中,步骤S1045用于获取完整的嵌套公式。不同的嵌套公式差别可能很大,但它们有一个共同点,都是以一个关键词后面跟一个左括号开始,以右括号结束,且左括号和右括号的数量相同。据此,可通过从左到右扫描上一步得到的字符串的每个字符,得到一个完整的嵌套公式。扫描上一步得到的字符串得到嵌套公式:IF(genderStr=var_1,FLOOR(1.1),indForFemale)。

在本实施例中,步骤S1046用于将嵌套公式转换成无嵌套公式。转换方法是:从嵌套公式的最高使用级别的字符串开始,利用中间变量替换非0使用级别的公式,并根据规则集将嵌套公式转换为无嵌套公式。上一步得到的嵌套公式经转换后变成:

let var_1:=“M”

let var_2:=FLOOR(1.1)

IF(genderStr=var_1,var_2,indForFemale)+7

为了提高程序可读性,可进一步将IF函数转换成IF(条件)/ELSE/ENDIF形式:

let var_1:=“M”

let var_2:=FLOOR(1.1)

IF(genderStr=var_1)

let var_3:=var_2

ELSE

let var_3:=indForFemale

ENDIF

var_3+7

所述规则集是事先定义(约定)的一个从电子表格到编程语言的转换规则表,用于将电子表格公式中的关键字转换为编程语言的关键字,所述关键字包括运算符、括号、函数、控制语句。这里不做详细介绍。

上述仅对本发明中的几种具体实施例加以说明,但并不能作为本发明的保护范围,凡是依据本发明中的设计精神所做出的等效变化或修饰或等比例放大或缩小等,均应认为落入本发明的保护范围。

9页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种对特种纸进行型号和批次编号的方法及编号机

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!