當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python numpy ipmt用法及代碼示例


用法:

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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。