Spec-Zone.ru › NumPy 1.14

numpy.ipmt

numpy.ipmt(rate, per, nper, pv, fv=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

© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.14.5/reference/generated/numpy.ipmt.html

Spec-Zone.ru

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