numpy.ipmt
-
numpy.ipmt(rate, per, nper, pv, fv=0, when='end')[source] -
Вычисление процентной части платежа.
Устарело начиная с версии 1.18:
ipmtустарело; подробности см. в NEP 32 [1]. Используйте соответствующую функцию в библиотеке numpy-financial, https://pypi.org/project/numpy-financial.- Параметры
-
-
ratescalar or array_like of shape(M, ) -
Ставка процента в десятичном формате (а не в процентах) за период
-
perscalar or array_like of shape(M, ) -
Проценты, начисляемые по кредиту, меняются в течение срока кредита.
per— это период платежа для расчёта суммы процентов. -
nperscalar or array_like of shape(M, ) -
Количество периодов начисления
-
pvscalar or array_like of shape(M, ) -
Настоящая стоимость
-
fvscalar or array_like of shape(M, ), optional -
Будущая стоимость
-
when{{‘begin’, 1}, {‘end’, 0}}, {string, int}, optional -
Когда платежи приходятся («начало» (1) или «конец» (0)). По умолчанию {«конец», 0}.
-
- Возвращаемое значение
-
-
outndarray -
Процентная часть платежа. Если все входные данные являются скалярами, возвращается скалярное значение с плавающей точкой. Если какие-либо входные данные являются массивоподобными, возвращается процентный платёж для каждого элемента входных данных. Если несколько входных данных являются массивоподобными, они должны иметь одинаковую форму.
-
Примечания
Общий платёж состоит из части платежа по основному долгу и части платежа по процентам.
pmt = ppmt + ipmtСсылки
-
1 -
Предложение по улучшению NumPy (NEP) 32, https://numpy.org/neps/nep-0032-remove-financial-functions.html
Примеры
Какой график погашения для кредита на 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–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.19/reference/generated/numpy.ipmt.html