R软件在精算教学中的应用案例统计之都

最后,本文的几个案例,均来自于作者在南开大学保险系读硕期间的一些课程作业,主要目的在于完成某一项任务,而没有过多地考虑通用性、用户界面友好性等,比如所有代码中几乎都没有写入报错、警告语句等。当然,作者也假定本文读者不单熟悉R的常用语法、函数等,而且具有相应的统计学、保险、精算专业知识,案例中的术语、结论等都直接引用,不做解释。

《南开大学经济学系列实验教材》丛书里有一本李秀芳老师主编《寿险精算实务实验教程》,是李秀芳老师2010年秋学期主讲的《寿险精算实务实验》课程的指定教材,作者也选修了这一门课。因此本案例主要来自这门课的实验内容,但在实现方法上,不再使用换算函数法,而转向概率的思路,利用精算等价原理来求得寿险产品的净保费、毛保费、准备金等。

本案例中的R脚本文件命名为li.R,存放生命表的CSV文件命名为clt03.csv。

**描述:**以列表的形式返回目标寿险产品的毛保费、理论责任准备金、费用。

参数:

注释:

以保额1000元,20年定期死亡保险为例,那么死亡给付bf.d=rep(1000,20),生存给付bf.s=0;

若是保额1000元的20年定期年金,则bf.d=0,bf.s=rep(1000,20);

若保险给付不是有规律的序列,则必须以c(x,y,…)的形式具体地给出。

费用率、保费费率必须设置为数值型向量,且长度必须与目标寿险产品的缴费期限相同。

以10年缴费为例,假定第一年的费用率0.6,第二年0.4,第三年0.2,第四年及以后为0.1,那么feerate=c(0.6,0.4,0.2,rep(0.1,7))。若费用率为0,则必须指明为0,不可省略。

同样以10年缴费为例,若是均衡保费,即每一年的保费都相同,则保费费率prerate=rep(1,10)。递增型prerate=c(10:1)表示第一年缴10单位保费,第二年9单位,以此类推。

生命表部分数据如下所示,存放在CSV文件里:

age male femalemalep femalep0 0.000722 0.000661 0.000627 0.0005751 0.000603 0.000536 0.000525 0.0004662 0.000499 0.000424 0.000434 0.0003693 0.000416 0.000333 0.000362 0.000294 0.000358 0.000267 0.000311 0.0002325 0.000323 0.000224 0.000281 0.0001954.本案例中采用的生命表的范围是0至105岁,所以在设置年龄、生存、死亡给付、费用率、保费费率时,年龄和其它四个参数长度最大者之和不能超过106。示例:

目标产品:20岁投保、20年死亡保险、定价利率2.5%、10年均衡缴费、男性非养老金业务的净保费

source(“li.R”)li(age=20,bf.s=0,bf.d=rep(1000,20),ir=0.025,feerate=rep(0,10),prerate=rep(1,10),file="clt03.csv",type=1)输出结果如下:

$premium[1]1.6239531.6239531.6239531.6239531.6239531.6239531.623953[8]1.6239531.6239531.623953$reserve[1]1.0364812.0590953.0766574.0961645.1197306.148513[7]7.1836978.2295089.28223810.3350889.7100759.017654[13]8.2449427.3907576.4478285.4066464.2564002.982906[19]1.5695020.0000000.0000000.0000000.0000000.000000$fee[1]0000000000**附录:**附录一

做为《寿险实务实验课程》的结课作业,作者设计了一款少儿保险产品,并用R和li()函数计算净保费、毛保费、现金价值、法定责任准备金、利润测试等,由于篇幅过大,待整理完毕之后再发上来。

本案例的R脚本文件命名为bms.R,索赔次数的CSV格式数据文件命名为BMSclaim.csv。

本案例的目标BMS系统采用中国保险行业协会2007年4月制定的奖罚系统,具体如下所示:

表1中国保险行业协会制奖罚系统表(2007.04)

$$M=\left(\begin{array}{ccc}{1-\sum_{i=0}^4p_i}\;p_4\;p_3\;p_1+p_2\;p_0\;0\;0\\{1-\sum_{i=0}^4p_i}\;p_4\;p_3\;p_1+p_2\;p_0\;0\;0\\{1-\sum_{i=0}^4p_i}\;p_4\;p_3\;p_1+p_2\;p_0\;0\;0\\{1-\sum_{i=0}^4p_i}\;p_4\;p_3\;p_1+p_2\;p_0\;0\;0\\{1-\sum_{i=0}^4p_i}\;p_4\;p_3\;p_1+p_2\;0\;p_0\;0\\{1-\sum_{i=0}^4p_i}\;p_4\;p_3\;p_1+p_2\;0\;0\;p_0\\{1-\sum_{i=0}^4p_i}\;p_4\;p_3\;p_1+p_2\;0\;0\;p_0\\\end{array}\right)$$

其中\(p_k=\frac{\lambda^k}{k!}e^{-\lambda}\),表示投保人在一个保险年度中恰好发生k次索赔的概率。

在稳定状态的处于各个级别的概率\(\pi=(\pi_6,\pi_7,\dots,\pi_1)\)满足:

$$\sum_i\pi_i=1,\\pi=\piM$$

解得:

$$\pi_7=1-\sum_0^4p_i;\\pi_6=p_4;\\pi_5=p_3;\\pi_4=p_2+p_1;\\pi_3=p_0-p_0^2;\\pi_2=p_0^2-p_0^3;\\pi_1=p_0^3$$

本案例的索赔次数的观察值数据以如下所示,存放在CSV文件里。

laim exposure0 271411 57892 14433 4574 1555 566 277 28 29 110 0这里采用泊松逆高斯分布来拟合索赔次数分布,采用极大似然估计的方法来估计参数(在做这个案例时,作者对R了解甚少,很多的功能、函数其实是可以在各种专业package里找到的,这里不详述。)。结果可通过以下的命令查看:

source("bms.R")gamma_pigbeta_pig按此估计的参数值,恰好发生k次索赔的概率可通过以下的命令查看:

print(pr)按以上的索赔概率值,和事先设定好的转移规则,可得到转移概率矩阵,通过以下命令查看:

tmat为求稳定状态下处于各保费等级的概率值,将转移矩阵取30次方(实际上只需要5次方左右即可达到稳定的极限分布),这个极限矩阵的各行已经趋于相同,也即所求的稳定状态下的保费等级分布。可能通过以下命令查看极限分布:

tmat_lim5.计算评价BMS系统优劣的指标5.1稳定状态下的平均保费率(新保费率为1.0)稳定状态下的平均保费率即是以稳定状态下处于各保费等级的概率分布为权重,各状态下的保费费率的加权平均值,计算结果为0.8196。可以通过以下命令查看:

avp5.2相对稳定状态平均水平(RSAL)RSAL=(稳定平均水平–最低水平)/(最高水平–最低水平)=0.1993,可以通过以下命令查看:

rsal5.3对新司机的隐性惩罚(ECL)ECL=(新保费率–稳定平均费率)/稳定平均费率=0.2201,可以通过以下命令查看:

ecl5.4变异系数COD=标准差/均值各年的平均保费以及变异系数可以通过以下命令查看:

cod_mat平均保费和变异系数逐年变化曲线可以通过以下的命令查看:

graph1()5.5风险区分度由于对索赔频率的数据采用的是泊松逆高斯拟合的,所以每个保费等级内不同保单的索赔频率服从参数为\(\lambda\)的泊松分布(条件分布);在所有保费等级中\(\lambda\)又服从逆高斯分布,其参数的极大似然估计已在前文交待。

对于各保费等级的保单,其索赔频率和均值和方差即为以上的复合分布的无条件均值和方差。均值和方差的计算均要计算无穷积分。在R里,采用离散化的方式来近似计算,即采取足够大的区间、足够小的间隔,通过求和的方式来计算无穷积分的近似值。各保费等级的内的索赔频率和方差的估计值以及相应结构的参数可以通过以下命令来查看:

fin_mat各个保费等级下的索赔频率曲线图可以通过以下的命令查看:

graph2()5.6BMS的弹性BMS的弹性公式为:\(elac=(dp/p)/(d^{\lambda}/\lambda)=d\lnp/d\ln\lambda\),该公式为连续形式下的弹性公式,在实验中稳定状态下平均保费的函数形式的精确表达式难以计算出,只能采取离散化的方式来近期计算。具体思路就是把微分用差分代替,取间隔够小、数量够多的\(\lambda\)及对应的稳定状态下的平均保费,得到弹性的曲线图。可以通过以下的命令查看:

graph3()**代码:**附录二

本案例中的脚本文件命名为forecast.R,两个CSV文件分别命名为93pm.csv和03pm.csv。

选用中国生命表90-93养老金男表和00-03养老金男表做为本案例的基础数据。把101至105岁划分为一组,100岁及其以上每一整数年龄分为一组,共102组。100岁及其以上组死亡率直接采用死亡率qx,100岁以上组采用中心死亡率。采用线性插值法得出1994-2002年间的死亡率。90-93养老金男表和00-03养老金男表各存放于一个CSV文件中,按如下图所示的格式存放数据:

在R的命令窗口输入以下命令来观察1993-2003死亡率矩阵:

source(“forecast.R”)tab9303把死亡率取自然对数,然后减去每一年龄的死亡率的对数在1993-2003年间的均值,得到残差矩阵A。在R的命令窗口输入以下命令来观察均值和A:

各年龄的均值如上图所示。

利用R里的svd()命令对死亡率的残差矩阵A做SVD分解。通过以下命令可观察分解得出的U、S、V矩阵:

svda$usvda$dsvda$v把S矩阵右乘V的转置矩阵,取其结果的第一行,即为Lee-Carter模型中的kt。按1993-2003的顺序,kt的各个值如下:

-2.2891315,-1.9135574,-1.5181148,-1.1002924,-0.6570094,-0.1844099,

0.3224553,0.8701444,1.4677250,2.1284910,2.8736996

可以在R里输入以下命令观察kt的值及其总和:

ktsum(kt)2.2b值在SVD分解得出的U矩阵里,取其第一列,即可得到未经中心化的bx的值。本人采用保险研究增刊里的方法,采用线性拟合的方法来求bx的值。在R里输入以下命令可观察bx的拟合值以及拟合结果:

bmat在bmat矩阵中其中,如各列名称所示,第一列为年龄,第二列为bx,第三至六列分别为线性拟合bx时的t值、t临界值、F值、F临界值和拟合优度值,可以看出所有的bx都是显著的。

采用最小化RMSPE的方法来得到最优的kt值,RMSPE的公式如下:

采用非线性最小值的算法来求解使得RMSPE最小的kt值,具体如下:

-2.3445627,-1.9458174,-1.5271026,-1.0869498,-0.6237423,-0.1356942

0.3791744,0.9230672,1.4984474,2.1080823,2.7550978

通过如下命令来观察求出的k值:

3.044373,3.551768,4.059164,4.566559,5.073955,5.581350,6.088746,6.596141,7.103537,7.610932,8.118328,8.625723,9.133118,9.640514,10.147909

可以通过如下命令查看kt的15期预测值及其95%置信区间:

k.lm使用以上的kt预测值来预测后15年的出生平均余命,

80.95256,81.35479,81.74651,82.12812,82.49997,82.86240,83.21572,83.56023,

83.89621,84.22392,84.54362,84.85554,85.15991,85.45694,85.74685

下图为向后预测39期得出的出生平均余命的预测值,在2050年左右,中国男性的平均出生余命达到90岁。这似乎有些过高,所以本模型只适合做15年以内的预测。

THE END
1.保險精算基本概念講解(海量营销管理培训资料下载) 保险精算基本概念讲解 2004年6月 (海量营销管理培训资料下载) 基本概念之一 保单年制核算方法 (海量营销管理培训资料下载) 保单年制 ? 保单年制核算方法是按照保单生效年度核算,将保费和赔款全部追溯于同一年生效的保险单,计算满期保费、已发生损失和满期赔付率,用以评价生效保单的最终https://doc.mbalib.com/m/view/8cb182d2fe8800c5a755552a2e4d93cf.html
2.中国精算师资格考试体系简介5篇(全文)英国资格考试体系分四个系列:100系列(包括金融数学、精算数学、经济学等9门)、200系列(沟通技巧1门)、300系列(投资和资产组合、寿险精算等4门)和400系列(从人寿、财产等四种资格考试中选考1门)。 考生通过前三个系列考试的所有考试科目,即可获得准资格证,再通过“400”系列的任意一门科目后,即可获得英国协会和英https://www.99xueshu.com/w/file157bj7qm.html
3.中国精算师资格考试指南04寿险精算数学 考试时间:4小时 考试形式:客观判断题 考试内容和要求: a. 生存分布与生命表 1. 各种生存分布及其特征,如矩、死亡力、密度函数 2. 剩余寿命变量 和 的矩 3. 关于分数年龄的假设 b. 趸缴纯保费 1. 离散型与连续型的各种寿险模型及其纯保费的计算;现值变量的方差 https://www.diyifanwen.com/kaoshizhuanti/zhongguojingsuanshi/0781716022267935_641.htm
4.寿险精算(精选四篇)同时, 并在精确拟合生存函数的基础上, 能够准确地得到其他的精算统计量。LSSVR模型的卓越表现对于以生命表为基本工具的寿险精算学科来说无疑有着重要的意义。 参考文献 [1]Jones B L, Mereu J A.A family of fractional age assumptions[J].Insurance:Mathematics and Economics, 2000, (27) :261~276.https://www.360wenmi.com/f/cnkeyby6aed0.html
5.中国精算师资格考试用书:寿险精算数学概述§3.2离散型生存年金§3.3变额生存年金§3.4连续型生存年金§3.5完全期末年金与比例期初年金§3.6递推方程式第四章均衡纯保费§4.1均衡纯保费的计算原理§4.2全离散式寿险模型的年缴纯保费§4.3全连续式寿险模型的年缴纯保费§4.4半连续式寿险模型的年缴纯保费§4.5每年分m次缴费的年均纯保费§4.6比例保费§4.7https://m.kongfz.com/item/65202339
6.2021年北京大学数学科学学院本科生教学手册寿险精算 一、单生命生存模型 二、多生命生存模型 三、多元衰减模型 四、 死亡保险的精算现值 五、生存保险的精算现值 六、多生命模型的精算现值 七、净保费与费用负荷保费 八、完全离散险种的净准备金 九、普通完全离散险种的净准备金 十、完全连续险种及其它险种的净准备金 https://blog.csdn.net/weixin_46959681/article/details/140045113
7.风险模型与非寿险精算学对外经济贸易大学课程面向精算学、统计学、保险学、金融学本科学生,讲授风险模型与非寿险精算学的基础知识。全面覆盖英国精算师协会的CS2考试内容,对应SOA中的SRM、STAM部分考试内容,以及CAA的A6部分内容。 既包括损失分布、风险度量、风险模型等核心风险模型内容,也包括信度理论、广义线性模型、流量三角等知识。 https://www.icourse163.org/course/UIBE-1206461821
8.寿险精算教学课件电子教案全套课件.pptx寿险精算 ;寿 险 精 算 第 一 课寿险精算概述;一.精算的概念精算的定义:一般地说法是,利用数学、经济学、统计学、寿险、非寿险、人口学、养老基金、投资等理论,对金融、投资等行业中的风险问题提出数量化意见,使未来价值的可能性数量化。精算工作主要是由精算师承担的。 ;一.精算的概念精算师的作用:“在给https://max.book118.com/html/2023/0629/7141060061005126.shtm
9.SOA5.北美精算师考试北美精算师考试 6.实验心理学实验心理学 1.化学术语 编辑本义项 在SOA中,进程是使用一组离散的服务创建的。BPEL4WS 或者 WSBPEL(Web Service Business Process 方向二: Health, Group Life and Managed Care (健康计划与团体人寿险) 内容包括计划的设计,数据、费用https://www.360doc.cn/article/6124813_127559844.html
10.最新word论文浅论入世对我国保险精算的挑战及其对策保险学【最新word论文】浅论入世对我国保险精算的挑战及其对策【保险学专业论文】 1浅论入世对我国保险精算的挑战及其对策随着旷日持久的多边贸易谈判的结束,我国加入世界贸易组织进入了实质性操作阶段。入世之后,我国的金融市场将在 2005 年之前逐步开放,这就使得国内银行业和保险业等金融机构将逐渐失去各种特殊的政策保护,外资https://m.jinchutou.com/d-8556611.html
11.非寿险未到期责任准备金的性质及核算3贺明田;王传玉;安琪;一类完全离散险种下寿险责任准备金的计算研究[A];第九届中国不确定系统年会、第五届中国智能计算大会、第十三届中国青年信息与管理学者大会论文集[C];2011年 4柳承滨;寿险保单的现金价值是怎么产生的?[A];2004年全国保险行业协会秘书长联席会议论文集[C];2004年 https://www.cnki.com.cn/Article/CJFDTotal-JRKJ200006015.htm