Logo

PMTGA

Updated 2024-02-28 20:39:27.363000

Syntax

SELECT [westclintech].[wct].[PMTGA](
  <@FV, float,>
 ,<@Pgr, float,>
 ,<@Nper, int,>
 ,<@Rate, float,>
 ,<@Pay_type, int,>)

Description

Use the scalar function PMTGA to calculate the initial payment for a growing annuity, given the future value. The formula for the calculation of the initial payment of a growing annuity is:

PMTGA=\ \frac{FV\ast(rate-pgr)}{\left(1+rate\right)^{nper}-\ \left(1+pgr\right)^{nper}}\ast{(1+rate)}^{-paytype}

Where rate <> pgr. If rate = pgr, then the formula is:

PMTGA=\ \frac{FV}{nper\ast\ \left(1+rate\right)^{nper-1}}\ \ast\left(1+rate\right)^{-paytype}

Arguments

@Pay_type

the number 0 or 1 and indicates when payments are due. @Pay_type is an expression of type int or of a type that can be implicitly converted to int. If @Pay_type is not 0 it is assumed to be 1.

{"columns":[{"field":"Set @Pay_type equal to","headerClass":"ag-right-aligned-header","cellClass":"ag-right-aligned-cell","width":157},{"field":"If payments are due","width":192}],"rows":[{"Set @Pay_type equal to":"0","If payments are due":"At the end of a period"},{"Set @Pay_type equal to":"1","If payments are due":"At the beginning of a period"}]}

@Pgr

the periodic growth rate of the annuity. This is the percentage amount, expressed as a decimal, by which the annuity will increase in each period. @Pgr is an expression of type float or of a type that can be implicitly converted to float.

@Rate

the percentage rate of return, expressed as a decimal, that you expect the annuity to earn over the number of periods. The annuity payments are compounded using this value. @Rate is an expression of type float or of a type that can be implicitly converted to float.

@FV

the future value of the annuity. @FV is an expression of type float or of a type that can be implicitly converted to float.

@Nper

the number of annuity payments. @Nper is an expression of type float or of a type that can be implicitly converted to float.

Return Type

float

Remarks

The PMTGA value will have the same sign as @FV.

If the @Pay_type is not equal to zero, it is assumed to be 1.

To calculate the Future value of a growing annuity, use the FVGA function.

Examples

Let’s say you are going to work for 40 more years, and you would like to have a million dollars in your tax-deferred account after 40 years. Assuming that you can increase your contributions by 3% per year and that your tax-deferred account will earn 7% per year, what is the initial (annual) payment to be made into the annuity?

SELECT wct.PMTGA(   1000000, --@FV

                    .03,     --@Pgr

                    40,      --@Nper

                    .07,     --@Rate

                    1        --@Pay_type

                ) as PMT;

This produces the following result.

{"columns":[{"field":"PMT","headerClass":"ag-right-aligned-header","cellClass":"ag-right-aligned-cell"}],"rows":[{"PMT":"3191.75519827819"}]}

We can verify this calculation by using the FVGA function.

SELECT wct.FVGA(3191.75519827819, .03, 40, .07, 1) as FVGA;

This produces the following result.

{"columns":[{"field":"FVGA","headerClass":"ag-right-aligned-header","cellClass":"ag-right-aligned-cell"}],"rows":[{"FVGA":"1000000"}]}