Python计算内部收益率(Excel可以直接用IRR()函数)
Excel可以直接用IRR()函数实现,使用Python编程实现只是为了练手{:1_893:}"""
例题:
2X14年初,甲公司购买了一项债券,剩余年限5年。
买价101万元,另付交易费用3万元,该债券面值为100万元,票面利率为4%,每年末付息,到期还本。
计算该债券的内部收益率。
可以直接用Excel的IRR()函数计算,数据区域:
投资 -104
第一年4
第二年4
第三年4
第四年4
第五年 104
"""
# 定义内部收益率函数 irr()
# 每期等额收付金额a, 第n期期末不含a的收付金额f,现值p
# 小数位精度保留10位
def irr(a, f, p, n):
i = 1e-12
for j in range(1, 13):
while True:
pi = a*((1 - pow(1 + i, -n))/i) + f*pow(1+i, -n)
if pi < p:
i = i - eval("1e-" + str(j))
break
else:
i = i + eval("1e-" + str(j))
return round(i, 10)
r = irr(100*0.04, 100, 101+3, 5)
print("该债券的内部收益率为:{}".format(r))
PY小白,围观学习,谢谢分享! py小白加理财小白 围观 小白围观,想学python,一直没时间学 Anyling 发表于 2021-3-27 11:17
小白围观,想学python,一直没时间学
我本人不是计算机专业的,也就是作为兴趣学的。想学的话,每天空闲时间30分钟,两个月入门足够了。
我自己也是小白,仅仅是刚入门而已。:handshake
页:
[1]