Finance › Accounting ›

# pv

Return the present value of an investment.

Controller: **CodeCogs**

**Contents**

## Interface

C++

## Pv

doublepv( | double | rate | |

int | n | ||

double | p | ||

double | vn | ||

PaymentPoint | when` = pp_EndOfPeriod` | ) |

*v_0*, for a sequence of

*n*future payouts

*p*followed by a final payment v_n: If rate = 0, If rate > 0 and payments are received at the

**start**of each period, while for payments received at the

**end**of each period

Purchase a Licence for more information.

The code also uses an enumerated type*PaymentPoint*, using the following values:

- pp_EndOfPeriod = 0
- pp_StartOfPeriod = 1.

### Example 1

- A lady wins a 500,000 payments for 20 years. The cu
rrent treasury bill rate of 6% is used as the discount rate.
#include <stdio.h> #include <codecogs/finance/accounting/pv.h> int main(int argc, char *argv[]) { double d = Finance::Accounting::pv(0.06, 20, 500000, 0, Finance::Accounts::pp_EndOfPeriod); printf("The present value of the $10 million prize is: %7.2f\n", d); return 0; }

Output:The present value of the $10 million prize is: 5734960.61

### References

### Parameters

rate is the interest rate - assumed constant. n is the number of periods over which to calculate. p are the payouts from the investment made either at the start or end of each period (as defined by *when*).vn The future value of the investment. when The point in each period when the payment is made, either pp_StartOfPeriod or pp_EndOfPeriod.

### Authors

*James Warren (May 2005)*

##### Source Code

Source code is available when you agree to a GP Licence or buy a Commercial Licence.

Not a member, then Register with CodeCogs. Already a Member, then Login.