dan@wyse.wyse.com (Dan Weaver x2554) (08/16/89)
Does anyone have a program that will show amortization schedules for loans that use the Rule of 78's? Every time I talk to a finantial institution about the Rule ot 78's they say something like "It's too complicated for you to understand." I may not have a PHD is business computation but I think I could understand it if someone took the time to explain it. Background: The Rule of 78's is used to calculate interest payments for loans that are payed off early. 78 is the sum of the first 12 digits. The Rule states that in the first month 11/12 of the interest is payed, the second month 10/12 and so on down to 1/12 for the last payment. I believe the Rule of 78's was designed to make it easier for a bank to calculate the interest. Even with the many computers found today, the Rule of 78's persists because it will charge the customer more than if the interest was compounded monthly. Request: What I don't know is how this Rule is applied to multi-year loans. Any sources that do this sort of thing would be appriciated. Also any references on the Rule of 78's would be nice. One final thing if this is the wrong news group for posting please give me some other names. Thanx, Dan Weaver Wyse Technology VOICE: (408) 473-2554 3471, N. First Street ARPA: dan@wyse.com San Jose, CA 95134 UUCP: ...!{uunet}!wyse!dan
bazavan@hpcilzb.HP.COM (Valentin Bazavan) (08/21/89)
Here is an awk script which prints an amortization table by the "Rule of 78." Valentin Bazavan -----------------------------Cut here----------------------------------------- # File name: r78.awk # Contents: awk program to print a "Rule of 78" amortization table # Author: Valentin Bazavan # Usage: # awk -f r78.awk [outfile] # # Note: requires the new AT&T awk or MKS awk # # When using the "rule of 78," the total interest (T) to be paid on a loan # scheduled to be amortized in N payments is artificially divided in # P = N / 2 * (N + 1) parts. (The number of parts for a 12-installment # loan is P = 12 / 2 * (12 + 1) = 78--hence the name of the rule.) # You pay N / P * T interest with the 1st payment, (N - 1) / P * T with # the 2nd, (N - 2) / P * T with the 3rd, and so on. BEGIN { out = ARGV[1] # Get input printf "Number of Payments: " getline N printf "Total Interest: " getline TotInt printf "Monthly Payment: " getline Pmt # Coerce to numeric values N = N + 0 TotInt = TotInt + 0.0 Pmt = Pmt + 0.0 if (N <= 0 || TotInt <= 0.0 || Pmt <= 0.0) { printf "Incorrect input data!\n" exit 1 } # Print header if (out) { printf("\n Amortization Table - rule of 78s\n\n") > out printf("%-9s %-26s %s\n", "Pmt.#", "Monthly Payment", "To Date") >> out printf("%-6s %-23s %s\n\n", " ", "interest principal", "interest principal") >> out } else { printf("\n Amortization Table - rule of 78s\n\n") printf("%-9s %-26s %s\n", "Pmt.#", "Monthly Payment", "To Date") printf("%-6s %-23s %s\n\n", " ", "interest principal", "interest principal") } r78part = N / 2 * (N + 1) # no. of R78 parts in N payments onepart = 1.0 / r78part * TotInt # interest per R78 part cumint = 0.0 # cumulated interest cumpr = 0.0 # cumulated principal # Print table for (i = 0; i < N; i++) { interest = onepart * (N - i) principal = Pmt - interest cumpr += principal cumint += interest if (out) printf("%4d %10.2f %11.2f %11.2f %11.2f\n", i + 1, interest, principal, cumint, cumpr) >> out else printf("%4d %10.2f %11.2f %11.2f %11.2f\n", i + 1, interest, principal, cumint, cumpr) } if (out) printf "\n" >> out else printf "\n" exit 0 }