numpy_financial提供了一个计算irr的函数,输入参数是一个数组,里面每一项是现金流,只需要构造现金流数组作为输入参数即可,irr函数的输出就是irr。
代码如下:
def iy(n, pmt = 0, fv = 0, pv = 0):
values = []
values.append(-pv)
for i in range(n):
values.append(pmt)
values[-1] += fv
iy = npf.irr(values)
return round(iy, 6) * 100
print(iy(4, 3, 100, 100))