rate function formula??

M

maaritkk

Hi,

Anyone know the formula for rate function? I should use it in a cod
that is programmed in PHP. PHP doesn't have a ready-made RAT
function, so I should regenerate it somehow.

Ideas, suggestions?
 
M

mangesh_yadav

Rate uses a trial and error method. This is a rough approximation of th
function. You need to use both. Reproduce them in php.


Function myrate(nper, pmt, pv)

lowValue = 0
hiValue = 1
c = 0.5

comp = myPv(nper, pmt, c)

Do While (Abs(pv - comp) > 0.001)
c = (lowValue + hiValue) / 2
comp = myPv(nper, pmt, c)
If (pv > comp) Then
hiValue = c
Else
lowValue = c
End If
i = i + 1
If (i > 100) Then
Exit Function
End If
Loop
myrate = c
End Function

Function myPv(nper, pmt, myrate)

myPv = pmt * (1 - (1 + myrate) ^ -nper) / myrate

End Function


Manges
 
J

Jerry W. Lewis

You are correct that there is no closed form for the RATE function, but
the finding of an approximate numerical solution is much more directed
than my interpretation of "trial and error". The formula to be solved
for rate is documented in Help for the PV function. While bisection
(used by your myrate function) is a serviceable approach to
approximating rate, I suspect that Excel's RATE function uses Newton's
method, which would converge much faster.

Jerry
 
M

Mangesh Yadav

Hi Jerry,

I didn't find a direct formula for rate in the PV function. Thats the actual
formula, which would need a goal seek.

As for the method I suggested, I agree its one of the clumsiest, and the
RATE function by excel would use one of the more efficient methods like
Newton's, but you see that the bisection is often the easiest to code off
hand.

Mangesh
 
M

maaritkk

Hi,

The formula was very close to the results of rate function results, s
I used it. Anyways the calculations we are making are onl
approximations so it is sufficient for our purposes. Thanks for th
help! :
 
Top