use-revolution Digest, Vol 18, Issue 8
gregory.lypny at videotron.ca
Wed Mar 2 21:05:11 EST 2005
OK, Hershel. Here's the example. You can tweak it to suit your
In Canada, ING Direct offers a three-year fixed term, twenty-five year
mortgage for a posted rate of 4.45%. They don't offer a thirty-year
amortization; that's why I chose twenty-five. For a $300,000 loan, you
would be paying $1,652.09 per month. My answer is correct to the
Here's how to set up the problem. Each variable is indicated in
Posted annual rate (r1): .0445
Payment frequency (m): 12 (i.e., monthly)
Effective monthly rate (r2): 0.00367441421 (you'll figure it)
Amortization (N): 25 years
Principal (P): $300,000
Payment (A): $1,652.09 (you'll figure it)
Annuity factor (F): 181.58815514 (you'll figure it)
You need to convert the posted rate (r1) to the effective monthly rate
(r2) because the posted rate is always a year but the effective rate
corresponds to the frequency of your payments (monthly, semi-monthly,
bi-weekly, weekly, etc.). Notice that r2 is not simply r1 divided by
12 (or m). That's because of compounding. So you have to find r2 by
answering this question: what rate, r2, which when compounded for 12
periods gives us r1? The added twist in Canada is that, by convention,
compounded is taken to occur semi-annually, so .0445 actually slightly
understates the true posted rate. I'm not sure if that's done in the
US. Confused yet? Look at the numbers. (The carets, ^, mean take to
the power of...).
(1 + r2)^12 = (1 + r1/2)^2
Rearrange to solve for r2 in general to get
r2 = (1 + r1/2)^(2/m) - 1,
where (2/m) means take the mth root and square it.
Plug in the numbers to get
(1 + .0445/2)^(1/6) - 1 = 0.00367441421
So, that's your effective monthly rate. Change m to 4 and it becomes
an effective quarterly rate; 52 and it's a weekly rate, and so on. You
may want to write a function for it.
Now you can use the effective rate in the standard annuity formula to
get the annuity factor, F, that you'd use to divide any principal
amount in order to compute the payment, A.
F = (1 - (1 + r2)^(-N*m))/r2
Plug in the numbers. Note N*m = 25 years x 12 months = 300 (easy)
F = (1 - (1 + 0.00367441421)^(-300))/0.00367441421
F = 181.58815514
Create the function, F, which is itself a function of r2, N, and m.
To get the monthly payment, just divide the principal by F.
A = P/F (another function you can create)
Plug in the numbers.
A = $300,000/181.58815514 = $1,652.09
Or you can do create tables of A for a mortgage book like the banks
used to use by computing A per $1,000 borrowed as a function of
different rates, amortization periods, and frequency of payment. In
A = $5.5069671214 per $1,000 borrowed.
Of course, you can collapse Steps 1 and 2 into 3 to create a function
that computes the payment directly.
"Better for us if you don't understand."
-The Tragically Hip
On Mar 2, 2005, at 4:26 PM, use-revolution-request at lists.runrev.com
> On 3/2/05 10:57 AM, "Gregory Lypny" <gregory.lypny at videotron.ca> wrote:
> Thanks, First I need to be able to do a simple mortgage calculation
> 300,000.00 loan for a period of 30 years. After I have this then I
> could go
> on and do my cap rates, cash on cash and property value and so on.
> Hershel Fisch
>> Can you post an example of your calculation? I can give you a direct
>> calculation that doesn't require the annuity function so that you'll
>> have more control of day adjustments and the like. Mine is for
>> Canadian mortgages but you will be able to modify it easily for
>> American mortgages.
>> On Mar 2, 2005, at 10:22 AM, use-revolution-request at lists.runrev.com
>>> Hi all I'm trying to write a mortgage function and I can't get right.
>>> Some how the annuity function doesn't do it the way I understand it
>>> Any help is appreciated.
More information about the Use-livecode