Accelerating the pace of engineering and science

# pvvar

Present value of varying cash flow

## Syntax

```PresentVal = pvvar(CashFlow, Rate, CFDates)
```

## Arguments

 CashFlow A vector of varying cash flows. Include the initial investment as the initial cash flow value (a negative number). If CashFlow is a matrix, each column is treated as a separate cash-flow stream. Rate Periodic interest rate. Enter as a decimal fraction. If CashFlow is a matrix, a scalar Rate is allowed when the same rate applies to all cash-flow streams in CashFlow. When multiple cash-flow streams require different discount rates, Rate must be a vector whose length equals the number of columns in CashFlow. CFDates (Optional) A vector of serial date numbers or date strings on which the cash flows occur. Specify CFDates when there are irregular (nonperiodic) cash flows. The default assumes that CashFlow contains regular (periodic) cash flows. If CashFlow is a matrix, and all cash-flow streams share the same dates, CFDates can be a vector whose length matches the number of rows in CashFlow. When different cash-flow streams have different payment dates, specify CFDates as a matrix the same size as CashFlow.

## Description

PresentVal = pvvar(CashFlow, Rate, CFDates) returns the net present value of a varying cash flow. Present value is calculated at the time the first cash flow occurs.

## Examples

This cash flow represents the yearly income from an initial investment of \$10,000. The annual interest rate is 8%.

 Year 1 \$2000 Year 2 \$1500 Year 3 \$3000 Year 4 \$3800 Year 5 \$5000

To calculate the net present value of this regular cash flow

```PresentVal = pvvar([-10000 2000 1500 3000 3800 5000], 0.08)
```

returns

```PresentVal =

1715.39
```

An investment of \$10,000 returns this irregular cash flow. The original investment and its date are included. The periodic interest rate is 9%.

Cash Flow

Dates

(\$10000)

January 12, 1987

\$2500

February 14, 1988

\$2000

March 3, 1988

\$3000

June 14, 1988

\$4000

December 1, 1988

To calculate the net present value of this irregular cash flow

```CashFlow = [-10000, 2500, 2000, 3000, 4000];

CFDates = ['01/12/1987'
'02/14/1988'
'03/03/1988'
'06/14/1988'
'12/01/1988'];

PresentVal = pvvar(CashFlow, 0.09, CFDates)
```

returns

```PresentVal =

142.16
```

The net present value of the same investment under different discount rates of 7%, 9%, and 11% is obtained in a single call:

`PresentVal = pvvar(repmat(CashFlow,3,1)', [.07 .09 .11], CFDates)`
```pv =

419.0136  142.1648 -122.1275```