def npv(rate, values):
values = np.asarray(values)<EOL>return (values / (<NUM_LIT:1>+rate)**np.arange(<NUM_LIT:0>, len(values))).sum(axis=<NUM_LIT:0>)<EOL>
Returns the NPV (Net Present Value) of a cash flow series.

Parameters
----------
rate : scalar
    The discount rate.
values : array_like, shape(M, )
    The values of the time series of cash flows.  The (fixed) time
    interval between cash flow "events" must be the same as that for
    which `rate` is given (i.e., if `rate` is per year, then precisely
    a year is understood to elapse between each cash flow event).  By
    convention, investments or "deposits" are negative, income or
    "withdrawals" are positive; `values` must begin with the initial
    investment, thus `values[0]` will typically be negative.

Returns
-------
out : float
    The NPV of the input cash flow series `values` at the discount
    `rate`.

Notes
-----
Returns the result of: [G]_

.. math :: \\sum_{t=0}^{M-1}{\\frac{values_t}{(1+rate)^{t}}}

References
----------
.. [G] L. J. Gitman, "Principles of Managerial Finance, Brief," 3rd ed.,
   Addison-Wesley, 2003, pg. 346.

Examples
--------
>>> np.npv(0.281,[-100, 39, 59, 55, 20])
-0.0084785916384548798

(Compare with the Example given for numpy.lib.financial.irr)