numpy.ipmt¶
-
numpy.
ipmt
(rate, per, nper, pv, fv=0.0, when='end')[source]¶ 计算付款的利息部分。
参数: rate:标量或array_like的形状(M,)
利率作为十进制(不是百分比)每期
per:标量或array_like形状(M,)
对贷款支付的利息在生活或贷款期间改变。每是计算利息金额的付款期间。
nper:标量或array_like的形状(M,)
复合周期数
pv:形状(M,)的标量或数组类
目前价值
fv:标量或array_like形状(M,),可选
未来价值
时:{{'begin',1},{'end',0}},{string,int}
付款到期时(“开始”(1)或“结束”(0))。默认为{'end',0}。
返回: out:ndarray
付款利息部分。如果所有输入是标量,则返回标量浮点。如果任何输入是array_like,返回每个输入元素的利息支付。如果多个输入是array_like,它们都必须具有相同的形状。
笔记
总付款是由本金加利息支付。
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