Spec-Zone.ru › NumPy 1.19

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.19/reference/generated/numpy.irr.html

Spec-Zone.ru

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