Spec-Zone.ru › NumPy 1.15

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.15.4/reference/generated/numpy.ipmt.html

Spec-Zone.ru

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