Spec-Zone.ru › NumPy 1.19

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.

Параметры
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

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

Возвращаемое значение
outndarray

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

См. также

ppmt, pmt, pv

Примечания

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

pmt = ppmt + ipmt

Ссылки

1

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

Примеры

Какой график погашения для кредита на 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.19/reference/generated/numpy.ipmt.html

Spec-Zone.ru

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