N = number of months over which loan is
amortized = L x 12
Okay now for the big monthly payment (M) formula, it is:
J
M = P x ------------------------
1 - ( 1 + J ) ^ -N
where 1 is the number one (it does not appear too clearly on some browsers)
So to calculate it, you would first calculate 1 + J then take that to the -N (minus N) power, subtract that from the number 1. Now
take the inverse of that (if you have a 1/X button on your calculator push that). Then multiply the result times J and then times P.
Sorry, for the long way of explaining it, but I just wanted to be clear for everybody.
M = P * ( J / (1 - (1 + J) ** -N))
So now you should be able to calculate the monthly payment, M. To calculate the amortization table you need to do some iteration
(i.e. a simple loop). I will tell you the simple steps :
Step 1:
Calculate H = P x J, this is your current monthly interest
Step 2:
Calculate C = M - H, this is your monthly payment minus
your monthly interest, so it is the amount of principal you pay for that month
Step 3: Calculate Q = P - C, this is the new balance of
your principal of your loan.
Step 4: Set P equal to Q and go back to Step 1: You thusly loop around until the value Q (and hence P)
goes to zero.
Finding the Number of Periods given a Payment, Interest and Loan Amount
This formula previously was not explicit enough!! The 1/q factor in there was to convert the number of periods into years. For number of payments this must
actually be left out.
n = - (LN(1-(B/m)*(r/q)))/LN(1+(r/q))
# years = - 1/q * (LN(1-(B/m)*(r/q)))/LN(1+(r/q))
Where:
- q = amount of annual payment periods
- r = interest rate
- B = principal
- m = payment amount
- n = amount payment periods
- LN = natural logarithm
For Finding Remaining Principal Balance
P = P * (1 - ((1 + J) ** t - 1) / ((1 + J) ** N - 1))
where:
- P = principal, the initial amount of the loan
- I = the annual interest rate (from 1 to 100 percent)
- L = length, the length (in years) of the loan, or at least the length over
which the loan is amortized.
- J = monthly interest in decimal form = I / (12 x 100)
- N = number of months over which loan is amortized = L x 12
- t=number of paid monthly loan payments
Finding the Interest Rate Given Loan Amount, Payment and
Number of Periods
min_rate = 0; max_rate = 100; # Set Maximum and minimum rate
while (min_rate < max_rate - 0.0001)
{
mid_rate = (min_rate + max_rate) / 2; # Divide by 2 to find midpoint
J = mid_rate / 1200; # Convert to monthly decimal percentage
# calculate payment based on this interest, term of F and loan_amt
guessed_pmt = loan_amt * (1 - ((1 + J) ** t - 1) / ((1 + J) ** N - 1));
if (guessed_pmt > actual_payment)
{
max_rate = mid_rate; # current rate is new maximum
}
else
{
min_rate = mid_rate; # current rate is new minimum
}
}
print " The Rate is ", mid_rate;
Related links