📅  最后修改于: 2023-12-03 15:34:23.936000             🧑  作者: Mango
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的范围是一致的,否则会导致计算出错。