[Principal,Interest,Balance,Payment] = amortize(Rate,NumPeriods,PresentValue,FutureValue,Due)
Interest rate per period, as a decimal fraction.
Number of payment periods.
Present value of the loan.
(Optional) Future value of the loan. Default =
(Optional) When payments are due:
[Principal,Interest,Balance,Payment] = amortize(Rate,NumPeriods,PresentValue,FutureValue,Due) returns
the principal and interest payments of a loan,
the remaining balance of the original loan amount, and the periodic
Principal paid in each period. A
Interest paid in each period. A
Remaining balance of the loan in each payment period.
Payment per period. A scalar.
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.