图3.2 还款额时间序列
但是如果考虑到货币的时间价值,PV(MPFix)=PV(MPVar)=500000,两种还款方式的现值都是相等的。
5.5提前还款违约金估算
商业银行的盈利模式之一为吸收存款、放出贷款获得存贷差,以上述案件贷款为例 MP:为月还款额;R:为月贷款利率;B:为总借款额; n为还款期限
若贷款50万元,10年还款共120期,年贷款利率5%,采用等额还款方式计算出MP=5303.3 ,银行的贷款利率为5%,如果其存款利率为4%(仅为假设数据)
则按年化4%,120期,每期5303.3元,现金流现值为,matlab计算代码:
RATE=0.04/12; N=10*12;
Payment=5303.3;
pv = pvfix(RATE, N, Payment) >>pv =
5.2381e+005
若按4%的年化利率贴现,现值为523810元,即若不考虑运营成本,银行此笔贷款利润为23810元。
若在第五年末提前还款,即提前60期还款,每期5303.3元,贴现率分别为4%,5%的现金流现值为,matlab计算代码:
RATE1=0.04/12; RATE2=0.05/12; N=5*12;
Payment=5303.3;
pv1 = pvfix(RATE1, N, Payment) pv2 = pvfix(RATE2, N, Payment) pv1-pv2 >>pv1 =
2.8796e+005 pv2 =
2.8103e+005 ans = 6.9386e+003
计算结果:贴现率分别为4%,5%的现金流现值为 2.8796e+005, 2.8103e+005,提前还款给银行造成的损失为6938.6元。
以上,计算均为示例计算,贴现率均为假设。
6.商业养老保险分析
基本养老保险支付能力有国家财政保障,企业补充养老保险的收益受其投资收益的影响,商业养老保险的现金流基本根据保险产品的说明书确定,可使用数量化方向对其进行分析,所以本章将商业养老保险作为主要对象,进行数量化分析。注释:目前我国的养老保险由三个部分组成:
基本养老保险:是国家根据法律、法规的规定,强制建立和实施的一种社会保险制度。在这一制度下,用人单位和劳动者必须依法缴纳养老保险费,在劳动者达到国家规定的退休年龄或因其他原因而退出劳动岗位后,社会保险经办机构依法向其支付养老金等待遇,从而保障其基本生活。基本养老保险与失业保险、基本医疗保险、工伤保险、生育保险等共同构成现代社会保险制度,并且是社会保险制度中最重要的险种之一。
企业补充养老保险(企业年金):企业年金源自于自由市场经济比较发达的国家,是一种属于企业雇主自愿建立的员工福利计划。企业年金,即由企业退休金计划提供的养老金。其实质是以延期支付方式存在的职工劳动报酬的一部分或者是职工分享企业利润的一部分。
商业养老保险个人储蓄性养老保险:个人储蓄性养老保险是由职工根据个人收入情况自愿参加的一种养老保险形式。个人储蓄性养老保险由职工个人自愿选择经办机构,个人、储蓄性养老保险基金由个人所有。商业养老保险个人储蓄性养老保险的实现方式为购买保险公司提供的保险产品或自行储蓄实现。
6.1商业养老保险案例
本章将以案例分析方法进行商业养老保险的现金流分析,以下为某公司养老保险示例(简称产品A):
假设:某30岁男性,投保养老保险产品A,10年交费,基本保险金额10万元,60岁的保单周年日开始领取,按年领取,只要被保险人生存,可以一直领取到100周岁的保单周年日。
图3.2 产品现金流序列(非贴现)
注释:图2为产品宣传材料中非贴现现金流序列图。
保费支出:
投保人30岁到40岁10年期间,每年交保费15940元。
基本保险利益:
1. 养老保险金:60岁开始,每年到达保单周年日可领取养老保险金,一直到100周岁的保单周年日
被保险人生存,可按下表领取养老保险金。表1:养老保险金金额表 领取次数 第1-3次 领取金额 10000元/次 第4-6次 10600元/次 ...... 第40—41次 每领取3次按保险金额的0.6%递增,依此类推。 17800元/次 2. 在20年的保证领取期内,被保险人身故,领取金额为234200元减去已经领取的金额 ;
3. 祝寿金:被保险人生存至88周岁的保单周年日,领取10万元祝寿金;
4. 身故保险金:被保险人于60岁的保单周年日前身故,按所交保费与10万元之和与身故当时主险合同的现金价值(不包括因红利分配产生的相关利益)的较大者领取身故保险金。
产品分红:
在养老保险主险合同有效期间内,并且在约定养老金领取年龄的保单周年日前,按照保险监管机关的有关规定,保险公司将根据分红保险业务的实际经营状况确定红利的分配。分红是不确定的,若保险公司确定有红利分配,则该红利将于保单周年日分配给被保险人。
6.2产品结构分析
现金流是个人或企业的现金支出与收入的汇总,商业养老保险本质上根据产品说明书在一定条件下确定现金流的金融产品。
商业养老保险产品构成要素为:
1.投保人的初期保费支出,支出确定; 2.被保人的后期养老金收入,收入确定; 3.被保人获得产品分红,收入不确定;
4.附加的被保人额外收益,收入不确定,例如祝寿金
6.3现金流模型
假设:保险公司投资收益率与投保人投资收益率相等为R,为方便比较将产品的现金流贴现到30岁时进行比较,由于被保人可能获得产品分红,收入不确定性,本次分析假定产品分红为零。
模型建立:
1.设贴现利率(保险公司投资收益率)为R; 2.被保险人身故时期为X:30~100岁;
3.投保人的保费支出现值InPV(X,R),InPV(X,R)为R,X的函数; 4.被保人的保险金收入现值OutPV(X,R),InPV(X,R)为R,X的函数。
根据被保险人身故时期年龄为X, 情景分析
1.若X大于30小于等于40时:
现金支出为X-30次的保费支出outCF;
现金收入为交保费与10万元之和与身故当时主险合同的现金价值(不包括因红利分配产生的相关利益)的较大者领取身故保险金,即max( sum(outCF)+100000, PV(outCF) ).
2.若X大于40小于60时: 现金支出为10次的保费支出outCF;
现金收入为交保费与10万元之和与身故当时主险合同的现金价值(不包括因红利分配产生的相关利益)的较大者领取身故保险金,即max( sum(outCF)+ 100000,PV(outCF) ).
3.若X大于等于60小于80时:
现金支出为10次的保费支出outCF;
现金收入为X-60次的产品年金inCF, 加上234200-sum(inCF)。
4.若X大于等于80小于88时:
现金支出为10次的保费支出outCF; 现金收入为X-60次的产品年金inCF。
5.若X大于等于88小于等100时: 现金支出为10次的保费支出outCF;
现金收入为X-60次的产品年金inCF,加上88岁时的领取10万元祝寿金
点睛:由于上述情况中,现金流入或流出的时间不同则时间价值不同,例如在30岁末(31岁初)交的15940元与在35岁末(36岁初)交的15940元的价值是不同的。现在进行现金流计算的时候必须考虑货币的时间价值。
6.4保险支出现值函数
根据函数计算投保人的保费支出现值分析编写InsureOutFlowPV函数 PV=InsureOutFlowPV(StartPayAge,EndPayAge,DeadAge,OutPayment,Rate) 输入参数:
StartPayAge:保费支出起始年龄,本案例为30 EndPayAge: 保费支出结束年龄,本案例为40 DeadAge: 被保险人身故年龄 OutPayment:保费支出金额 Rate: 保费贴现率 输出函数:
PV: 投保人的保费支出现值
函数源码:M文件InsureOutFlowPV.m
function
PV=InsureOutFlowPV(StartPayAge,EndPayAge,DeadAge,OutPayment,Rate)
%code by ariszheng@gmail.com 09-6-16
if DeadAge error('DeadAge must bigger than StartPayAge') elseif DeadAge < EndPayAge PV = pvfix(Rate, DeadAge-StartPayAge, OutPayment); else PV = pvfix(Rate, EndPayAge-StartPayAge,OutPayment); End 程序注释:根据产品条款将保费支出分成两种情况,被保险人身故年龄大于30小于等于40时,被保险人身故年龄大于40。 6.5保险收入现值函数 根据函数计算被保人的保费收入现值分析编写InsureInFlowPV函数 PV=InsureInFlowPV(StartPayAge,DeadAge,OutPayment,Rate) 输入参数: StartPayAge:保费支出起始年龄,本案例为30 DeadAge: 被保险人身故年龄 OutPayment:保费支出金额 Rate: 保费贴现率 输出函数: PV: 被保人的保费收入现值 函数源码:M文件InsureInFlowPV.m function PV=InsureInFlowPV(StartPayAge,DeadAge,OutPayment,Rate) %code by ariszheng@gmail.com 09-6-15 %InPayment vector temppay=1:0.06:1.78; temppay=repmat(temppay,3,1); tempay =reshape(temppay,1,42); InPayment=zeros(1,100); InPayment(60:100)=1e4*tempay(1:41); %% if DeadAge error('DeadAge must bigger than StartPayAge') elseif StartPayAge PV=max( ((DeadAge-StartPayAge)*OutPayment+1e5)/... (1+Rate)^(DeadAge-StartPayAge),... pvfix(Rate, DeadAge-StartPayAge,OutPayment)); elseif 40 PV=max( (10*OutPayment+1e5)/(1+Rate)^(DeadAge-StartPayAge),... pvfix(Rate,10,OutPayment)); elseif 60<=DeadAge & DeadAge<80 PV=pvvar(InPayment(60:DeadAge),Rate)/(1+Rate)^30+... max(0,(234200-sum(InPayment(60:DeadAge))))/ ... (1+Rate)^(DeadAge-30); elseif 80<=DeadAge & DeadAge<88