利息基础理论 - 寿险精算(2)
第一章 利息理论
教学重点:掌握利息的基础理论,年金现值、年金终值的定义及计算方法,永续年金、变额年金的现值和终值的计算;熟悉年金的定义及分类方法。
人寿保险是以人的身体和为保险标的的保险。人生的各个不同阶段一直都面临着生、老、病、死的风险,往往需要通过保险得到经济安全保障。为了在较长时期内平衡缴费水平,人寿保险通常为长期合同。因此,在寿险精算中,必须要考虑资金的投资收益,利息理论便成为寿险精算的基础。
第一节 利息基本理论
本节概要:利息计算公式和图表,名义利率和名义贴现率计算公式和图表。
利息是借入资金需要支付的使用代价,或者是出让资本使用权得到的报酬。
在经济活动中,资金的周转使用会带来价值的增值。资金周转使用的时间越长,实现的价值增值也就越大。资金所有者在放弃资金使用权得到报酬的同时,必须要考虑通货膨胀的影响。
一、利息与积累函数
1、利息
设年初以资本金\(A(0)\)投资,\(A(t)\)为第\(t\)年末的资金累积额(本利和),这里\(A(t)\)称为总额函数。则第\(t\)期的利息\(I_{t}\)为:$$I_{t}=A(t)-A(t-1)\tag{1-1}$$
在利息的计算中,期初的资本金成为本金,利用本金的时间长度为投资期,相邻两次计息的时间间隔为计息期。计息期可以是年、季度、月或天。
【例1.1】某人投资本金10,000元,一年后增值为10,100元。试计算利息额。
解:已知,\(A(0)=10000\),一年后即\(t=1\),总额函数\(A(1)=10100\)。
则,年利息\(I_{1}=A(1)-A(0)=10100-10000=100\)(元)。
2、利息率
利息率指单位本金在一定时期(单位时间)内所产生的利息,它是衡量资金生息水平的指标。
用符号\(i\)表示利息率,第\(t\)个时期的利息率为:$$i_{t}=\frac{A(t)-A(t-1)}{A(t-1)}\tag{1-2}$$
【例1.2】由“例1.1”数据计算利息率。
解:$$i_1=\frac{A(1)-A(0)}{A(0)}=\frac{10100-10000}{10000}=1%\tag{1-2}$$
3、积累函数
已知\(A(t)\)是资本金\(A(0)\)经过时间\(t\)后的价值,这里定义积累函数为:$$a(t)=\frac{A(t)}{A(0)}\tag{1-3}$$
\(a(t)\)为单位资本金经过\(t\)时间后的积累额,\(t\)时间的总积累额为:$$A(t)=A(0)\times a(t)\tag{1-4}$$
引入积累函数后,利息率又可表示为:$$i_{t}=\frac{a(t)-a(t-1)}{a(t-1)}\tag{1-5}$$
【例1.3】由例1.1数据,“某人投资本金10,000元,一年后增值为10,100元”,计算累积函数和利息率。
解:\(a(1)=\frac{A(1)}{A(0)}=\frac{10100}{10000}=1.01\),\(i_{1}=\frac{a(t)-a(t-1)}{a(t-1)}=\frac{1.01-1}{1}=1\%\)
计算利息的方法有单利和复利两种,单利只在本金上计算利息,而复利则是采用“利滚利”计算利息。
1、单利
在单利条件下,设第\(t\)年利率为\(i_{t}\),则各年末累积额依次为,
第一年末累积额:\(A(1)=A(0)+A(0)\times i_{1}=A(0)(1+i_{1})\)
第二年末累积额:\(A(2)=A(0)(1+i_{1})+A(0)\times i_{2}=A(0)(1+i_{1}+i_{2})\)
... ... ...
第\(t\)年末累积额:$$A(t)=A(0)(1+i_{1}+i_{2}+\ldots+i_{t})\tag{1-6}$$
当各年利率相等时,即\(i=i_{1}=i_{2}=\ldots=i_{t}\)时,
累积额为:$$A(t)=A(0)(1+t\times i)\tag{1-7}$$
由公式(1-4)可知,单利条件下积累函数为:$$a(t)=(1+t\times i)\tag{1-8}$$
此时,由于每年得到的利息额不变,在本金逐年增大后,年实际利率递减。由利率计算公式,
可见,\(i_{t}\)随\(t\)增大而减小。
单利实际利率递减表
利息率 年限
实例代码:
var t = 10; //设置投资期限变量
var p = 0.05; //设置银行利率变量(5%)
var v = webActuary.getSJDL(t,p); //计算该时期实际利率
webTJ.display(v,0); //显示计算结果
注:本文为寿险精算课程设计了类函数库,可将实例代码复制粘贴到文字结尾“利息理论公式操作命令窗口”进行计算
【例1.4】某人2005年3月1日存入银行13600元,年利率为5%,3年后取出,计算本利和(单利)。
解:\(A(3)=A(0)(1+3\times 5\%)=13600(1+3\times 0.05)=15640\)(元)。
实例代码:
var m = 13600; //设置投资本金变量
var t = 3; //设置投资期限变量
var p = 0.05; //设置银行利率变量(5%)
var s = webActuary.getDL(m,t,p); //计算到期单利本利和
webTJ.display("到期本利和 = "+s+"(元)",0); //显示计算结果
注:可用鼠标选择实例代码,然后复制、粘贴到“代码窗口”文本框中并运行代码(Ctrl+C复制、Ctrl+V粘贴)。下同
当公式比较简单时,可直接运用JavaScript编写计算公式,如上例,
var m = 13600; //设置投资本金变量
var t = 3; //设置投资期限变量
var p = 0.05; //设置银行利率变量(5%)
var s = m*(1+t*p); //直接用JavaScript计算到期单利本利和
s = webTJ.getDecimal(s,2); //计算结果保留两位小数
webTJ.display("到期本利和 = "+s+"(元)",0); //显示计算结果
在【例1.4】中,当各个时期银河利率水平不相等时(\(i_{1}=4\%, i_{2}=5\%, i_{3}=6\%\)),精算类函数实例代码为,
var m = 13600; //设置投资本金变量
var prr = [0.04,0.05,0.06]; //设置不同时期银行利率数组变量
var s = webActuary.getDLs(m,prr); //计算到期单利本利和
webTJ.display("到期本利和 = "+s+"(元)",0); //显示计算结果
单利计算表
本金 利息率 年限
2、复利
在复利条件下,设第t年利率为 ,则各年末累积额依次为,
第一年末累积额:\(A(1)=A(0)+A(0)\times i_{1}=A(0)(1+i_{1})\)
第二年末累积额:\(A(2)=A(0)(1+i_{1})+A(0)(1+i_{1})\times i_{2}=A(0)(1+i_{1})(1+i_{2})\)
... ... ...
第\(t\)年末累积额:$$A(t)=A(0)(1+i_{1})(1+i_{2})\times \ldots\times (1+i_{t})\tag{1-9}$$
当各年利率相等时,即\(i=i_{1}=i_{2}=\ldots=i_{t}\)时,
累积额为:$$A(t)=A(0)(1+i)^t\tag{1-10}$$
由公式(1-4)可知,复利条件下积累函数为:\(a(t)=(1+i)^t\tag{1-11}\)
此时,利息额增大,利息率不变,由利率计算公式,
【例1.5】某人2005年3月1日存入银行13600元,年利率为5%,3年后取出,计算本利和(复利)。
解:\(A(t)=A(0)(1+5\%)^3=13600\times (1+0.05)^3=15743.7\)(元)。
实例代码:
var m = 13600; //设置投资本金变量
var t = 3; //设置投资期限变量
var p = 0.05; //设置银行利率变量(5%)
var s = webActuary.getFL(m,t,p); //计算到期复利本利和
webTJ.display("到期本利和 = "+s+"(元)",0); //显示计算结果
在【例1.5】中,当各个时期银行利率水平不相等时(\(i_{1}=4\%, i_{2}=5\%, i_{3}=6\%\)),精算类函数实例代码为,
var m = 13600; //设置投资本金变量
var prr = [0.04,0.05,0.06]; //设置不同时期银行利率数组变量
var s = webActuary.getFLs(m,prr); //计算到期复利本利和
webTJ.display("到期本利和 = "+s+"(元)",0); //显示计算结果
复利计算表
本金 利息率 年限
通常,利息支付的方式有两种:
一种是期末支付,它是本金的增加值。如,年初存入银行100元,一年后到期获得5元利息,它就是100元本金的增加值,且在年末支付。这种利息称为滞后利息或期末付利息;
另一种是期初支付,它是积累额的减少额,这种利息称为贴现。如,购买面额为100元的一年期国债,现时支付90元即可,则本期国债的利息为10元,它是在100元基础上的减少额,10元利息在购买时就已获得,10元称为贴现额。
贴现率用来衡量贴现水平,它是单位货币在一定时期内的贴现额。用符号\(d\)表示贴现率,第\(t\)个时期的贴现率为:\(d_{t}=\frac{A(t)-A(t-1)}{A(t-1)}\tag{1-12}\)
用积累函数表示为:\(d_{t}=\frac{a(t)-a(t-1)}{a(t-1)}\tag{1-13}\)
在复利条件下,如果利率不变,有:\(d_{t}=\frac{(1+i)^t-(1+i)^{(t-1)}}{(1+i)^{t}}=\frac{i}{1+i}\)
上式表示常数贴现率与常数利息率的关系为:\(d=\frac{i}{1+i}\tag{1-14}\)
在常数贴现率条件下,积累额为:\(A(t)=A(0)\times (1-d)^t\tag{1-15}\)
在常数利息率条件下,由式(1-10),\(A(t)=A(0)(1+i)^t\),可知,以利率\(i\)积累的积累值与以贴现率\(d\)积累的积累值是等价的。
【例1.6】计算1998年1月1日1000元在复利贴现率5%下1995年1月1日的现值及利息率。
解:1995年1月1日的现值为,\(1000\times (1-0.05)^3=857.375\)(元)
年利息率为,\(i=\frac{d}{1-d}=\frac{0.05}{1-0.05}=0.0526\)
计算现值实例代码:
var m = 1000; //投资本金
var t = 3; //投资期限
var d = 0.05; //银行利率(5%)
var v = webActuary.getTX(m,t,d); //计算复利贴现额
webTJ.display(v,0); //显示计算结果
计算利息率实例代码:
var i1 = webActuary.getIfromD(0.05); //用贴现率计算利息率
webTJ.display(i1,0);
var i2 = webTJ.getDecimal(d/(1-d),4); //直接用JS计算,并保留小数4位
webTJ.display(i2,0);
在【例1.6】中,如果各个时期银行贴现率水平不相等时(\(d_{1}=4\%, d_{2}=5\%, d_{3}=6\%\)),精算类函数实例代码为,
计算现值实例代码:
var m = 1000; //投资本金
var drr = [0.04,0.05,0.06]; //不同时期银行贴现率数组变量
var v = webActuary.getTXs(m,drr); //计算复利贴现额
webTJ.display(v,0); //显示计算结果
贴现计算表
本金 贴现率 年限
利息可以按年结算,也可按半年、季或月结算。在单利情况下,计息单位不影响利息额;在复利条件下,即使年利率不变,但由于结算的时间单位不同,使实际利息值也不同。如本金1元、年利率10%,按年结算到期利息为0.1元。但如果半年结算一次(一年结算两次),此时半年的实际利率为5%,年利息额为\(1\times (1+\frac{10\%}{2})^2-1=0.1025\)元,实际利率为10.25%。这样,由于复利计算期和年利率基本时间单位不一致,出现了利息率名不副实的现象。
1、名义利率
这里,我们把原来规定可以多次用来结算的利率称为名义利率,符号表示为\(i^{(m)}\),\(m\)为为结算次数,每次结算的实际利率为\(\frac{i^{(m)}}{m}\),则有,\(1+i=(1+\frac{i^{(m)}}{m})^m\)
解得,
一年不同结算次数名义利率计算表
利息率 最大结算次数
2、名义贴现率
名义贴现率符号表示为\(d^{(m)}\),\(m\)为结算次数,每次结算的实际贴现率为\(\frac{d^{^{(m)}}}{m}\),则有,
解得,
一年不同结算次数名义贴现率计算表
贴现率 最大结算次数
3、名义利率和名义贴现率的关系
由(1-14)贴现率与利息率关系式,\(d=\frac{i}{1+i}\)得,\(1-d=\frac{1}{1+i}\),由式(1-16)、(1-18)得:
整理得,
转换为,
或,
一般地,如果一年支付m次利息的名义利率为\(i^{^{(m)}}\),一年支付n次贴现的名义贴现率为d{{(n)}},年初的本金为1,则年末的累积额有,
转换为,
或,
【例1.7】某人以每年3.6%的利率从银行贷款1000元,在复利条件下按月结算,3年后欠银行多少钱?
解:按月结算时,年利率3.6%,月利率为0.3%。3年36个月的欠款额为:
如果按年利息率计算,3年的欠款额为,
名义利率,
名义利率计算的3年36个月欠款额为,
实例代码(例1.7):
webTJ.clear();//清空输出
var s = 1000;//本金
var j = 0.003;//月利息率
var i = 0.036;//年利息率
var m = 12;//月份数
var v = s*Math.pow((1+j),36);//按月利息率计算3年36个月欠款额
v = webTJ.getDecimal(v,4);//计算结果保留小数点4位
webTJ.display("按月利息率计算欠款额:"+v,0);//输出计算结果
var v1 = s*Math.pow((1+i),3);//按年利息率计算3年的欠款额
v1 = webTJ.getDecimal(v1,4);
webTJ.display("按年利息率计算欠款额:"+v1,0);
var i1 = m*(Math.pow(1+i,1/m)-1)//计算名义利率
webTJ.display("名义利率:"+i1,0);
var v2 = s*Math.pow((1+i1/m),36);//按名义利率计算3年36个月欠款额
v2 = webTJ.getDecimal(v2,4);
webTJ.display("按名义利率计算欠款额:"+v2,0);
注:\((1+0.003)^{36}\)=Math.pow((1+0.003),36)
【例1.8】I、求每月结算的年利率为12%的实际利率;II、求每季结算的年贴现率为10%的实际贴现率;II、求相当于每月结算的年利率为12%的半年结算的贴现率。
解:
I、 实际利率为:
II、 实际贴现率为:
III、由式(1-25),
实例代码(例1.8):
webTJ.clear();//清空输出
var i = 0.12;//年利息率
var m = 12;//年月份数
var s = 4;//年季度数
var v = Math.pow((1+i/12),m)-1;//求每月结算的年利率为12%的实际利率
v = webTJ.getDecimal(v,4);
webTJ.display("按月结算的年利率为12%的实际利率:"+v,0);
var d=0.1;//年贴现率
var v1 = 1-Math.pow((1-d/s),s);//求每季结算的年贴现率为10%的实际贴现率
v1 = webTJ.getDecimal(v1,4);
webTJ.display("按季结算的年贴现率为10%的实际贴现率:"+v1,0);
var v2 = 2*(1-Math.pow((1+i/m),-m/2));//求相当于每月结算的年利率为12%的半年结算的贴现率
v2 = webTJ.getDecimal(v2,4);
webTJ.display("按相当于每月结算的年利率为12%的半年结算的贴现率:"+v2,0);
4.利息力
利息率和贴现率表示资金在一定时间内的获利能力,如果一年支付\(m\)次利息或\(m\)次贴现时\(m\rightarrow\infty\),则反映资金的瞬时获利能力。我们称这种瞬时获利能力为利息力,符号表示为\(\delta\)。
由(1-17)得,
即,\(\delta=ln(1+i)\)或\(e^\delta=1+i\)
由(1-19)得,
由此可知,当支付次数无限大时,利息率和贴现率趋向利息力,即,
【例1.9】某人在1998年7月22日贷款4000元,如果利息力是14%,在复利下求以下问题:
I、贷款额在2003年7月22日的价值;
II、年利率;
III、名义利率(每月支付一次)。
解:
I、2003年7月22日贷款额:\(4000\times (1+i)^5=4000\times e^{0.14\times 5}=8055.01(元)\)
II、年利率:\(i=e^{\delta}-1=e^{0.14}-1=15.0274\%\)
III、名义利率:\((1+\frac{i^{(m)}}{m})^m=1+i=e^{\delta}\Longleftrightarrow i^{(m)}=m\times (e^{^{\frac{\delta}{m}}}-1)\Longleftrightarrow i^{12}=12\times (e^{^{\frac{0.14}{12}}}-1)=14.082\%\)
实例代码(例1.9):
webTJ.clear();
var a = 0.14;//利息力
var m = 4000;//贷款
var v = m*Math.pow(Math.E,0.14*5);//计算贷款额在2003年7月22日的价值
v = webTJ.getDecimal(v,4);
webTJ.display("贷款额在2003年7月22日的价值:"+v,0);
var v1 = Math.pow(Math.E,a)-1;//计算年利率
v1 = webTJ.getDecimal(v1,4);
webTJ.display("年利率:"+v1,0);
var v2 = 12*(Math.pow(Math.E,a/12)-1);//计算名义利率
v2 = webTJ.getDecimal(v2,4);
webTJ.display("名义利率:"+v2,0);
五、利息理论类函数索引
单利函数(各期利率不相等),
函数:webActuary.getDLs(m,prr)
公式:(1-6)
参数:m - 本金;prr - 各期银行利率数组
单利函数(各期利率相等),
函数:webActuary.getDL(m,t,p)
公式:(1-7)
参数:m - 本金;t - 投资期限;p - 银行利率
复利函数(各期利率不相等),
函数:webActuary.FLs(m,prr)
公式:(1-9)
参数:m - 本金;prr - 各期银行利率数组
复利函数(各期利率相等),
函数:webActuary.getFL(m,t,p)
公式:(1-10)
参数:m - 本金;t - 投资期限;p - 银行利率
复贴现函数,
函数:webActuary.getTX(m,t,d)
公式:(1-15)
参数:m - 本金;t - 投资期限;d - 银行贴现率
由贴现率计算利率(各期贴现率相等),
函数:webActuary.getIfromD(d)
参数:d - 贴现率
由利率计算贴现率(各期利率相等),
函数:webActuary.getDfromI(i)
公式:(1-14)
参数:i - 利率
由名义利率计算利率,
函数:webActuary.getIfromIm(im,m)
公式:(1-16)
参数:im - 名义利率、m - 结算次数
由利率计算名义利率,
函数:webActuary.getImfromI(i,m)
公式:(1-17)
参数:i - 利率、m - 结算次数
由名义贴现率计算贴现率,
函数:webActuary.getDfromDm(dm,m)
公式:(1-18)
参数:dm - 名义利率、m - 结算次数
由贴现率计算名义贴现率,
函数:webActuary.getDmfromD(d,m)
公式:(1-19)
参数:d - 贴现率、m - 结算次数
由利息率计算利息力,
函数:webActuary.getIwfromI(i)
公式:(1-26)
参数:i - 利息率
实例代码:
webTJ.clear();
webTJ.display("由贴现率计算利率:"+webActuary.getIfromD(0.05),0);
webTJ.display("由利率计算贴现率:"+webActuary.getDfromI(0.05),0);
webTJ.display("由名义利率计算利率:"+webActuary.getIfromIm(0.05,12),0);
webTJ.display("由利率计算名义利率:"+webActuary.getImfromI(0.05,12),0);
webTJ.display("由名义贴现率计算贴现率:"+webActuary.getDfromDm(0.05,12),0);
webTJ.display("由贴现率计算名义贴现率:"+webActuary.getDmfromD(0.05,12),0);
webTJ.display("由利息率计算利息力:"+webActuary.getIwfromI(0.05),0);
六、利息理论公式操作命令窗口
代码窗口
代码运行效果
七、练习题
1、名词解释:
利息、利息率、贴现率、名义利率、名义贴现率、利息力
2、简答题
(1) 举例说明什么是利息和利息率。
(2) 举例说明什么是贴现率。
(3) 名义利率和利率的关系
(4) 名义贴现率和贴现率的关系
3、计算题(可分别使用计算器、EXCEL和网页实例代码计算)
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
上篇文章:概论 - 寿险精算(1)
下篇文章:确定型年金 - 寿险精算(3)
©哈尔滨商业大学 银河统计工作室
银河统计工作室成员由在校统计、计算机部分师生和企业数据数据分析师组成,维护和开发银河统计网和银河统计博客(技术文档)。专注于数据挖掘技术研究和运用,探索统计学、应用数学和IT技术有机结合,尝试大数据条件下新型统计学教学模式。