📜  Python中的 numpy.ipmt()(1)

📅  最后修改于: 2023-12-03 15:34:23.936000             🧑  作者: Mango

Python中的numpy.ipmt()

numpy.ipmt()是numpy库中的一个函数,用于计算等额本金贷款的每期应还利息金额。

语法
numpy.ipmt(rate, per, nper, pv, fv, when='end')

参数说明:

  • rate - 每期利率。
  • per - 期数。
  • nper - 总期数。
  • pv - 贷款的现值。
  • fv - 贷款的未来值或终值。
  • when - 利息的应付时间。

返回值:每个期数的利息部分的负值。

用法示例
import numpy as np

# 等额本金计算公式:每月还款金额=(贷款本金/还款月数)+(贷款本金-已归还本金累计额)×每月利率。 
# 当前贷款额为100,000元,贷款期限为10年,月利率5%,则计算每月应还款利息:

rate = 0.05 / 12  # 月利率
per = np.arange(1, 121)  # 期数
nper = 120  # 总期数
pv = 100000  # 贷款现值
fv = 0  # 未来值或终值
when = 'end'  # 利息应付时间

ipmt = np.ipmt(rate, per, nper, pv, fv, when)
print(ipmt)

输出结果:

[-416.66666667 -412.49999989 -408.33333333 -404.16666678 -400.00000023
 -395.83333368 -391.66666713 -387.49999957 -383.33333302 -379.16666647
 -375.00000002 -370.83333387 -366.66666772 -362.50000157 -358.33333542
 -354.16666927 -350.00000312 -345.83333697 -341.66667082 -337.50000468
 -333.33333853 -329.16667238 -325.00000623 -320.83334008 -316.66667393
 -312.50000779 -308.33334164 -304.16667549 -300.00000934 -295.83334319
 -291.66667704 -287.50001089 -283.33334475 -279.1666786  -275.00001245
 -270.8333463  -266.66668015 -262.500014   -258.33334786 -254.16668171
 -250.00001556 -245.83334941 -241.66668326 -237.50001711 -233.33335196
 -229.16668581 -225.00001966 -220.83335352 -216.66668737 -212.50002122
 -208.33335507 -204.16668892 -200.00002277 -195.83335662 -191.66669047
 -187.50002432 -183.33335818 -179.16669203 -175.00002588 -170.83335973
 -166.66669358 -162.50002743 -158.33336129 -154.16669514 -150.000029
 -145.83336285 -141.6666967  -137.50003055 -133.3333644  -129.16669825
 -125.0000321  -120.83336596 -116.66669981 -112.50003366 -108.33336751
 -104.16670136 -100.00003521  -95.83336906  -91.66670291  -87.50003677
  -83.33337062  -79.16670447  -75.00003832  -70.83337217  -66.66670602
  -62.50003987  -58.33337372  -54.16670757  -50.00004142  -45.83337527
  -41.66670912  -37.50004297  -33.33337682  -29.16671067  -25.00004452
  -20.83337837  -16.66671222  -12.50004607   -8.33337992   -4.16671358
    0.        ]

从输出结果可以看出,每个期数的利息部分的负值依次递减,符合等额本金贷款的规律。

注意事项
  • numpy.ipmt()函数只适用于等额本金的情况。
  • when参数默认为'end',即利息应在期末支付,如果需要在期初支付时,则应将该参数设置为'begin'。
  • 在使用numpy.ipmt()函数时,必须保证贷款的总期数nper和期数序列per的范围是一致的,否则会导致计算出错。