Enumation of Payment point

You're viewing an older version of this page (#338). View the current version.

View versions (1)

Interface

Overview

This enumerate type describes the payment points, which can either occur at the begining or end of each periond, i.e

  • pp_EndOfPeriod
  • pp_StartOfPeriod
GPL Licence — free for non commercial use. See Licence details.

FUNCTION

nPeriods

Calculates the number of periods for an investment based on periodic, constant payments and a constant interest rate. The function works using the following equation:

\begin{array}{l}pv*(1.0+rate)^{nper}+ \\
pmt(1.0 + rate*type)* \left ( \frac{(1.0 + rate)^{nper}-1}{rate} \right ) + fv = 0
\end{array}
(1)

Rearranged to give:

(1.0+rate)^{nper} = \frac{-fv + pmt(1.0 + rate*type)}
                             {pv + pmt(1.0 + rate*type)}
(2)

where:

  • nper is the value we are trying to calculate, the number of periods,
  • fv is the <em>future value</em> of the investment,
  • pv is the <em>present value</em> of the investment,
  • pmt is the payment made each period.

Example 1

#include <iostream>
#include <codecogs/finance/banking/nperiods.h>	
	
int main(void)
{
	printf("nPeriods(0.01, -100, -1000, 10000, pp_StartOfPeriod) = %lf\n",
				 Finance::Banking::nPeriods(0.01,
				-100, -1000, 10000, Finance::Banking::pp_StartOfPeriod));
	
	printf("nPeriods(0.01, -100, -1000, 10000, pp_EndOfPeriod) = %lf\n",
				 Finance::Banking::nPeriods(0.01,
				-100, -1000, 10000, Finance::Banking::pp_EndOfPeriod));
	
	printf("nPeriods(0.01, -100, 1000, 0, pp_EndOfPeriod) = %lf\n",
				 Finance::Banking::nPeriods(0.01,
				-100, 1000, 0,	Finance::Banking::pp_EndOfPeriod));
	
	return 1;
}

Output:

nPeriods(0.01, -100, -1000, 10000, pp_StartOfPeriod) = 59.673866
nPeriods(0.01, -100, -1000, 10000, pp_EndOfPeriod) = 60.082123
nPeriods(0.01, -100, 1000, 0, pp_EndOfPeriod) = 10.588644

Parameters

rate
The interest rate per period of the investment.
pmtValue
The payment made each period. This value must remain
Blank

constant over the life of the annuity.

Parameters

presentValue
The <em>present value</em> of the investment, or the lump-sum
Blank

amount that a series of future payments is worth right now.

Parameters

futureValue
The <em>future value</em> of the investment.
type
A value indicating whether the payment is made at the
Blank

beginning or the end of each period. It is set to either: pp_EndOfPeriod or pp_StartOfPeriod.

Returns

The number of periods of the investment.
Author

James Warren (August 2005)