Spec-Zone.ru › NumPy 1.18

numpy.ipmt

numpy.ipmt(rate, per, nper, pv, fv=0, when='end') [source]

Вычислить процентную часть платежа.

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

Parameters
ratescalar or array_like of shape(M, )

Процентная ставка в виде десятичной дроби (а не в процентах) за период

perscalar or array_like of shape(M, )

Проценты, выплачиваемые по кредиту, меняются на протяжении срока кредита. per — это период платежа для расчёта суммы процентов.

nperscalar or array_like of shape(M, )

Количество периодов начисления процентов

pvscalar or array_like of shape(M, )

Настоящая стоимость

fvscalar or array_like of shape(M, ), optional

Будущая стоимость

when{{‘begin’, 1}, {‘end’, 0}}, {string, int}, optional

Когда платежи приходятся («begin» (1) или «end» (0)). По умолчанию {‘end’, 0}.

Returns
outndarray

Процентная часть платежа. Если все входные данные являются скалярами, возвращается скалярное значение с плавающей точкой. Если какой-либо входной параметр является массивоподобным, возвращается процентная часть платежа для каждого элемента входных данных. Если несколько входных данных являются массивоподобными, они все должны иметь одинаковую форму.

См. также

ppmt, pmt, pv

Notes

Общий платёж состоит из платежа по основному долгу и процентов.

pmt = ppmt + ipmt

References

1

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

Examples

Каков график амортизации для кредита на 1 год в размере 2500 долларов при ставке 8,24% годовых, начисляемой ежемесячно?

>>> principal = 2500.00

Переменная «per» представляет собой периоды кредита. Помните, что в финансовых уравнениях счёт периодов начинается с 1!

>>> per = np.arange(1*12) + 1
>>> ipmt = np.ipmt(0.0824/12, per, 1*12, principal)
>>> ppmt = np.ppmt(0.0824/12, per, 1*12, principal)

Каждое значение суммы массивов «ipmt» и «ppmt» должно равняться значению «pmt».

>>> pmt = np.pmt(0.0824/12, 1*12, principal)
>>> np.allclose(ipmt + ppmt, pmt)
True
>>> fmt = '{0:2d} {1:8.2f} {2:8.2f} {3:8.2f}'
>>> for payment in per:
...     index = payment - 1
...     principal = principal + ppmt[index]
...     print(fmt.format(payment, ppmt[index], ipmt[index], principal))
 1  -200.58   -17.17  2299.42
 2  -201.96   -15.79  2097.46
 3  -203.35   -14.40  1894.11
 4  -204.74   -13.01  1689.37
 5  -206.15   -11.60  1483.22
 6  -207.56   -10.18  1275.66
 7  -208.99    -8.76  1066.67
 8  -210.42    -7.32   856.25
 9  -211.87    -5.88   644.38
10  -213.32    -4.42   431.05
11  -214.79    -2.96   216.26
12  -216.26    -1.49    -0.00
>>> interestpd = np.sum(ipmt)
>>> np.round(interestpd, 2)
-112.98

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

Spec-Zone.ru

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