Spec-Zone.ru › NumPy 1.12

numpy.ipmt

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

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

Параметры:

rate : скаляр или массив формы (M, )

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

per : скаляр или массив формы (M, )

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

nper : скаляр или массив формы (M, )

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

pv : скаляр или массив формы (M, )

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

fv : скаляр или массив формы (M, ), необязательно

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

when : {{‘begin’, 1}, {‘end’, 0}}, {строка, целое число}, необязательно

Когда платежи приходятся (‘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

© 2008–2017 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.12.0/reference/generated/numpy.ipmt.html

Spec-Zone.ru

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