How would I re-write a mortgage equation to solve for the APR, knowing the weekly payment?

37 Views Asked by At

I'm playing around with Australian house sales and rental data, and I've noticed that over the last couple of years, more than half of all renters are paying more than the entire owners mortgage (in March it was 77%, and so far this month a whopping 97% of renters are paying more than the whole mortgage !)

Interest rates are about to rise, which got me wondering: how would I express their rent amount, as an APR for a 30-year loan on the house sale price? I can figure it out trial-and-error manually:-

For example: Palm Beach, Gold Coast, QLD. Sold Apr 2022 $667,000. Rent=$600/week. APR=2.41%

Another example: Townsville, QLD. Sold Apr 2022 $330,000 rent= $420/week. APR=5.25%

I then tried using the formula:-

rent= principal * rate * ((1+rate)**n / ( (1+rate)**n -1 ))

in a computer iterative loop to guess the APRs, where n is the number of payments (52 weeks times 30 years = 1560) and rate is the annual % rate/52weeks ... however... doing exponentiation with big numbers on tiny numbers fails a lot (half the answers come out wrong), and "guessing in a loop" isn't the right approach anyhow :-)

I think I need a formula that includes terms which are logarithms ?

Any idea how to re-arrange a mortgage formula to the interest rate on one side ? [Yes, I spent hours in google - can't find anyone having done this before - and my high-school-math recollection of dealing with complicated exponents on one side of an equation fails me].

I need either pointers to how to simplify or re-express "irritating exponential terms" so I can shuffle things around the way I know how (e.g. divide both sides by blah), or any pointers to either answers or examples or whathaveyou that will help me figure this out correctly.

Thanks!

2

There are 2 best solutions below

1
On BEST ANSWER

I think you will find this question asked here before more than once over the years. And the answer is always: there is no closed form in terms of standard functions. You cannot solve
rent= principal * rate * ((1+rate)**n / ( (1+rate)**n -1 ))
for rate in closed form.

Theoretically you can do it when $n=1,2,3$ or $4$, but even for $n=3$ the answer (from Cardano's formula) is a very long formula.

The advice—to solve it numerically—is correct.


Just for "fun", when $n=3$, it is

rate =
1/6/principal*4^(1/3)*(rent*(3*3^(1/2)*(3*rent^2+14*rent*principal+27*principal
^2)^(1/2)*principal+2*rent^2+9*principal*rent+27*principal^2))^(1/3)+1/6*rent*(
3*principal+rent)/principal*4^(2/3)/(rent*(3*3^(1/2)*(3*rent^2+14*rent*
principal+27*principal^2)^(1/2)*principal+2*rent^2+9*principal*rent+27*
principal^2))^(1/3)+1/3*(rent-3*principal)/principal

and for $n=4$ it is

rate=
-1/4*(-rent+4*principal)/principal+1/12/principal*(-3*(4*rent^2*4^(2/3)*
principal+24*rent*4^(2/3)*principal^2-2*4^(1/3)*(rent*(3*3^(1/2)*(rent*(16*rent
^3+88*rent^2*principal+203*rent*principal^2+256*principal^3))^(1/2)-20*rent^2-\
45*principal*rent))^(2/3)*principal-3*(rent*(3*3^(1/2)*(rent*(16*rent^3+88*rent
^2*principal+203*rent*principal^2+256*principal^3))^(1/2)-20*rent^2-45*
principal*rent))^(1/3)*rent^2-8*principal*(rent*(3*3^(1/2)*(rent*(16*rent^3+88*
rent^2*principal+203*rent*principal^2+256*principal^3))^(1/2)-20*rent^2-45*
principal*rent))^(1/3)*rent)/(rent*(3*3^(1/2)*(rent*(16*rent^3+88*rent^2*
principal+203*rent*principal^2+256*principal^3))^(1/2)-20*rent^2-45*principal*
rent))^(1/3))^(1/2)+1/12*6^(1/2)/principal*((2*4^(2/3)*(-3*(4*rent^2*4^(2/3)*
principal+24*rent*4^(2/3)*principal^2-2*4^(1/3)*(rent*(3*3^(1/2)*(rent*(16*rent
^3+88*rent^2*principal+203*rent*principal^2+256*principal^3))^(1/2)-20*rent^2-\
45*principal*rent))^(2/3)*principal-3*(rent*(3*3^(1/2)*(rent*(16*rent^3+88*rent
^2*principal+203*rent*principal^2+256*principal^3))^(1/2)-20*rent^2-45*
principal*rent))^(1/3)*rent^2-8*principal*(rent*(3*3^(1/2)*(rent*(16*rent^3+88*
rent^2*principal+203*rent*principal^2+256*principal^3))^(1/2)-20*rent^2-45*
principal*rent))^(1/3)*rent)/(rent*(3*3^(1/2)*(rent*(16*rent^3+88*rent^2*
principal+203*rent*principal^2+256*principal^3))^(1/2)-20*rent^2-45*principal*
rent))^(1/3))^(1/2)*rent^2*principal+12*4^(2/3)*(-3*(4*rent^2*4^(2/3)*principal
+24*rent*4^(2/3)*principal^2-2*4^(1/3)*(rent*(3*3^(1/2)*(rent*(16*rent^3+88*
rent^2*principal+203*rent*principal^2+256*principal^3))^(1/2)-20*rent^2-45*
principal*rent))^(2/3)*principal-3*(rent*(3*3^(1/2)*(rent*(16*rent^3+88*rent^2*
principal+203*rent*principal^2+256*principal^3))^(1/2)-20*rent^2-45*principal*
rent))^(1/3)*rent^2-8*principal*(rent*(3*3^(1/2)*(rent*(16*rent^3+88*rent^2*
principal+203*rent*principal^2+256*principal^3))^(1/2)-20*rent^2-45*principal*
rent))^(1/3)*rent)/(rent*(3*3^(1/2)*(rent*(16*rent^3+88*rent^2*principal+203*
rent*principal^2+256*principal^3))^(1/2)-20*rent^2-45*principal*rent))^(1/3))^(
1/2)*rent*principal^2-4^(1/3)*(rent*(3*3^(1/2)*(rent*(16*rent^3+88*rent^2*
principal+203*rent*principal^2+256*principal^3))^(1/2)-20*rent^2-45*principal*
rent))^(2/3)*(-3*(4*rent^2*4^(2/3)*principal+24*rent*4^(2/3)*principal^2-2*4^(1
/3)*(rent*(3*3^(1/2)*(rent*(16*rent^3+88*rent^2*principal+203*rent*principal^2+
256*principal^3))^(1/2)-20*rent^2-45*principal*rent))^(2/3)*principal-3*(rent*(
3*3^(1/2)*(rent*(16*rent^3+88*rent^2*principal+203*rent*principal^2+256*
principal^3))^(1/2)-20*rent^2-45*principal*rent))^(1/3)*rent^2-8*principal*(
rent*(3*3^(1/2)*(rent*(16*rent^3+88*rent^2*principal+203*rent*principal^2+256*
principal^3))^(1/2)-20*rent^2-45*principal*rent))^(1/3)*rent)/(rent*(3*3^(1/2)*
(rent*(16*rent^3+88*rent^2*principal+203*rent*principal^2+256*principal^3))^(1/
2)-20*rent^2-45*principal*rent))^(1/3))^(1/2)*principal+3*(rent*(3*3^(1/2)*(
rent*(16*rent^3+88*rent^2*principal+203*rent*principal^2+256*principal^3))^(1/2
)-20*rent^2-45*principal*rent))^(1/3)*(-3*(4*rent^2*4^(2/3)*principal+24*rent*4
^(2/3)*principal^2-2*4^(1/3)*(rent*(3*3^(1/2)*(rent*(16*rent^3+88*rent^2*
principal+203*rent*principal^2+256*principal^3))^(1/2)-20*rent^2-45*principal*
rent))^(2/3)*principal-3*(rent*(3*3^(1/2)*(rent*(16*rent^3+88*rent^2*principal+
203*rent*principal^2+256*principal^3))^(1/2)-20*rent^2-45*principal*rent))^(1/3
)*rent^2-8*principal*(rent*(3*3^(1/2)*(rent*(16*rent^3+88*rent^2*principal+203*
rent*principal^2+256*principal^3))^(1/2)-20*rent^2-45*principal*rent))^(1/3)*
rent)/(rent*(3*3^(1/2)*(rent*(16*rent^3+88*rent^2*principal+203*rent*principal^
2+256*principal^3))^(1/2)-20*rent^2-45*principal*rent))^(1/3))^(1/2)*rent^2+8*
principal*(rent*(3*3^(1/2)*(rent*(16*rent^3+88*rent^2*principal+203*rent*
principal^2+256*principal^3))^(1/2)-20*rent^2-45*principal*rent))^(1/3)*(-3*(4*
rent^2*4^(2/3)*principal+24*rent*4^(2/3)*principal^2-2*4^(1/3)*(rent*(3*3^(1/2)
*(rent*(16*rent^3+88*rent^2*principal+203*rent*principal^2+256*principal^3))^(1
/2)-20*rent^2-45*principal*rent))^(2/3)*principal-3*(rent*(3*3^(1/2)*(rent*(16*
rent^3+88*rent^2*principal+203*rent*principal^2+256*principal^3))^(1/2)-20*rent
^2-45*principal*rent))^(1/3)*rent^2-8*principal*(rent*(3*3^(1/2)*(rent*(16*rent
^3+88*rent^2*principal+203*rent*principal^2+256*principal^3))^(1/2)-20*rent^2-\
45*principal*rent))^(1/3)*rent)/(rent*(3*3^(1/2)*(rent*(16*rent^3+88*rent^2*
principal+203*rent*principal^2+256*principal^3))^(1/2)-20*rent^2-45*principal*
rent))^(1/3))^(1/2)*rent+9*(rent*(3*3^(1/2)*(rent*(16*rent^3+88*rent^2*
principal+203*rent*principal^2+256*principal^3))^(1/2)-20*rent^2-45*principal*
rent))^(1/3)*rent^3+36*(rent*(3*3^(1/2)*(rent*(16*rent^3+88*rent^2*principal+
203*rent*principal^2+256*principal^3))^(1/2)-20*rent^2-45*principal*rent))^(1/3
)*rent^2*principal+72*(rent*(3*3^(1/2)*(rent*(16*rent^3+88*rent^2*principal+203
*rent*principal^2+256*principal^3))^(1/2)-20*rent^2-45*principal*rent))^(1/3)*
rent*principal^2)/(rent*(3*3^(1/2)*(rent*(16*rent^3+88*rent^2*principal+203*
rent*principal^2+256*principal^3))^(1/2)-20*rent^2-45*principal*rent))^(1/3)/(-\
3*(4*rent^2*4^(2/3)*principal+24*rent*4^(2/3)*principal^2-2*4^(1/3)*(rent*(3*3^
(1/2)*(rent*(16*rent^3+88*rent^2*principal+203*rent*principal^2+256*principal^3
))^(1/2)-20*rent^2-45*principal*rent))^(2/3)*principal-3*(rent*(3*3^(1/2)*(rent
*(16*rent^3+88*rent^2*principal+203*rent*principal^2+256*principal^3))^(1/2)-20
*rent^2-45*principal*rent))^(1/3)*rent^2-8*principal*(rent*(3*3^(1/2)*(rent*(16
*rent^3+88*rent^2*principal+203*rent*principal^2+256*principal^3))^(1/2)-20*
rent^2-45*principal*rent))^(1/3)*rent)/(rent*(3*3^(1/2)*(rent*(16*rent^3+88*
rent^2*principal+203*rent*principal^2+256*principal^3))^(1/2)-20*rent^2-45*
principal*rent))^(1/3))^(1/2))^(1/2)
4
On

"I think I need a formula that includes terms which are logarithms"

*Edit: What follows is wrong!: Indeed, take logs on both sides once you isolated the terms involving your variable in the exponents. This is because there is no algebraical way to solve for the rate.

You also may want to look up the terminus 'annuity'.