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 -
Процентная часть платежа. Если все входные данные являются скалярными, возвращает скалярное значение с плавающей точкой. Если любой входной параметр является массивоподобным, возвращает процентную часть платежа для каждого элемента входных данных. Если несколько входных данных являются массивоподобными, они должны иметь одинаковую форму.
Примечания
Общий платеж состоит из платежа по основному долгу и процентов.
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.16.1/reference/generated/numpy.ipmt.html