Compute an amortization schedule for a conventional 30-year, fixed-rate mortgage with fixed monthly payments and assume a fixed rate of 12% APR and an initial loan amount of $100,000.
Rate = 0.12/12; % 12 percent APR = 1 percent per month NumPeriods = 30*12; % 30 years = 360 months PresentValue = 100000; [Principal, Interest, Balance, Payment] = amortize(Rate, ... NumPeriods, PresentValue);
The output argument
Payment contains the fixed monthly payment.
format bank Payment
Payment = 1028.61
Summarize the amortization schedule graphically by plotting the current outstanding loan balance, the cumulative principal, and the interest payments over the life of the mortgage. In particular, note that total interest paid over the life of the mortgage exceeds $270,000, far in excess of the original loan amount.
plot(Balance,'b'), hold('on') plot(cumsum(Principal),'--k') plot(cumsum(Interest),':r') xlabel('Payment Month') ylabel('Dollars') grid('on') title('Outstanding Balance, Cumulative Principal & Interest') legend('Outstanding Balance', 'Cumulative Principal', ... 'Cumulative Interest')
The solid blue line represents the declining principal over the 30-year period. The dotted red line indicates the increasing cumulative interest payments. Finally, the dashed black line represents the cumulative principal payments, reaching $100,000 after 30 years.
Rate— Interest-rate per period
Interest-rate per period, specified as a scalar numeric decimal.
NumPeriods— Number of payment periods
Number of payment periods, specified as a scalar numeric.
PresentValue— Present value of the loan
Present value of the loan, specified as a scalar numeric.
FutureValue— Future value of the loan
0(default) | scalar numeric
(Optional) Future value of the loan, specified as a scalar numeric.
Due— When payments are due
0(end of period) (default) | scalar integer with value of
(Optional) When payments are due, specified as a scalar integer with value
0 (end of period) or
Principal— Principal paid in each period
Principal paid in each period, returned as a
Interest— Interest paid in each period
Interest paid in each period, returned as a
Balance— Remaining balance of the loan in each payment period
Remaining balance of the loan in each payment period, returned as a
Payment— Payment per period
Payment per period, returned as a scalar numeric.