Finance - Maple Programming Help

Home : Support : Online Help : Mathematics : Finance : Personal Finance : Finance/amortization

Finance

 amortization
 amortization table for a loan

 Calling Sequence amortization(amount, payments, rate, nperiods,output)

Parameters

 amount - amount of the loan payments - (number or procedure) size of the payments rate - interest rate nperiods - maximum number of payments (default = infinity). Stops when balance reaches 0 output - display the return values as list, matrix, embedded table, or value for cost of interest. The default is matrix.

Description

 • The amortization command gives a sequence of two elements: an amortization table and the cost of the loan.
 • The amortization table consists of lists comprising of 5 elements

 1) The period number 2) The amount of the payment 3) The interest for the period 4) The amount by which the principal is reduced (increased if negative) 5) The new balance

 • The cost of the loan is the sum of the third column.
 • The payments option can be a procedure. It will be called with two arguments: the period number and the interest to be paid. This can be used, for example, to have increasing payments, or to pay down a fixed amount of principal at each period.
 • The output option controls the display of the returned values. By default, a matrix of values is returned. This matrix can be returned as an embedded datatable component using the embed option. list returns the same matrix as a list, including also the value of the cost of interest. The cost of interest can be returned using the cost output option.
 • Refer to Finance[annuity] for more details on mortgages. Refer to Finance[effectiverate] for selecting the appropriate value for the interest rate to be used.
 • Since amortization used to be part of the (now deprecated) finance package, for compatibility with older worksheets, this command can also be called using finance[amortization]. However, it is recommended that you use the superseding package name, Finance instead: Finance[amortization].

Examples

 > with(Finance):

Amortization table for a loan of 1000 units at interest rate of 10% per period with payments of 500 units

 > amortization( 1000.00, 500.00, 0.10 );
 $\left[\begin{array}{ccccc}{n}& {\mathrm{Payment}}& {\mathrm{Interest}}& {\mathrm{Principal}}& {\mathrm{Balance}}\\ {0}& {0}& {0}& {-}{1000.00}& {1000.00}\\ {1}& {500.00}& {100.0000}& {400.0000}& {600.0000}\\ {2}& {500.00}& {60.000000}& {440.000000}& {160.000000}\\ {3}& {176.0000000}& {16.00000000}& {160.0000000}& {0.}\end{array}\right]$ (1)

From this you can see that there will be 3 payments, the last one being of 176 units.

 > amortization( 1000.00, 500.00, 0.10, output = cost );
 ${176.0000000}$ (2)

The cost of the loan is 176 units.

You can make payments to be of 500 units + the interest for that period:

 > amortization( 1000.00, (i,interest)->500.00+interest, 0.10, output = list );
 $\left[\left[{0}{,}{0}{,}{0}{,}{-}{1000.00}{,}{1000.00}\right]{,}\left[{1}{,}{600.0000}{,}{100.0000}{,}{500.0000}{,}{500.0000}\right]{,}\left[{2}{,}{550.000000}{,}{50.000000}{,}{500.000000}{,}{0.}\right]\right]{,}{150.000000}$ (3)

There are now 2 payments, one of 600 units and one of 550 units. The cost of the loan is 150 units. Now, if you make quarterly payments of 150 units on a loan of 1000 units at a stated rate of 12%, the payments are increased yearly by 10 units. The amortization table is computed as follows:

 > compute_payment:=(i,interest) -> 150.00+10.00*trunc((i-1)/4):
 > amortization( 1000.00, compute_payment, effectiverate(0.12,4)/4 );
 $\left[\begin{array}{ccccc}{n}& {\mathrm{Payment}}& {\mathrm{Interest}}& {\mathrm{Principal}}& {\mathrm{Balance}}\\ {0}& {0}& {0}& {-}{1000.00}& {1000.00}\\ {1}& {150.00}& {31.37720250}& {118.6227975}& {881.3772025}\\ {2}& {150.00}& {27.65515096}& {122.3448490}& {759.0323535}\\ {3}& {150.00}& {23.81631186}& {126.1836881}& {632.8486654}\\ {4}& {150.00}& {19.85702073}& {130.1429793}& {502.7056861}\\ {5}& {160.00}& {15.77349811}& {144.2265019}& {358.4791842}\\ {6}& {160.00}& {11.24807395}& {148.7519260}& {209.7272582}\\ {7}& {160.00}& {6.580654650}& {153.4193454}& {56.3079128}\\ {8}& {58.0746976}& {1.766784782}& {56.3079128}& {0.}\end{array}\right]$ (4)

There were 8 payments altogether with a loan cost of 138 units. For obtaining just the first year, you can make use of the nperiods argument:

 > amortization( 1000.00, compute_payment, effectiverate(0.12,4)/4, nperiods = 4);
 $\left[\begin{array}{ccccc}{n}& {\mathrm{Payment}}& {\mathrm{Interest}}& {\mathrm{Principal}}& {\mathrm{Balance}}\\ {0}& {0}& {0}& {-}{1000.00}& {1000.00}\\ {1}& {150.00}& {31.37720250}& {118.6227975}& {881.3772025}\\ {2}& {150.00}& {27.65515096}& {122.3448490}& {759.0323535}\\ {3}& {150.00}& {23.81631186}& {126.1836881}& {632.8486654}\\ {4}& {150.00}& {19.85702073}& {130.1429793}& {502.7056861}\end{array}\right]$ (5)

It is also possible to display the amortization table as an embedded datatable with the output = embed option:

 > amortization( 1000.00, compute_payment, effectiverate(0.12,4)/4, nperiods = 4, output = embed);
 ${"amortizationtable0"}$ (6)

 > 

Compatibility

 • The Finance[amortization] command was introduced in Maple 15.