# 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]]])
```

numpy.mirr

numpy.rate