操作系统寒武纪 - 会让企业IT高兴吗?
1075
2022-10-05
numpy使用之 Python计算年金
import numpy as npn=np.arange(1,10)#左闭右开顺序的一个List#list与list之间可以直接应用加减乘除
#计算现值def pv_f(c,r,n,op): ''' c代表每期现金流,可以每期不一样 r贴现率,也可以每期不一样 n为期数 op=1表示期末计数,默认,即普通年金 op=0表示期初计数,即预付年金 ''' import numpy as np # 导入numpy库 c=np.array(c) r=np.array(r) if op==1: n=np.arange(1,n+1) else: n=np.arange(0,n) pv=c/(1+r)**n return pv.sum()#将算现值和终值合并成一个值def pv_f(c,r,n,op=1,fv=0): ''' op继续用来判断是否是普通或者预付年金 c代表每期现金流,可以每期不一样 r贴现率,也可以每期不一样 n为期数 fv=0是现值 fv=1是终值 ''' import numpy as np # 导入numpy库 c=np.array(c) r=np.array(r) if fv==0: if op==1: n=np.arange(1,n+1) else: n=np.arange(1,n) pv=c/(1+r)**n return pv.sum() else: if op==1: n=sorted(np.arange(0,n),reverse=1) else: n=sorted(np.arange(1,n+1),reverse=1) fv=c*(1+r)**n return fv.sum()c=[100,100,110,90]r=[0.01,0.01,0.02,0.03]print(pv_f(c,r,4,1))print(pv_f(c,r,4,1,0))
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~