Spec-Zone.ru › NumPy 1.11

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–2016 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.11.0/reference/generated/numpy.ipmt.html

Spec-Zone.ru

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