人寿保险 - 寿险精算(7)
导读:
一、人寿保险教案
二、寿险计算基数表
1、期望值基数表
2、方差基数表
三、离散型(死亡年年末赔付)寿险趸缴纯保费类函数
1、寿险趸缴纯保费(期望)类函数
(1)期望值计算基数表数组
(2)定期寿险
(3)终身寿险
(4)定期生存险
(5)定期两全寿险
(6)延期定期寿险
(7)延期终身寿险
(8)延期定期生存险
(9)延期定期两全保险
(10)递增型定期寿险
(11)递增型终身寿险
(12)递减型定期寿险
2、寿险趸缴纯保费(期望)计算表
3、趸缴净保费案例代码
4、寿险趸缴纯保费(方差)类函数
(1)方差计算基数表数组
(2)定期寿险方差
(3)终身寿险方差
(4)定期生存险方差
(5)定期两全保险方差
(6)延期定期寿险方差
(7)延期终身寿险方差
(8)延期定期生存险方差
(9)延期定期两全保险方差
(10)递增型定期寿险方差
(11)递增型终身寿险方差
(12)递减型定期寿险方差
5、寿险趸缴纯保费(方差)计算表
四、连续型寿险趸缴净保费的转换
五、寿险精算代码窗口
二、寿险计算基数表
由于寿险、特别是终身寿险趸缴纯保费计算非常复杂,这里引入计算基数建立较简洁的趸缴纯保费计算公式。在没有计算机或计算机不普及的年代,计算基数的引进和使用是非常重大的精算技术革命,它使保费手工计算成为可能。目前,随着计算机应用的普及,计算基数的重要性在衰减。具体内容参见:第二节 五、计算基数(转换函数)。
银行利率 生命表
年龄(x) | Dx | Nx | Sx | Cx | Mx | Rx |
---|---|---|---|---|---|---|
0 | 1000000 | 20033986.54 | 375885120.8 | 0 | 45999.349 | 2180557.499 |
1 | 949488.5714 | 19033986.54 | 355851134.3 | 2892.381 | 45999.349 | 2134558.15 |
2 | 902324.3084 | 18084497.97 | 336817147.7 | 1950.5215 | 43106.9681 | 2088558.801 |
3 | 857972.0635 | 17182173.66 | 318732649.7 | 1384.4207 | 41156.4465 | 2045451.833 |
4 | 816094.8576 | 16324201.6 | 301550476.1 | 1021.3933 | 39772.0258 | 2004295.387 |
5 | 776455.9633 | 15508106.74 | 285226274.5 | 777.2345 | 38750.6325 | 1964523.361 |
6 | 738874.7564 | 14731650.78 | 269718167.7 | 607.1134 | 37973.398 | 1925772.728 |
7 | 703204.6925 | 13992776.02 | 254986517 | 485.5517 | 37366.2846 | 1887799.33 |
8 | 669321.6125 | 13289571.33 | 240993740.9 | 397.1423 | 36880.7329 | 1850433.046 |
9 | 637117.6839 | 12620249.72 | 227704169.6 | 331.4708 | 36483.5907 | 1813552.313 |
10 | 606494.7749 | 11983132.03 | 215083919.9 | 283.9717 | 36152.1199 | 1777068.722 |
注:设置银行利率、选择生命表后点击“运 行”按钮可获得不同条件水平期望值基数表
银行利率 生命表
年龄(x) | DDx | DNx | DSx | DCx | DMx | DRx |
---|---|---|---|---|---|---|
0 | 1000000 | 10621752.42 | 112562961 | 0 | 12490.1308 | 169204.5825 |
1 | 904274.8299 | 9621752.417 | 101941208.6 | 2754.6485 | 12490.1308 | 156714.4517 |
2 | 818434.7468 | 8717477.587 | 92319456.14 | 1769.1805 | 9735.4823 | 144224.3209 |
3 | 741148.5269 | 7899042.84 | 83601978.55 | 1195.9146 | 7966.3018 | 134488.8386 |
4 | 671403.259 | 7157894.313 | 75702935.71 | 840.3028 | 6770.3871 | 126522.5368 |
5 | 608373.5643 | 6486491.054 | 68545041.4 | 608.9835 | 5930.0843 | 119752.1497 |
6 | 551359.7194 | 5878117.489 | 62058550.35 | 453.0374 | 5321.1007 | 113822.0655 |
7 | 499754.4462 | 5326757.77 | 56180432.86 | 345.0725 | 4868.0634 | 108500.9647 |
8 | 453023.2132 | 4827003.324 | 50853675.09 | 268.8015 | 4522.9909 | 103632.9013 |
9 | 410691.7397 | 4373980.111 | 46026671.76 | 213.669 | 4254.1893 | 99109.9104 |
10 | 372335.1805 | 3963288.371 | 41652691.65 | 174.334 | 4040.5203 | 94855.7211 |
注:设置银行利率、选择生命表后点击“运 行”按钮可获得不同条件水平方差基数表
三、 离散型(死亡年年末赔付)寿险趸缴纯保费类函数
1、寿险趸缴纯保费(期望)类函数
(1)获得一定利率水平和生命表条件下期望值计算基数表 [返回]
函数:webActuary.getJSEArrs(r,smb);
参数:r - 银行利率;smb - 生命表代码
注:生命表代码(CL93M,CL93F,CL93U,CL93AM,CL93AF,CL93AU,CL03M,CL03F,CL03AM,CL03AF,CL13M1,CL13F1,CL13M2,CL13F2,CL13AM,CL13AF)。该函数根据给定银行利率和生命表返回期望值计算基数表二维数组,数组各列依次为:年龄、\(D_x\)、\(N_x\)、\(S_x\)、\(C_x\)、\(M_x\)、\(R_x\)
样例代码(利率为5%、利用生命表CL93M求\(N_{30}\))
webTJ.clear();
var oS=webActuary.getJSEArrs(0.05,"CL93M"); //获得数组
var oN=oS[30][2]; //在数组中获取第31行、3列数值(数组从0行、0列开始)
webTJ.display("N30:"+oN,0);
函数:webActuary.getSXA(smb,r,x,n);
参数:smb - 生命表代码;r - 银行利率;x - 投保年龄;n - 投保期限
样例代码(\(A_{40:\overline{3}|}^1\))
参数:
生命表代码 = CL93U
银行利率 = 0.05
投保年龄 = 40
投保期限 = 3
代码:
webTJ.clear();
var oS=webActuary.getSXA("CL93U",0.05,40,3);
webTJ.display("定期寿险:"+oS,0);
函数:webActuary.getSXAw(smb,r,x);
参数:smb - 生命表代码;r - 银行利率;x - 投保年龄
样例代码(\(A_{40}\))
参数:
生命表代码 = CL93U
银行利率 = 0.05
投保年龄 = 40
代码:
webTJ.clear();
var oS=webActuary.getSXAw("CL93U",0.05,40);
webTJ.display("终身寿险:"+oS,0);
函数:webActuary.getSXAs(smb,r,x,n);
参数:smb - 生命表代码;r - 银行利率;x - 投保年龄;n - 投保期限
样例代码(\(A_{40:{\overline{20}|}}^{\quad 1}\))
参数:
生命表代码 = CL93U
银行利率 = 0.05
投保年龄 = 40
投保期限 = 20
代码:
webTJ.clear();
var oS=webActuary.getSXAs("CL93U",0.05,40,20);
webTJ.display("定期生存险:"+oS,0);
函数:webActuary.getSXAsa(smb,r,x,n);
参数:smb - 生命表代码;r - 银行利率;x - 投保年龄;n - 投保期限
样例代码(\(A_{40:{\overline{20}|}}\))
参数:
生命表代码 = CL93U
银行利率 = 0.05
投保年龄 = 40
投保期限 = 20
代码:
webTJ.clear();
var oS=webActuary.getSXAsa("CL93U",0.05,40,20);
webTJ.display("定期两全寿险:"+oS,0);
函数:webActuary.getSXAm(smb,r,x,n,m);
参数:smb - 生命表代码;r - 银行利率;x - 投保年龄;n - 投保期限;m - 延期
样例代码(\(_{10|}A_{50:\overline{20}|}^1\))
参数:
生命表代码 = CL93U
银行利率 = 0.06
投保年龄 = 50
投保期限 = 20
延期 = 10
代码:
webTJ.clear();
var oS=webActuary.getSXAm("CL93U",0.06,50,20,10);
webTJ.display("延期定期寿险:"+oS,0);
函数:webActuary.getSXAwm(smb,r,x,m);
参数:smb - 生命表代码;r - 银行利率;x - 投保年龄;m - 延期
样例代码(\(_{10|}A_{50}\))
参数:
生命表代码 = CL93U
银行利率 = 0.06
投保年龄 = 50
延期 = 10
代码:
webTJ.clear();
var oS=webActuary.getSXAwm("CL93U",0.06,50,10);
webTJ.display("延期终身寿险:"+oS,0);
函数:webActuary.getSXAsm(smb,r,x,n,m);
参数:smb - 生命表代码;r - 银行利率;x - 投保年龄;n - 投保期限;m - 延期
样例代码(\(_{10|}A_{40:{\overline{20}|}}^{\quad 1}\))
参数:
生命表代码 = CL93U
银行利率 = 0.05
投保年龄 = 40
投保期限 = 20
延期 = 10
代码:
webTJ.clear();
var oS=webActuary.getSXAsm("CL93U",0.05,40,20,10);
webTJ.display("延期定期生存险:"+oS,0);
函数:webActuary.getSXAsam(smb,r,x,n,m);
参数:smb - 生命表代码;r - 银行利率;x - 投保年龄;n - 投保期限;m - 延期
样例代码(\(_{10|}A_{40:{\overline{20}|}}\))
参数:
生命表代码 = CL93U
银行利率 = 0.05
投保年龄 = 40
投保期限 = 20
延期 = 10
代码:
webTJ.clear();
var oS=webActuary.getSXAsam("CL93U",0.05,40,20,10);
webTJ.display("定期两全保险:"+oS,0);
函数:webActuary.getSXIA(smb,r,x,n);
参数:smb - 生命表代码;r - 银行利率;x - 投保年龄;n - 投保期限
样例代码(\((IA)_{40:\overline{10}|}^1\))
参数:
生命表代码 = CL93U
银行利率 = 0.05
投保年龄 = 40
投保期限 = 10
代码:
webTJ.clear();
var oS=webActuary.getSXIA("CL93U",0.05,40,10);
webTJ.display("递增型定期寿险:"+oS,0);
函数:webActuary.getSXIAw(smb,r,x);
参数:smb - 生命表代码;r - 银行利率;x - 投保年龄
样例代码(\((IA)_{40}\))
参数:
生命表代码 = CL93U
银行利率 = 0.05
投保年龄 = 40
代码:
webTJ.clear();
var oS=webActuary.getSXIAw("CL93U",0.05,40);
webTJ.display("递增型终身寿险:"+oS,0);
函数:webActuary.getSXDA(smb,r,x,n);
参数:smb - 生命表代码;r - 银行利率;x - 投保年龄;n - 投保期限
样例代码(\((DA)_{40:\overline{10}|}^1\))
参数:
生命表代码 = CL93U
银行利率 = 0.05
投保年龄 = 40
投保期限 = 10
代码:
webTJ.clear();
var oS=webActuary.getSXDA("CL93U",0.05,40,10);
webTJ.display("递减型定期寿险:"+oS,0);
银行利率 生命表 投保年龄 投保期限 延期
年龄 | 定期寿险 | 终身寿险 | 生存寿险 | 两全寿险 | 延期定期 | 延期终身 | 延期生存 | 延期两全 | 递增定期 | 递增终身 | 递减定期 |
40 | 0.0494 | 0.1885 | 0.3423 | 0.3917 | 0.0728 | 0.1691 | 0.1751 | 0.2479 | 0.5892 | 5.6394 | 0.448 |
注:设置参数后点击“计 算”按钮可获得各种类型寿险趸缴净保费
【例3.7】某人在40岁时投保了一份寿险保单,死亡年年末赔付,如果在40-65岁死亡,赔付50000元;65-75岁死亡,赔付100000元;在75岁后死亡,保险金为30000元。当利率为6%,利用生命表93U计算该保单趸缴净保费。
解、这份保单可以分解为一份50000元的25年定期寿险、一份100000元延期25年的10年定期寿险和一份30000元延期35年的终身寿险的组合,即,
\(\begin{eqnarray*} E(z)&=&50000\times A_{40:\overline{25}|}^1+100000\times _{25|}A_{40:\overline{10}|}^1+30000\times _{35|}A_{40})\\&=&50000\times\frac{M_{40}-M_{65}}{D_{40}}+100000\times\frac{M_{65}-M_{75}}{D_{40}}+30000\times\frac{M_{75}}{D_{40}} \end{eqnarray*}\)
在运用代码处理这一案例时,可以采用以下三种方式:
I、运用类函数计算
案例代码
参数:
生命表代码 = CL93U
银行利率 = 0.06
投保年龄 = 40
投保期限 = 25、35、104-40-35
延期 = 25、35
代码:
webTJ.clear();
var oS1=webActuary.getSXA("CL93U",0.06,40,25);
var oS2=webActuary.getSXAm("CL93U",0.06,40,10,25);
var oS3=webActuary.getSXAwm("CL93U",0.06,40,35);
var oS=50000*oS1+100000*oS2+30000*oS3;
webTJ.display("趸缴净保费:"+oS,0);
II、运用基数转换表计算
webTJ.clear();
var oArrs=webActuary.getJSEArrs(0.06,"CL93U"); //获得指定利率和生命表基数数组
var oD40=oArrs[40][1]; //在数组中获取第41行、2列数值D40(数组从0行、0列开始)
var oM40=oArrs[40][5]; //M40
var oM65=oArrs[65][5]; //M65
var oM75=oArrs[75][5]; //M75
var oZ=50000*(oM40-oM65)/oD40+100000*(oM65-oM75)/oD40+30000*oM75/oD40;
webTJ.display("趸缴净保费:"+oZ,0);
III、运用寿险计算表计算
在寿险计算表中分别设置不同参数,分别计算出如下种类寿险的单位元趸缴净保费。这种方式比较便于通过人机结合形式灵活处理一下寿险计算问题。
案例代码
参数:
生命表代码 = CL93U
银行利率 = 0.06
定期寿险:\(A_{40:\overline{25}|}^1=0.06015\)
延期定期寿险:\(_{25|}A_{40:\overline{10}|}^1=0.03586\)
延期终身寿险:\(_{35|}A_{40}=0.04717\)
代码:
webTJ.clear();
var oS1=0.06015;
var oS2=0.03586;
var oS3=0.04716;
var oS=50000*oS1+100000*oS2+30000*oS3;
webTJ.display("趸缴净保费:"+oS,0);
4、寿险趸缴纯保费(方差)类函数
(1)获得一定利率水平和生命表条件下期望值计算基数表 [返回]
函数:webActuary.getJSDArrs(r,smb);
参数:r - 银行利率;smb - 生命表代码
注:生命表代码:CL93M,CL93F,CL93U,CL93AM,CL93AF,CL93AU,CL03M,CL03F,CL03AM,CL03AF,CL13M1,CL13F1,CL13M2,CL13F2,CL13AM,CL13AF。该函数根据给定银行利率和生命表返回方差计算基数表二维数组,数组各列依次为:年龄、\(D_x\)、\(N_x\)、\(S_x\)、\(C_x\)、\(M_x\)、\(R_x\)
样例代码(利率为5%、利用生命表CL93M求\(N_{30}\))
webTJ.clear();
var oS=webActuary.getJSDArrs(0.05,"CL93M"); //获得数组
var oN=oS[30][2]; //在数组中获取第31行、3列数值(数组从0行、0列开始)
webTJ.display("N30:"+oN,0);
函数:webActuary.getDSXA(smb,r,x,n);
参数:smb - 生命表代码;r - 银行利率;x - 投保年龄;n - 投保期限
样例代码(\(DA_{40:\overline{3}|}^1\))
参数:
生命表代码 = CL93U
银行利率 = 0.05
投保年龄 = 40
投保期限 = 3
代码:
webTJ.clear();
var oS=webActuary.getDSXA("CL93U",0.05,40,3);
webTJ.display("定期寿险方差:"+oS,0);
函数:webActuary.getDSXAw(smb,r,x);
参数:smb - 生命表代码;r - 银行利率;x - 投保年龄
样例代码(\(DA_{40}\))
参数:
生命表代码 = CL93U
银行利率 = 0.05
投保年龄 = 40
代码:
webTJ.clear();
var oS=webActuary.getDSXAw("CL93U",0.05,40);
webTJ.display("终身寿险方差:"+oS,0);
函数:webActuary.getDSXAs(smb,r,x,n);
参数:smb - 生命表代码;r - 银行利率;x - 投保年龄;n - 投保期限
样例代码(\(DA_{40:{\overline{20}|}}^{\quad 1}\))
参数:
生命表代码 = CL93U
银行利率 = 0.05
投保年龄 = 40
投保期限 = 20
代码:
webTJ.clear();
var oS=webActuary.getDSXAs("CL93U",0.05,40,20);
webTJ.display("定期生存险方差:"+oS,0);
函数:webActuary.getDSXAsa(smb,r,x,n);
参数:smb - 生命表代码;r - 银行利率;x - 投保年龄;n - 投保期限
样例代码(\(DA_{40:{\overline{20}|}}\))
参数:
生命表代码 = CL93U
银行利率 = 0.05
投保年龄 = 40
投保期限 = 20
代码:
webTJ.clear();
var oS=webActuary.getDSXAsa("CL93U",0.05,40,20);
webTJ.display("定期两全保险方差:"+oS,0);
函数:webActuary.getDSXAm(smb,r,x,n,m);
参数:smb - 生命表代码;r - 银行利率;x - 投保年龄;n - 投保期限;m - 延期
样例代码(\(_{10|}DA_{50:\overline{20}|}^1\))
参数:
生命表代码 = CL93U
银行利率 = 0.06
投保年龄 = 50
投保期限 = 20
延期 = 10
代码:
webTJ.clear();
var oS=webActuary.getDSXAm("CL93U",0.06,50,20,10);
webTJ.display("延期定期寿险方差:"+oS,0);
函数:webActuary.getDSXAwm(smb,r,x,m);
参数:smb - 生命表代码;r - 银行利率;x - 投保年龄;m - 延期
样例代码(\(_{10|}DA_{50}\))
参数:
生命表代码 = CL93U
银行利率 = 0.06
投保年龄 = 50
延期 = 10
代码:
webTJ.clear();
var oS=webActuary.getDSXAwm("CL93U",0.06,50,10);
webTJ.display("延期终身寿险方差:"+oS,0);
函数:webActuary.getDSXAsm(smb,r,x,n,m);
参数:smb - 生命表代码;r - 银行利率;x - 投保年龄;n - 投保期限;m - 延期
样例代码(\(_{10|}DA_{40:{\overline{20}|}}^{\quad 1}\))
参数:
生命表代码 = CL93U
银行利率 = 0.05
投保年龄 = 40
投保期限 = 20
延期 = 10
代码:
webTJ.clear();
var oS=webActuary.getDSXAsm("CL93U",0.05,40,20,10);
webTJ.display("延期定期生存险方差:"+oS,0);
函数:webActuary.getDSXAsam(smb,r,x,n,m);
参数:smb - 生命表代码;r - 银行利率;x - 投保年龄;n - 投保期限;m - 延期
样例代码(\(_{10|}DA_{40:{\overline{20}|}}\))
参数:
生命表代码 = CL93U
银行利率 = 0.05
投保年龄 = 40
投保期限 = 20
延期 = 10
代码:
webTJ.clear();
var oS=webActuary.getDSXAsam("CL93U",0.05,40,20,10);
webTJ.display("定期两全保险方差:"+oS,0);
函数:webActuary.getDSXIA(smb,r,x,n);
参数:smb - 生命表代码;r - 银行利率;x - 投保年龄;n - 投保期限
样例代码(\((DIA)_{40:\overline{10}|}^1\))
参数:
生命表代码 = CL93U
银行利率 = 0.05
投保年龄 = 40
投保期限 = 10
代码:
webTJ.clear();
var oS=webActuary.getDSXIA("CL93U",0.05,40,10);
webTJ.display("递增型定期寿险方差:"+oS,0);
函数:webActuary.getDSXIAw(smb,r,x);
参数:smb - 生命表代码;r - 银行利率;x - 投保年龄
样例代码(\((DIA)_{40}\))
参数:
生命表代码 = CL93U
银行利率 = 0.05
投保年龄 = 40
代码:
webTJ.clear();
var oS=webActuary.getDSXIAw("CL93U",0.05,40);
webTJ.display("递增型终身寿险方差:"+oS,0);
函数:webActuary.getDSXDA(smb,r,x,n);
参数:smb - 生命表代码;r - 银行利率;x - 投保年龄;n - 投保期限
样例代码(\((DDA)_{40:\overline{10}|}^1\))
参数:
生命表代码 = CL93U
银行利率 = 0.05
投保年龄 = 40
投保期限 = 10
代码:
webTJ.clear();
var oS=webActuary.getDSXDA("CL93U",0.05,40,10);
webTJ.display("递减型定期寿险方差:"+oS,0);
银行利率 生命表 投保年龄 投保期限 延期
年龄 | 定期寿险 | 终身寿险 | 生存寿险 | 两全寿险 | 延期定期 | 延期终身 | 延期生存 | 延期两全 | 递增定期 | 递增终身 | 递减定期 |
40 | 0.0494 | 0.1885 | 0.3423 | 0.3917 | 0.0728 | 0.1691 | 0.1751 | 0.2479 | 0.5892 | 5.6394 | 0.448 |
注:设置参数后点击“计 算”按钮可获得各种类型寿险的方差
死亡即刻赔付是指如果被保险人在保障期内发生责任范围内的死亡,保险公司在死亡事件发生之时立刻给付保险赔付金的一种理赔方式。通常死亡即刻赔付型(连续型)寿险表示为\(\bar{A}\),离散型和连续型的通用关系式为\(\bar{A}=\frac{i}{\delta}\times A\)。注意,对于纯生存险和两全保险不能直接套用这一关系式,因为纯生存保险不存在连续支付形式。
1、转换系数(\(\frac{i}{\delta}\))
函数:webActuary.getZHXS(r);
参数:r - 银行利率
代码:
webTJ.clear();
var oS=webActuary.getZHXS(0.05);
webTJ.display("转换系数:"+oS,0);
2、案例
试根据计算下列条件计算两全型单位元死亡即刻赔付寿险趸缴净保费\(\bar{A}_{40:{\overline{10}|}}\)。
生命表代码 = CL93U
银行利率 = 0.05
投保年龄 = 40
投保期限 = 10
解、\(\bar{A}_{40:{\overline{10}|}}=\frac{i}{\delta}\times A_{40:\overline{10}|}^1+A_{40:{\overline{10}|}}^{\quad 1}\)
案例代码:
webTJ.clear();
var oXS=webActuary.getZHXS(0.05);
var oS1=webActuary.getSXA("CL93U",0.05,40,10);
var oS2=webActuary.getSXAs("CL93U",0.05,40,10);
var oS=oXS*oS1+oS2;
webTJ.display("死亡即刻赔付寿险:"+oS,0);
代码窗口
注:可将例题实例代码复制、粘贴到“代码窗口”,点击“运行代码”获得计算结果(鼠标选择实例代码\(\rightarrow\)Ctrl+C:复制\(\rightarrow\)鼠标点击“代码窗口”使其获得焦点\(\rightarrow\)Ctrl+V:粘贴)
代码运行效果
上篇文章:生命表 - 寿险精算(6)
下篇文章:生存年金 - 寿险精算(8)
©哈尔滨商业大学 银河统计工作室
银河统计工作室成员由在校统计、计算机部分师生和企业数据数据分析师组成,维护和开发银河统计网和银河统计博客(技术文档)。专注于数据挖掘技术研究和运用,探索统计学、应用数学和IT技术有机结合,尝试大数据条件下新型统计学教学模式。