Name
NPV Function
Class
Microsoft.VisualBasic.Financial
Syntax
NPV(rate, valuearray
( ) )
-
rate
Use: Required
Data Type: Double
The discount rate over the period, expressed as a decimal
-
valuearray
( )
Use: Required
Data Type: Double
An array of cash flow values
Return Value
A Double specifying the net present value
Description
Calculates the net present value of an investment based on a series of periodic variable cash flows (payments and receipts) and a discount rate.
The net present value is the value today of a series of future cash flows discounted at some rate back to the first day of the investment period.
Rules at a Glance
rate
must be a percentage expressed as a decimal. For example, 10% is expressed as 0.10.values
is a one-dimensional array that must contain at least one negative value (a payment) and one positive value (a receipt).The
NPV
investment begins one period before the date of the first cash flow value and ends with the last cash flow value in the array.NPV
requires future cash flows. If the first cash flow occurs at the beginning of the first period, the first value must be added to the value returned byNPV
and must not be included invalues
.
Programming Tips and Gotchas
rate
and the individual elements ofvalues
must reflect the same time period. For example, ifvalues
reflects annual cash flows,rate
must be the annual discount rate.Individual members of
values
are interpreted sequentially. That is,values(0)
is the first cash flow,values(1)
is the second, etc. ...
Get VB .NET Language in a Nutshell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.