生存年金 - 寿险精算(8)

导读:
一、生存年金教案
二、离散型生存年金类函数
1、年付一次定额生存年金
(1)终身生存年金
(2)定期生存年金
(3)延期终身生存年金
(4)延期定期生存年金
2、年付一次变额生存年金
(1)递增定期生存年金
(2)递增终身生存年金
(3)递减定期生存年金
3、年付多次定额生存年金
(1)终身生存年金
(2)定期生存年金
(3)延期终身生存年金
(4)延期定期生存年金
4、年付多次变额生存年金
(1)递增定期生存年金
(2)递增终身生存年金
(3)递减定期生存年金
5、年付一次生存年金趸缴纯保费(期望)计算表
6、年付多次生存年金趸缴纯保费(期望)计算表
三、主要离散型生存年金方差类函数
1、年付一次定额生存年金方差
(1)终身生存年金方差
(2)定期生存年金方差
(3)延期终身生存年金方差
(4)延期定期生存年金方差
2、年付一次定额生存年金方差计算表
四、寿险精算代码窗口
二、 离散型生存年金类函数
1、离散型(死亡年年末赔付)寿险趸缴纯保费
函数:webActuary.getNJAw(smb,r,x,q);
参数:smb - 生命表代码;r - 银行利率;x - 投保年龄;q - 期初或期末
注:生命表代码(CL93M,CL93F,CL93U,CL93AM,CL93AF,CL93AU,CL03M,CL03F,CL03AM,CL03AF,CL13M1,CL13F1,CL13M2,CL13F2,CL13AM,CL13AF);期初q = 0,期末q = 1
案例代码【例4.1】()
参数:
投资 = 10000
生命表代码 = CL93U
银行利率 = 0.05
投保年龄 = 45
期初或期末 = 1
代码:
webTJ.clear();
var oS=webActuary.getNJAw("CL93U",0.05,45,1);
var oN=10000/oS;
webTJ.display("单位元终身生存年金:"+oS,0);
webTJ.display("每年可领取金额:"+oN,0);
函数:webActuary.getNJA(smb,r,x,n,q);
参数:smb - 生命表代码;r - 银行利率;x - 投保年龄;n - 投保期限;q - 期初或期末
案例代码【例4.2】()
参数:
投资 = 1000
生命表代码 = CL93U
银行利率 = 0.06
投保年龄 = 40
投保期限 = 20
期初或期末 = 0
代码:
webTJ.clear();
var oS=1000*webActuary.getNJA("CL93U",0.06,40,20,0);
webTJ.display("定期生存年金:"+oS,0);
函数:webActuary.getNJAwm(smb,r,x,m,q);
参数:smb - 生命表代码;r - 银行利率;x - 投保年龄;m - 延期;q - 期初或期末
案例代码【例4.3】()
参数:
投资 = 6000
生命表代码 = CL93U
银行利率 = 0.06
投保年龄 = 30
延期 = 30
期初或期末 = 0
代码:
webTJ.clear();
var oS=6000*webActuary.getNJAwm("CL93U",0.06,30,30,0);
webTJ.display("延期终身生存年金:"+oS,0);
函数:webActuary.getNJAm(smb,r,x,n,m,q);
参数:smb - 生命表代码;r - 银行利率;x - 投保年龄;n - 投保期限;m - 延期;q - 期初或期末
样例代码()
参数:
生命表代码 = CL93U
银行利率 = 0.06
投保年龄 = 30
投保期限 = 20
延期 = 10
期初或期末 = 0
代码:
webTJ.clear();
var oS=webActuary.getNJAm("CL93U",0.06,30,20,10,0);
webTJ.display("延期定期生存年金:"+oS,0);
案例代码【例4.4】
参数:
投资 = 6000
生命表代码 = CL93U
银行利率 = 0.06
投保年龄 = 30
延期 = 40
期初或期末 = 0
代码:
webTJ.clear();
var oA=webActuary.getIFA(10,0.06,0); //单位元期初年金现值
var oS=webActuary.getSXAs("CL93U",0.06,30,30); //定期生存险
var oM=webActuary.getNJAwm("CL93U",0.06,30,40,0); //延期终身生存年金
var oV=6000*(oA*oS+oM);
webTJ.display("趸缴净保费:"+oV,0);
案例代码【例4.5】
参数:
生命表代码 = CL93U
银行利率 = 0.06
投保年龄 = 30
延期 = 30, 40, 50
期初或期末 = 0
代码:
webTJ.clear();
var oM1=webActuary.getNJAm("CL93U",0.06,30,10,30,0);
var oM2=webActuary.getNJAm("CL93U",0.06,30,10,40,0);
var oM3=webActuary.getNJAm("CL93U",0.06,30,10,50,0);
var oV=6000*oM1+7000*oM2+8000*oM3;
webTJ.display("趸缴净保费:"+oV,0);
2、年付一次变额生存年金
函数:webActuary.getNJIA(smb,r,x,n,q);
参数:smb - 生命表代码;r - 银行利率;x - 投保年龄;n - 投保期限;q - 期初或期末
样例代码()
参数:
生命表代码 = CL93U
银行利率 = 0.06
投保年龄 = 30
投保期限 = 10
期初或期末 = 0
代码:
webTJ.clear();
var oS=webActuary.getNJIA("CL93U",0.06,30,10,0);
webTJ.display("等额递增定期生存年金:"+oS,0);
函数:webActuary.getNJIAw(smb,r,x,q);
参数:smb - 生命表代码;r - 银行利率;x - 投保年龄;q - 期初或期末
样例代码()
参数:
生命表代码 = CL93U
银行利率 = 0.06
投保年龄 = 30
期初或期末 = 0
代码:
webTJ.clear();
var oS=webActuary.getNJIAw("CL93U",0.06,30,0);
webTJ.display("等额递增终身生存年金:"+oS,0);
函数:webActuary.getNJDA(smb,r,x,n,q);
参数:smb - 生命表代码;r - 银行利率;x - 投保年龄;n - 投保期限;q - 期初或期末
样例代码()
参数:
生命表代码 = CL93U
银行利率 = 0.06
投保年龄 = 30
投保期限 = 10
期初或期末 = 0
代码:
webTJ.clear();
var oS=webActuary.getNJDA("CL93U",0.06,30,10,0);
webTJ.display("等额递减定期生存年金:"+oS,0);
案例代码【例4.6】
参数:
生命表代码 = CL93U
银行利率 = 0.06
投保年龄 = 50
期初或期末 = 1
代码:
webTJ.clear();
var oM1=webActuary.getNJAw("CL93U",0.06,50,1);
var oM2=webActuary.getNJIAw("CL93U",0.06,50,1);
var oV=4500*oM1+500*oM2;
webTJ.display("趸缴净保费:"+oV,0);
3、年付多次定额生存年金
函数:webActuary.getNJMAw(smb,k,r,x,q,p);
参数:smb - 生命表代码;k - 支付次数;r - 银行利率;x - 投保年龄;q - 期初或期末;p - 整数年间死亡分布假设
注:p = 0、1、2、3分别表示整数年和整数年间均匀死亡假设、死亡力恒定假设和Balducci假设
样例代码()
参数:
生命表代码 = CL93U
支付次数 = 12
银行利率 = 0.06
投保年龄 = 30
期初或期末 = 0
整数年间死亡分布假设 = 1
代码:
webTJ.clear();
var oS=webActuary.getNJMAw("CL93U",12,0.06,30,0,1);
webTJ.display("趸缴净保费:"+oS,0);
函数:webActuary.getNJMA(smb,k,r,x,n,q,p);
参数:smb - 生命表代码;k - 支付次数;r - 银行利率;x - 投保年龄;n - 投保期限;q - 期初或期末;p - 整数年间死亡分布假设
注:p = 0、1、2、3分别表示整数年和整数年间均匀死亡假设、死亡力恒定假设和Balducci假设
样例代码()
参数:
生命表代码 = CL93U
支付次数 = 12
银行利率 = 0.06
投保年龄 = 30
投保期限 = 10
期初或期末 = 0
整数年间死亡分布假设 = 1
代码:
webTJ.clear();
var oS=webActuary.getNJMA("CL93U",12,0.06,30,10,0,1);
webTJ.display("趸缴净保费:"+oS,0);
函数:webActuary.getNJMAwm(smb,k,r,x,m,q,p);
参数:smb - 生命表代码;k - 支付次数;r - 银行利率;x - 投保年龄;m - 延期; q - 期初或期末;p - 整数年间死亡分布假设
注:p = 0、1、2、3分别表示整数年和整数年间均匀死亡假设、死亡力恒定假设和Balducci假设
样例代码()
参数:
生命表代码 = CL93U
支付次数 = 12
银行利率 = 0.06
投保年龄 = 30
延期 = 10
期初或期末 = 0
整数年间死亡分布假设 = 1
代码:
webTJ.clear();
var oS=webActuary.getNJMAwm("CL93U",12,0.06,30,10,0,1);
webTJ.display("趸缴净保费:"+oS,0);
函数:webActuary.getNJMAm(smb,k,r,x,n,m,q,p);
参数:smb - 生命表代码;k - 支付次数;r - 银行利率;x - 投保年龄;n - 投保期限;m - 延期; q - 期初或期末;p - 整数年间死亡分布假设
注:p = 0、1、2、3分别表示整数年和整数年间均匀死亡假设、死亡力恒定假设和Balducci假设
样例代码()
参数:
生命表代码 = CL93U
支付次数 = 12
银行利率 = 0.06
投保年龄 = 30
投保期限 = 20
延期 = 10
期初或期末 = 0
整数年间死亡分布假设 = 1
代码:
webTJ.clear();
var oS=webActuary.getNJMAm("CL93U",12,0.06,30,20,10,0,1);
webTJ.display("趸缴净保费:"+oS,0);
4、年付多次变额生存年金
记,为年付次期初递增定期生存年金,则有,
函数:webActuary.getNJMIA(smb,k,r,x,n,q,p);
参数:smb - 生命表代码;k - 支付次数;r - 银行利率;x - 投保年龄;n - 投保期限;q - 期初或期末;p - 整数年间死亡分布假设
样例代码()
参数:
生命表代码 = CL93U
支付次数 = 12
银行利率 = 0.06
投保年龄 = 30
投保期限 = 10
期初或期末 = 0
整数年间死亡分布假设 = 1
代码:
webTJ.clear();
var oS=webActuary.getNJMIA("CL93U",12,0.06,30,10,0,1);
webTJ.display("年付多次变额递增定期生存年金:"+oS,0);
记,为年付次期初递增终身生存年金,则有,
函数:webActuary.getNJMIAw(smb,k,r,x,q,p);
参数:smb - 生命表代码;k - 支付次数;r - 银行利率;x - 投保年龄;q - 期初或期末;p - 整数年间死亡分布假设
样例代码()
参数:
生命表代码 = CL93U
支付次数 = 12
银行利率 = 0.06
投保年龄 = 30
期初或期末 = 0
整数年间死亡分布假设 = 1
代码:
webTJ.clear();
var oS=webActuary.getNJMIAw("CL93U",12,0.06,30,10,0,1);
webTJ.display("年付多次变额递增终身生存年金:"+oS,0);
记,为年付次期初递减定期生存年金,则有,
函数:webActuary.getNJMDA(smb,k,r,x,n,q,p);
参数:smb - 生命表代码;k - 支付次数;r - 银行利率;x - 投保年龄;n - 投保期限;q - 期初或期末;p - 整数年间死亡分布假设
样例代码()
参数:
生命表代码 = CL93U
支付次数 = 12
银行利率 = 0.06
投保年龄 = 30
投保期限 = 10
期初或期末 = 0
整数年间死亡分布假设 = 1
代码:
webTJ.clear();
var oS=webActuary.getNJMDA("CL93U",12,0.06,30,10,0,1);
webTJ.display("年付多次变额递减定期生存年金:"+oS,0);
利率 生命表 年龄 期限 延期 期初期末
年龄 | 终身 | 定期 | 延期终身 | 延期定期 | 递增定期 | 递增终身 | 递减定期 |
40 | 0.0494 | 0.1885 | 0.3423 | 0.3917 | 0.0728 | 0.1691 | 0.1751 |
注:设置参数后点击“计 算”按钮可获得各种类型生存年金趸缴净保费
利率 生命表 年龄 期限 延期 期初期末
年付 次 整数年间死亡分布假设
年龄 | 终身 | 定期 | 延期终身 | 延期定期 | 递增定期 | 递增终身 | 递减定期 |
40 | 0.0494 | 0.1885 | 0.3423 | 0.3917 | 0.0728 | 0.1691 | 0.1751 |
注:设置参数后点击“计 算”按钮可获得各种类型生存年金趸缴净保费
三、主要离散型生存年金方差类函数
1、年付一次定额生存年金方差
函数:webActuary.getDNJAw(smb,r,x);
参数:smb - 生命表代码;r - 银行利率;x - 投保年龄
注:生命表代码(CL93M,CL93F,CL93U,CL93AM,CL93AF,CL93AU,CL03M,CL03F,CL03AM,CL03AF,CL13M1,CL13F1,CL13M2,CL13F2,CL13AM,CL13AF);期初q = 0,期末q = 1
案例代码【例4.1】()
参数:
生命表代码 = CL93U
银行利率 = 0.05
投保年龄 = 45
代码:
webTJ.clear();
var oS=webActuary.getDNJAw("CL93U",0.05,45);
webTJ.display("单位元终身生存年金方差:"+oS,0);
函数:webActuary.getDNJA(smb,r,x,n);
参数:smb - 生命表代码;r - 银行利率;x - 投保年龄;n - 投保期限
样例代码()
参数:
生命表代码 = CL93U
银行利率 = 0.06
投保年龄 = 40
投保期限 = 20
代码:
webTJ.clear();
var oS=webActuary.getDNJA("CL93U",0.06,40,20);
webTJ.display("定期生存年金方差:"+oS,0);
函数:webActuary.getDNJAwm(smb,r,x,m);
参数:smb - 生命表代码;r - 银行利率;x - 投保年龄;m - 延期
案例代码【例4.3】()
参数:
生命表代码 = CL93U
银行利率 = 0.06
投保年龄 = 30
延期 = 30
代码:
webTJ.clear();
var oS=webActuary.getDNJAwm("CL93U",0.06,30,30);
webTJ.display("延期终身生存年金方差:"+oS,0);
函数:webActuary.getDNJAm(smb,r,x,n,m);
参数:smb - 生命表代码;r - 银行利率;x - 投保年龄;n - 投保期限;m - 延期
样例代码()
参数:
生命表代码 = CL93U
银行利率 = 0.06
投保年龄 = 30
投保期限 = 20
延期 = 10
代码:
webTJ.clear();
var oS=webActuary.getDNJAm("CL93U",0.06,30,20,10);
webTJ.display("延期定期生存年金方差:"+oS,0);
利率 生命表 年龄 期限 延期
年龄 | 终身生存年金 | 定期生存年金 | 延期终身生存年金 | 延期定期生存年金 |
40 | 0.0494 | 0.1885 | 0.3423 | 0.3917 |
代码窗口
注:可将例题实例代码复制、粘贴到“代码窗口”,点击“运行代码”获得计算结果(鼠标选择实例代码Ctrl+C:复制鼠标点击“代码窗口”使其获得焦点Ctrl+V:粘贴)
代码运行效果
上篇文章:人寿保险 - 寿险精算(7)
下篇文章:均衡净保费 - 寿险精算(9)
银河统计工作室成员由在校统计、计算机部分师生和企业数据数据分析师组成,维护和开发银河统计网和银河统计博客(技术文档)。专注于数据挖掘技术研究和运用,探索统计学、应用数学和IT技术有机结合,尝试大数据条件下新型统计学教学模式。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架