### Navigation

- index
- modules |
- next |
- previous |
- NumPy v1.3 Manual (DRAFT) »
- NumPy Reference »
- Routines »
- Financial functions »

# 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]],
      <BLANKLINE>
             [[ 33.07413144,  39.26244268],
              [ 74.06368256,  90.22989997]]])

### Navigation

- index
- modules |
- next |
- previous |
- NumPy v1.3 Manual (DRAFT) »
- NumPy Reference »
- Routines »
- Financial functions »