ler@ihuxb.UUCP (Litzhoff) (03/10/86)
I am refinancing my home. I need to calculate the a new amoritization listing in order to figure interest paid. Does anyone know the interest and principal calculations? It would be greatly appreciated. thank you, leroy litzhoff
stevev@tekchips.UUCP (Steve Vegdahl) (03/14/86)
> I am refinancing my home. I need to calculate the a new > amoritization listing in order to figure interest paid. > Does anyone know the interest and principal calculations? > It would be greatly appreciated. Unfortunately, many banks (mine, at least) round to the nearest penny each month, so there is no simple, exact formula. If rounding were no consideration, then the percentage of the entire balance that would be paid off after making K monthly payments is: (1+I)^K - 1 ----------- (1+I)^N - 1 where I is the *monthly* interest rate (e.g., annual interest rate divided by 12) and N is term of the mortgage in *months*. This formula should get you pretty close. For my mortgage, rounding causes the last payment to be $0.37 less than the other payments. Here is a simple-minded (and possibly even correct!) C program that takes rounding into consideration, and computes the table after prompting the user for the appropriate info. (Remember to load it with the math library.) Steve Vegdahl Computer Research Lab. Tektronix, Inc. Beaverton, Oregon ---------------- begin program ---------------- #include <stdio.h> #include <math.h> main () { double loan, rate, payment, interest, principal; int years, i; printf("loan amount: "); scanf("%f", &loan); printf("interest rate (%%): "); scanf("%f", &rate); rate = rate/1200.0; printf("payment: "); scanf("%f", &payment); printf("years: "); scanf("%d", &years); printf("\n\nloan amount: %8.2f\n", loan); printf("interest rate: %8.2f\n", rate*1200); printf("payment: %8.2f\n\n", payment); interest = 0; principal = 0; printf(" month interest pmt. principal pmt. balance\n"); for (i=0; i <= (years*12); i++) { printf("%4d: %8.2f %8.2f %8.2f\n", i, interest, principal, loan); interest = floor((rate * loan * 100) + 0.5) / 100; principal = floor(((payment - interest) * 100) + 0.5) / 100; loan = floor(((loan - principal) * 100) + 0.5) / 100; } }