当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python numpy irr用法及代码示例


用法:

numpy.irr(values)

返回内部收益率(IRR)。

这是“average”定期复合回报率,其净现值为0.0;有关更完整的说明,请参见下面的注释。

decimal.Decimal类型不受支持。

参数:
values array_like, shape(N,)

每个时间段的输入现金流量。按照惯例,净“deposits”为负,净“withdrawals”为正。因此,例如,至少代表初始投资的价值的第一要素通常为负。

返回值:
out 浮点数

定期输入值的内部收益率。

注意:

可以通过一个示例(在下面的“示例”部分中使用np.irr进行说明)来最好地理解IRR。假设某人投资100个单位,然后以固定(固定)的时间间隔进行以下提款:39、59、55、20。假设最终值为0,则一个人的100个单位的投资产生173个单位;但是,由于复利和定期提款的结合,“average”的回报率既不是简单的0.73 /4也不是(1.73)^ 0.25-1。而是解决方案r):

-100 + \frac{39}{1+r} + \frac{59}{(1+r)^2}
+ \frac{55}{(1+r)^3} + \frac{20}{(1+r)^4} = 0

一般而言,对于价值= [v_0, v_1, ... v_M],irr是方程式的解:[G]

\sum_{t=0}^M{\frac{v_t}{(1+irr)^{t}}} = 0

参考文献:

[G]L. J. Gitman,“管理财务原理,摘要”,第3版,Addison-Wesley,2003年,第13页。 348。

例子:

>>> round(np.irr([-100, 39, 59, 55, 20]), 5)
0.28095
>>> round(np.irr([-100, 0, 0, 74]), 5)
-0.0955
>>> round(np.irr([-100, 100, 0, -7]), 5)
-0.0833
>>> round(np.irr([-100, 100, 0, 7]), 5)
0.06206
>>> round(np.irr([-5, 10.5, 1, -8, 1]), 5)
0.0886

(与numpy.lib.financial.npv给出的示例相比)

源码:

numpy.irr的API实现见:[源代码]


注:本文由纯净天空筛选整理自 numpy.irr。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。