(十八)利率的度量
作者:互联网
单利/复利计息的终值和现值
例1:面值为100的债券,年利率为8%,期限10年,求到期终值:
def flfv(a,r,t):
ffv=a*(1+r)**t
return ffv
def dlfv(a,r,t):
dfv=a*(1+t*r)
return dfv
print('单利终值为{},复利终值为{}'.format(dlfv(100,0.08,10),\
round(flfv(100,0.08,10),2)))
单利终值为180.0,复利终值为215.89
例2:某人计划5年后得到3000元,已知年利率为8%,按单利或复利计息。问现在应该存入多少钱?
def flpv(a,r,t):
fpv=a*(1+r)**(-t)
return fpv
def dlpv(a,r,t):
dpv=a*(1+t*r)**(-1)
return dpv
print('单利现值为{},复利现值为{}'.format(round(dlpv(3000,0.08,5),2),\
round(flpv(3000,0.08,5),2)))
单利现值为2142.86,复利现值为2041.75
复利频次与多期复利终值、现值
年实际利率r与每年复利n次的名义利率rn之间的换算关系:1+r=(1+rn/n)n,比如每月复利一次则n=12。
例3:有两种投资方案,方案一的年名义利率为8%,每半年付息一次,方案二的年名义利率是7.8%,每季度付息一次,试问选择哪一种投资方案?
def f(rn,n):
r=round(100*((1+rn/n)**n-1),2)
return str(r)+'%'
f(0.08,2)
Out[3]: '8.16%'
f(0.078,4)
Out[4]: '8.03%'
#除了比较年实际利率,还可以计算两种方案一年后的终值:
print(100*(1+0.08/2)**2,100*(1+0.078/4)**4)
108.16000000000001 108.03113040900627
例4:假设某人计划n年后(年末)存入银行100*n元,n=1,2,3,4。如果存款年利率为10%,求第5年初的复利终值:
#注意1年末才开始存入,第4年末结束,计息期3年
def flzz(cf,r,t):
fv=cf*(1+r)**(t-2)
return round(sum(fv),2)
import pandas as pd
t=pd.Series([5,4,3,2])
cf=pd.Series([100,200,300,400])
flzz(cf,0.1,t)
Out[8]: 1105.1
例5:假设第n年的现金流流入是100*n元,n=1,2,3,4。如果贴现率为10%,求现值:
def flxz(cf,r,t):
pv=cf*(1+r)**(-t)
return round(sum(pv),2)
t=pd.Series([1,2,3,4])
cf=pd.Series([100,200,300,400])
flxz(cf,0.1,t)
Out[11]: 754.8
连续复利
复利频次与投资终值的关系图:
import numpy as np
import matplotlib.pyplot as plt
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus']=False
r=0.03;m=np.arange(1,53)#假设最快每周复利一次,一年52次
FV=100*(1+r/m)**m
plt.plot(m,FV)
plt.xlabel('复利频次')
plt.ylabel('100元的终值')
plt.grid()
由上图可以看到当复利频次逐渐增加时,终值会趋于一个确定的值。当m→∞时,FV=lim A(1+R/m)mn=AeRn,m为复利频次,n为投资期限,R是按年复利年利率。
若r表示连续复利利率,R是与其等价的每年复利m次的利率,则它们之间的关系为:r=m×ln(1+R/m),R=m(er/m-1)。
例6:某银行对外的利率报价为5%,按季度复利,计算对应的连续复利:
def r(m,R):
return m*np.log(1+R/m)#注意是log不是ln
def R(m,r):
return m*((np.exp(r/m))-1)
r(4,0.05)
Out[13]: 0.04969007999422844
小粉桥反手王
发布了19 篇原创文章 · 获赞 0 · 访问量 624
私信
关注
标签:return,终值,十八,复利,cf,def,100,利率,度量 来源: https://blog.csdn.net/hzk427/article/details/104097697