numpy.pmt(rate, nper, pv, fv=0, when='end')

Compute the payment against loan principal plus interest.


rate : array_like

Rate of interest (per period)

nper : array_like

Number of compounding periods

pv : array_like

Present value

fv : array_like

Future value

when : {{‘begin’, 1}, {‘end’, 0}}, {string, int}

When payments are due (‘begin’ (1) or ‘end’ (0))


out : ndarray

Payment against loan plus interest. If all input is scalar, returns a scalar float. If any input is array_like, returns payment for each input element. If multiple inputs are array_like, they all must have the same shape.


The payment pmt is computed by solving the equation:

fv +
pv*(1 + rate)**nper +
pmt*(1 + rate*when)/rate*((1 + rate)**nper - 1) == 0

or, when rate == 0:

fv + pv + pmt * nper == 0


What would the monthly payment need to be to pay off a $200,000 loan in 15 years at an annual interest rate of 7.5%?

>>> np.pmt(0.075/12, 12*15, 200000)

In order to pay-off (i.e. have a future-value of 0) the $200,000 obtained today, a monthly payment of $1,854.02 would be required.

Previous topic


Next topic


This Page

Quick search