Você pode usar a biblioteca do Exonio em Ruby:
Assim:
Exonio.rate(number_of_periods, payment_per_period, present_value)
Eu preciso ser capaz de calcular a taxa de juros anual da mesma forma que o EXCEL faz na sua função chamada RATE No entanto, não consigo encontrar a matemática subjacente em nenhum lugar.
De preferência, gostaria de implementá-lo em ruby ou python.
Você pode usar a biblioteca do Exonio em Ruby:
Assim:
Exonio.rate(number_of_periods, payment_per_period, present_value)
numpy.rate()
calcula a taxa de juros por período.
rate(nper, pmt, pv, fv[, when, guess, tol, ...])
Aqui está um exemplo muito simples em VBA :
Function MyRATE(nper As Integer, pmt As Double, pv As Double, Optional fv As Double = 0, _
Optional PaymentEnd As Integer = 0, Optional guess As Double = 0.1)
Dim a As Double, b As Double, c As Double ' coefficients of the equation
Dim R As Double, RTmp As Double, i As Integer
' Initialize coefficients and R
R = 1 + guess
a = (pmt * (1 - PaymentEnd) - pv) / (pv + pmt * PaymentEnd)
b = (fv - pmt * PaymentEnd) / (pv + pmt * PaymentEnd)
c = (-pmt * (1 - PaymentEnd) - fv) / (pv + pmt * PaymentEnd)
' Iterate
For i = 1 To 20
RTmp = R - (R ^ (nper + 1) + a * R ^ nper + b * R + c) / ((nper + 1) * R ^ nper + a * nper * R ^ (nper - 1) + b)
If Abs(RTmp - R) < 0.0000001 Then Exit For
R = RTmp
Next i
If i <= 20 Then
MyRATE = RTmp - 1
Else
MyRATE = "N/A" ' Must try another guess
End If
End Function
Para usar a função (em uma célula da planilha) :
Por favor, note o sinal de menos no terceiro argumento e a multiplicação por 12.
Tags python ruby microsoft-excel