Spec-Zone.ru › NumPy 1.17

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

Когда платежи приходятся ("начало" (1) или "конец" (0)). По умолчанию {«конец», 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.17.0/reference/generated/numpy.ipmt.html

Spec-Zone.ru

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