首页> 中国专利> 一种寿险精算模型计算结果的汇总方法

一种寿险精算模型计算结果的汇总方法

摘要

本发明公开一种寿险精算模型计算结果的汇总方法。所述方法包括:确定寿险精算模型中输出需要汇总的计算模块A;将寿险精算模型与存放保单信息的数据库对接;启动计算线程和汇总线程,从所述数据库中读取一条记录作为寿险精算模型的输入,计算线程运行所有计算模块的计算程序,并将计算模块A的计算结果输出到汇总线程的缓存器,汇总线程将缓存器中的数据输出到汇总矩阵;从所述数据库读取一条新的记录,重复上述步骤,直到处理完所述数据库中的所有记录。本发明通过设置计算线程和汇总线程分别运行计算程序和汇总程序,能够节省应用寿险精算模型进行计算、汇总的总运行时间,提升保险公司相关评估工作的效率。

著录项

  • 公开/公告号CN112529720A

    专利类型发明专利

  • 公开/公告日2021-03-19

    原文格式PDF

  • 申请/专利权人 深轻(上海)科技有限公司;

    申请/专利号CN202011580323.4

  • 发明设计人 陈曦;陈森;

    申请日2020-12-28

  • 分类号G06Q40/08(20120101);G06Q40/00(20120101);G06F16/25(20190101);

  • 代理机构11253 北京中北知识产权代理有限公司;

  • 代理人卢业强

  • 地址 201315 上海市浦东新区中国(上海)自由贸易试验区康桥东路1号16幢

  • 入库时间 2023-06-19 10:19:37

说明书

技术领域

本发明属于寿险精算技术领域,具体涉及一种寿险精算模型计算结果的汇总方法。

背景技术

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

寿险精算评估工作需要使用寿险精算模型进行。用于寿险评估工作的寿险精算模型是以保险公司销售的产品为基础,使用精算和统计学专业方法,定量刻画保险公司未来包括保费和理赔支出等在内的各项现金流、负债、偿付能力成本、利润以及现金流和利润的折现值的数学模型。精算模型通常由一系列计算模块组成,而每个计算模块最重要的基本组成单元为时间序列,比如未来每个单位时间段的死亡人数、预计死亡理赔金额以及保险公司的日常管理成本等。一个精算模型通常由数十个到数百的计算模块构成,包含数千个到数万个时间序列。

在进行具体的寿险评估工作时,评估人员将寿险精算模型对接公司的评估数据库。该数据库包含了公司所有的有效保单的信息,通常有几十万条到几百万条记录。针对每条记录,精算评估模型将计算出所有涉及的计算模块的结果。对于需要输出的计算模块,精算评估模型会将它们的计算结果汇总。精算模型会生成和维护一个汇总结果数列或者矩阵,用来记录汇总后的结果,并在所有数据计算完成后,输出到电脑指定的硬盘位置。因此,一个完整的汇总过程至少依次包含如下步骤:步骤一,生成空的汇总结果记录矩阵,并将寿险精算模型对接评估数据库;步骤二,读入一条记录,计算所有结果,并记录下来;步骤三,将步骤二完成的针对该条记录的计算结果中需要输出的部分汇总至结果记录矩阵;步骤四,重置模型,清空当前记录的计算结果;步骤五,重复步骤二、三、四,直至遍历评估数据库的所有记录;步骤六,将结果记录矩阵中的内容按照指定格式输出到指定位置。完成上述过程通常需要一小时到几十小时不等。若发现评估结果有误,工作人员不得不在修正模型或数据后,重复上述整个过程。相比于紧凑的评估工作时间表,这是一个巨大的时间耗费。在完成上述过程后,留给工作人员进行进一步分析的时间所剩无几。甚至有这样的情况,在评估工作接近尾声时发现计算错误,但所剩的时间已不够重复整个上述评估模型的测算过程,工作人员只能通过近似估计的方式,来修正错误,一定程度上影响了评估结果的可靠性。

发明内容

为了解决现有技术中存在的上述问题,本发明提出一种寿险精算模型计算结果的汇总方法。

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

一种寿险精算模型计算结果的汇总方法,包括以下步骤:

步骤1,确定寿险精算模型中输出需要汇总的计算模块A;

步骤2,将寿险精算模型与存放保单信息的数据库对接;

步骤3,启动计算线程和汇总线程,从所述数据库中读取一条记录作为寿险精算模型的输入,计算线程运行所有计算模块的计算程序,并将计算模块A的计算结果输出到汇总线程的缓存器,汇总线程将缓存器中的数据输出到汇总矩阵;

步骤4,转步骤3,从所述数据库读取一条新的记录,重复步骤3~4,直到处理完所述数据库中的所有记录。

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

本发明通过设置计算线程和汇总线程分别运行计算程序和汇总程序,充分利用现代计算机多核并行工作的特点,能够节省应用寿险精算模型进行计算、汇总的总运行时间,提升保险公司相关评估工作的效率。

附图说明

图1为本发明实施例一种寿险精算模型计算结果的汇总方法的流程图。

具体实施方式

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

本发明实施例一种寿险精算模型计算结果的汇总方法,流程图如图1所示,所述方法包括以下步骤:

S101、确定寿险精算模型中输出需要汇总的计算模块A;

S102、将寿险精算模型与存放保单信息的数据库对接;

S103、启动计算线程和汇总线程,从所述数据库中读取一条记录作为寿险精算模型的输入,计算线程运行所有计算模块的计算程序,并将计算模块A的计算结果输出到汇总线程的缓存器,汇总线程将缓存器中的数据输出到汇总矩阵;

S104、转S103,从所述数据库读取一条新的记录,重复S103~S104,直到处理完所述数据库中的所有记录。

在本实施例中,步骤S101主要用于确定寿险精算模型中哪些计算模块的输出需要汇总。一个寿险精算模型包含很多的计算模块,但并不是所有计算模块的输出都需要汇总,因此为了实现寿险精算模型计算结果的汇总,必须先确定输出结果需要汇总的计算模块。

为了便于理解技术方案,下面给出一个具体的例子。

某保险公司希望对所有有效保单的《企业会计准则》下的责任准备金进行测算。该公司所售的产品包括传统寿险、分红寿险和重疾险。这个寿险精算模型至少包含a~q共17个计算模块,其中,计算模块a(计算最优估计假设下未来每个时点预期保单有效概率的模块)、l(计算最优估计假设下预计未来现金流的模块)、o(计算最优估计假设下净现金流的模块)、p(计算风险边际假设下净现金流的模块)、q(计算剩余边际假设下净现金流的模块)的计算结果需要输出,公司希望以月为单位,汇总输出这5个计算模块在评估时点以及评估时点后100年的计算结果,分别用矩阵A、L、O、P、Q表示。

在本实施例中,步骤S102主要用于将寿险精算模型与存放保单信息的数据库对接,以便将从数据库读取的一条记录作为寿险精算模型的输入。保险公司将所述数据库一般称为评估数据库,该数据库中包含了公司所有的有效保单的信息,通常有几十万条到几百万条记录,寿险精算模型将针对每条记录计算出涉及的所有计算模块的结果。

在本实施例中,步骤S103主要用于采用计算线程和汇总线程分别运行计算程序和汇总程序。计算程序是指所有计算模块进行计算的程序,汇总程序是对输出需要汇总的计算模块A(为了区别于所有计算模块)的输出进行汇总的程序。计算线程将的计算模块A输出暂存到汇总线程的缓存器;汇总线程将缓存器中的数据输出到汇总矩阵中的相应位置。计算线程和汇总线程的运行是相对独立且并行的,即计算过程和汇总过程同时进行,相对现有的计算汇总方法可以明显减小运行时间,提高运行速度。

在本实施例中,步骤S104主要用于通过反复执行步骤S103~S104处理完所述数据库中的所有记录。

作为一种可选实施例,所述方法还包括在S103之前进行的以下设置步骤:

设置用于存放汇总结果的汇总矩阵;

设置用于表示计算线程计算过程是否完成的状态变量S,S包括“已完成”和“未完成”两个状态;

设置用于存放待汇总计算结果的缓存器;设置用于表示所述缓存器每个缓存节点状态的状态变量,所述状态变量包括“可使用”、“加载中”、“待汇总”、“汇总中”四个状态;

设置用于接收计算线程发送的缓存节点请求,并为计算线程分配缓存节点的分发器;

设置用于将缓存器中的数据输出至汇总矩阵的结果汇总器。

本实施例给出了要运行汇总线程所必须进行的一些设置,其实也是介绍汇总线程的实现方法。

设置用于存放计算模块A输出的汇总矩阵。一般是为每一个输出需要汇总的计算模块设置一个汇总矩阵。仍然采用上面的实例,共有5个计算模块a、l、o、p、q的输出需要汇总,因此需要为这5个计算模块分别设置一个汇总矩阵。汇总矩阵的初始值为0。

设置一个状态变量S,用来表示计算线程计算过程是否完成。S只有“已完成”和“未完成”两个状态,因此可分别用0、1表示。S的初始状态设置为“未完成”。

设置一个缓存器,用于保存未经汇总的计算模块A的输出结果,也就是计算线程的输出数据。所述缓存器包含N个缓存节点(存储区域),N的大小一般设置为计算线程个数的整数倍k。比如,若k取4,当只有一个计算线程时,N=4×1=4。如果硬件支持的内存空间较大而需要汇总的结果比较多时,可以适当设置更大的k值;反之,则可以设置稍小的k值。针对每个缓存节点,设置一个表示该缓存节点状态的状态变量,用于指示4个不同状态,分别为“可使用”、“加载中”、“待汇总”、“汇总中”。缓存节点的初始状态设置为“可使用”。当计算线程开始向缓存节点传递计算结果时,所述缓存节点的状态会变成“加载中”。当所有待汇总的计算结果全部传递给缓存节点后,所述缓存节点的状态就变成了“待汇总”。当汇总器来到这个缓存节点,开始进行汇总工作时,所述缓存节点的状态就变成了“汇总中”。一旦汇总完毕,其状态又会变成“可使用”了。

设置一个分发器,用于接收和响应计算线程发出的需要占用缓存节点的请求。计算线程发出的请求能否马上得到响应(分配到缓存节点),需要根据各个缓存节点的状态进行判断。判断过程中还可设置表示两个缓存节点位置的中间变量U、V,U、V分别表示下一个和最后一个可用的缓存节点的位置n,n=0,1,…,N-1,N为缓存节点的数量。如果U=V,即下一个可用的缓存节点同时也是最后一个可用的缓存节点,表示只有一个可用的缓存节点了,这种情况下分发器等待,直到U≠V,转下一项操作;确认下一个可用缓存节点的状态是否为“可使用”,若不是,等待所述状态变为“可使用”后转下一项操作;将下一个可用缓存节点分配给计算线程,并进行状态更新:将U代表的节点的状态更新为“加载中”,并将其代表的位置赋值给变量W,即W=U,若U代表的节点已是缓存节点集合中的最后一个,则将U赋值为第一个缓存节点的位置,否则,将U赋值为下一个缓存节点的位置;最后将变量W代表的缓存节点作为分发器响应过程的返回值,用以应答计算线程的分发请求。

设置一个汇总器,用于将缓存器中的数据输出至汇总矩阵。要将缓存器中的数据输出至汇总矩阵,需要用到表示计算线程计算过程是否完成的状态变量S,表示每个缓存器节点状态的状态变量,还要用到表示组别的变量Z,当然还要设置一些中间变量。将缓存器中的数据输出至汇总矩阵,属于现有技术,这里不再给出具体的汇总方法。

作为一种可选实施例,汇总线程的数量为一个,计算线程的数量为多个,当分发器收到多个计算线程提出的缓存节点请求时,逐一响应所述请求。

本实施例给出了一个汇总线程服务多个计算线程的技术方案。由于计算模块的数量很多,计算量大,采用多个计算线程同时(并行)运行不同计算模块的计算过程,可进一步减少运行总时间。由于仍然只有一个汇总线程,因此,分发器一次只服务一个计算线程。

作为一种可选实施例,所述S103还包括:将汇总结果保存到硬盘指定存储位置。

在本实施例中,步骤S103将缓存器中的数据输出到汇总矩阵后,将汇总结果保存到硬盘的指定存储位置。这样缓存器和汇总矩阵就可以用来暂存和汇总新的计算结果了。

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

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号