numpy.nper

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

Compute the number of periods.

Parameters:

rate : array_like

Rate of interest (per period)

pmt : array_like

Payment

pv : array_like

Present value

fv : array_like, optional

Future value

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

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

Notes

The number of periods nper 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

Examples

If you only had $150 to spend as payment, how long would it take to pay-off a loan of $8,000 at 7% annual interest?

>>> np.nper(0.07/12, -150, 8000)
64.073348770661852

So, over 64 months would be required to pay off the loan.

The same analysis could be done with several different interest rates and/or payments and/or total amounts to produce an entire table.

>>> np.nper(*(np.ogrid[0.06/12:0.071/12:0.01/12, -200:-99:100, 6000:7001:1000]))
array([[[ 32.58497782,  38.57048452],
        [ 71.51317802,  86.37179563]],
       [[ 33.07413144,  39.26244268],
        [ 74.06368256,  90.22989997]]])

Previous topic

numpy.mirr

Next topic

numpy.rate

This Page