Spec-Zone.ru › NumPy 1.18

numpy.irr

numpy.irr(values) [source]

Возвращает внутреннюю норму доходности (IRR).

Устарело начиная с версии 1.18: irr устарело; для подробностей см. NEP 32 [1]. Используйте соответствующую функцию в библиотеке numpy-financial, https://pypi.org/project/numpy-financial.

Это «средняя» периодически наращенная норма доходности, которая дает чистую приведенную стоимость 0,0; для более полного объяснения см. Примечания ниже.

decimal.Decimal тип не поддерживается.

Параметры
valuesarray_like, shape(N,)

Входящие денежные потоки за период. По соглашению, чистые «депозиты» отрицательны, а чистые «выплаты» положительны. Таким образом, например, по крайней мере, первый элемент values, представляющий начальное инвестирование, обычно будет отрицательным.

Возвращает
outfloat

Внутренняя норма доходности для периодических входных значений.

Примечания

Внутренняя норма доходности (IRR) лучше всего понимается на примере (иллюстрируется с помощью np.irr в разделе Примеры ниже). Предположим, что инвестиции составляют 100 единиц, а затем осуществляются следующие выплаты с регулярными (фиксированными) интервалами: 39, 59, 55, 20. При условии, что конечная стоимость равна 0, инвестиции в 100 единиц дают 173 единицы; однако, из-за сочетания наращения и периодических выплат, «средняя» норма доходности не является просто 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

В общем случае, для values = [v_0, v_1, ... v_M], irr является решением уравнения: [2]

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

Ссылки

1

Предложение по улучшению NumPy (NEP) 32, https://numpy.org/neps/nep-0032-remove-financial-functions.html

2

Л. Дж. Гитман, «Принципы финансового менеджмента, краткое изложение», 3-е изд., Addison-Wesley, 2003, стр. 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

© 2005–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.18/reference/generated/numpy.irr.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API