用法:
numpy.ipmt(rate, per, nper, pv, fv=0, when='end')
計算付款的利息部分。
參數: - rate: : scalar 或 array_like of shape(M, )
每個周期的利率為小數點(非百分比)
- per: : scalar 或 array_like of shape(M, )
借貸所支付的利息在存續期間或貸款中發生變化。 per是計算利息數量的還款期。
- nper: : scalar 或 array_like of shape(M, )
複利期數
- pv: : scalar 或 array_like of shape(M, )
目前的價值
- fv: : scalar 或 array_like of shape(M, ), 可選參數
未來價值
- when: : {{‘begin’, 1}, {‘end’, 0}}, {string, int}, 可選參數
付款到期時(‘begin’(1)或‘end’(0))。默認為{‘end’,0}。
返回值: - out: : ndarray
付款的利息部分。如果所有輸入均為標量,則返回標量浮點數。如果任何輸入類似於數組,則返回每個輸入元素的利息支付。如果多個輸入類似於array_,則它們都必須具有相同的形狀。
注意:
總付款額包括本金加上利息。
pmt = ppmt + ipmt
例子:
一筆$2500的1年期貸款(按每年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
源碼:
numpy.ipmt的API實現見:[源代碼]
注:本文由純淨天空篩選整理自 numpy.ipmt。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。