On this page
numpy.pv
- numpy.pv(rate, nper, pmt, fv=0, when='end')[source]
- 
    Compute the present value. Deprecated since version 1.18: pvis deprecated; for details, see NEP 32 [1]. Use the corresponding function in the numpy-financial library, https://pypi.org/project/numpy-financial.- Given:
- Return:
- 
      the value now 
 - Parameters
- 
      - ratearray_like
- 
        Rate of interest (per period) 
- nperarray_like
- 
        Number of compounding periods 
- pmtarray_like
- 
        Payment 
- fvarray_like, optional
- 
        Future value 
- when{{‘begin’, 1}, {‘end’, 0}}, {string, int}, optional
- 
        When payments are due (‘begin’ (1) or ‘end’ (0)) 
 
- Returns
- 
      - outndarray, float
- 
        Present value of a series of payments or investments. 
 
 NotesThe present value is computed by solving the equation: fv + pv*(1 + rate)**nper + pmt*(1 + rate*when)/rate*((1 + rate)**nper - 1) = 0or, when rate = 0:fv + pv + pmt * nper = 0for pv, which is then returned.References- 1
- 
      NumPy Enhancement Proposal (NEP) 32, https://numpy.org/neps/nep-0032-remove-financial-functions.html 
- 2
- 
      Wheeler, D. A., E. Rathke, and R. Weir (Eds.) (2009, May). Open Document Format for Office Applications (OpenDocument)v1.2, Part 2: Recalculated Formula (OpenFormula) Format - Annotated Version, Pre-Draft 12. Organization for the Advancement of Structured Information Standards (OASIS). Billerica, MA, USA. [ODT Document]. Available: http://www.oasis-open.org/committees/documents.php?wg_abbrev=office-formula OpenDocument-formula-20090508.odt 
 ExamplesWhat is the present value (e.g., the initial investment) of an investment that needs to total $15692.93 after 10 years of saving $100 every month? Assume the interest rate is 5% (annually) compounded monthly. >>> np.pv(0.05/12, 10*12, -100, 15692.93) -100.00067131625819By convention, the negative sign represents cash flow out (i.e., money not available today). Thus, to end up with $15,692.93 in 10 years saving $100 a month at 5% annual interest, one’s initial deposit should also be $100. If any input is array_like, pvreturns an array of equal shape. Let’s compare different interest rates in the example above:>>> a = np.array((0.05, 0.04, 0.03))/12 >>> np.pv(a, 10*12, -100, 15692.93) array([ -100.00067132, -649.26771385, -1273.78633713]) # may varySo, to end up with the same $15692.93 under the same $100 per month “savings plan,” for annual interest rates of 4% and 3%, one would need initial investments of $649.27 and $1273.79, respectively. 
© 2005–2020 NumPy Developers
Licensed under the 3-clause BSD License.
 https://numpy.org/doc/1.19/reference/generated/numpy.pv.html