當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。