Spec-Zone.ru › NumPy 1.16

numpy.ipmt

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

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

Параметры:
rate : scalar or array_like of shape(M, )

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

per : scalar or array_like of shape(M, )

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

nper : scalar or array_like of shape(M, )

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

pv : scalar or array_like of shape(M, )

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

fv : scalar or array_like of shape(M, ), optional

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

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

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

Возвращает:
out : ndarray

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

См. также

ppmt, pmt, pv

Примечания

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

pmt = ppmt + ipmt

Примеры

Каков график погашения кредита на 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–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.16.1/reference/generated/numpy.ipmt.html

Spec-Zone.ru

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