1 votos

¿Cómo calcular la Tasa Anual Equivalente de un préstamo con pagos periódicos desiguales?

Digamos que pedimos un préstamo de $1000. We pay back to bank $ 100 al mes, pero por alguna estúpida razón el último pago es menor y equivale a 50 dólares. Este es un caso común en mi país. ¿Cómo debe calcularse entonces la TAE? Aquí está el plan de calendario:

enter image description here

Permítanme referirme al siguiente Q/A:

Cómo calcular la Tasa Anual Equivalente

https://stackoverflow.com/questions/28050109/excel-vba-formula-for-apr/28084325#28084325

Quiero construir un código VBA para calcularlo. Si el autor de la respuesta aceptada lo desea, puede ser incluido como coautor del código VBA.

Editar el 23 de febrero de 2015
He respondido a esta pregunta con un código VBA para la función definida por el usuario de Excel. Como prometí, el autor de la respuesta aceptada es coautor del código. Gracias.

3voto

tobes Puntos 19

Tienes dos opciones: utilizar la función TIR de una hoja de cálculo para calcular la rentabilidad. Hay muchos tutoriales para esto en Internet. Lo único que hay que tener en cuenta es que tienes que introducir una primera línea que muestre -1000, el flujo negativo de salida.

Si no, puedes hacerlo línea por línea. Tienes que utilizar el valor temporal del dinero para obtener el valor actual de cada pago a un tipo determinado, por ejemplo, 6%/año = 1,005 (1/2% al mes). A continuación, se eleva 1,005^(# meses) y se divide el 100 por este número. La suma de todos los flujos descontados será igual a 1000 cuando el tipo elegido sea correcto.

Para el segundo método, este es mi resultado:

enter image description here

El código que he utilizado para las celdas en C es =B2/(C$1^A2) que toma el pago, cualquiera que sea en la col B, y lo descuenta por mi suposición de la tasa elevada a la potencia A. Ten en cuenta que la primera estimación fue del 2,5%, ya que 1150/1000=1,15 (15% en total), pero el pago medio es de sólo 6 meses, así que lo duplico. Unos segundos de ajuste hacia arriba/hacia abajo, y el resultado aparece con tantos dígitos como necesite.

No sé lo que es VBA. Espero que esta explicación pueda ponerte en marcha.

3voto

Fabio Ricci Puntos 111

Una solución ya preparada para este tipo de problemas (un último payment) es una calculadora hipotecaria en línea que puede encontrar el tipo de interés, y prevé la inclusión de un "pago global" positivo o negativo.

Un pago global en términos hipotecarios es un pago adicional que se realiza al final de la amortización de la hipoteca, además de, y al mismo tiempo, el último pago regular.

Los pagos globales surgen por varias razones. Por ejemplo, una vez que se utiliza la fórmula de la anualidad para calcular el exactamente pago mensual de una determinada hipoteca, se redondea esta cantidad calculada posiblemente medio céntimo hacia arriba o hacia abajo hasta un número exacto de céntimos, y se paga esa cantidad durante toda la vida de la hipoteca. Este ligero e inevitable error se acumula, con los intereses, y finalmente aparece como un último pago ligeramente diferente.

En el caso del OP, la calculadora de hipotecas debería recibir un $1000 12 month mortgage with twelve $ 100 pagos regulares y un pago global de -50 dólares.

2voto

Sergey Osypchuk Puntos 2225

Como se establece en el enlace citado Cómo calcular la Tasa Anual Equivalente la suma para un préstamo es

enter image description here

donde s es el principal del préstamo, n es el número de períodos por año, t es el número de años, pp es el pago periódico y r es la TAE anual (como tasa anual efectiva ).

Dividir el pago final y llamarlo fp queda así

enter image description here

que, por inducción da la forma cerrada

enter image description here

y, lo mismo, como texto copiable

s = (1 + r)^-t*(fp + (pp*((1 + r)^t - (1 + r)^(1/n)))/((1 + r)^(1/n) - 1))

Con

s = 1000.00
n = 12
t = 1
pp = 100
fp = 50

resolviendo para r se obtiene r = 0.314391 o un tipo efectivo del 31,44 % TAE.

O bien, la conversión a un tipo nominal en función de las preferencias

((1 + r)^(1/n) - 1)*n = 0.276511 por lo que el 27,65 % TAE nominal compuesto mensualmente.

Editar

Alternativamente, resolviendo la tasa periódica, p, en lugar de r. La suma

enter image description here

tiene la forma cerrada

s = ((1 + p)^(-n*t)*(fp*p + ((1 + p)^(n*t) - 1 - p)*pp))/p

La resolución de p tiene dos soluciones: p = -1.67608 or p = 0.0230426

Del positivo p*12 = 27.65 % nominal compuesto mensualmente.

1voto

Vijay Puntos 1

Aquí es Excel VBA función definida por el usuario para el cálculo de la tasa de porcentaje anual (APR) sobre la base de la siguiente:
Préstamo principal - la cantidad que pedimos prestada al banco
pp - pago periódico (cuota igual)
fp - pago final (pago global)
c - Número de períodos de capitalización por año
k - Número de plazos para pagar el préstamo

Refiriéndose a la explicación de Chris Degnen t=k/c . Tenga en cuenta que APR en la función es una estimación inicial de la TAE. Es opcional, por lo que no tienes que preocuparte por ello.

Function APR_pp_fp(LoanPrincipal As Double, pp As Double, fp As Double, c As Integer, k As Integer, Optional APR As Double = 0.01, Optional step As Double = 0.000001) As Double
'Authors Przemyslaw Remin, Chris Degnen
'
'LoanPrincipal - the amount we borrow from bank
'pp - The amount of periodic payment
'fp - The amount of final payment (balloon) payment
'c - Number of compounding periods per year
'k - Number of periods to pay the loan
'APR - Starting Annual Percentage Rate starting from 1%, here it will be used as iterator to find correct Loan Principal
'step - how much we change APR, the smaller the step the more precision we get
'
Dim s1 As Double 'Calculated LoanPrincipal based on guessed APR
Dim s2 As Double 'Calculated LoanPrincipal based on guessed APR but slightly higher
Dim target1 As Double 'the squared difference between s1 and LoanPrincipal
Dim target2 As Double 'the squared difference between s2 and LoanPrincipal

Do Until target1 < target2 'we do the loop until the target falls
    s1 = ((1 + APR) ^ (-(k / c))) * (fp + (pp * (((1 + APR) ^ (k / c)) - ((1 + APR) ^ (1 / c)))) / (((1 + APR) ^ (1 / c)) - 1))
    target1 = (LoanPrincipal - s1) ^ 2
    APR = APR + step
    s2 = ((1 + APR) ^ (-(k / c))) * (fp + (pp * (((1 + APR) ^ (k / c)) - ((1 + APR) ^ (1 / c)))) / (((1 + APR) ^ (1 / c)) - 1))
    target2 = (LoanPrincipal - s2) ^ 2
Loop

APR_pp_fp = APR
End Function

Para la pregunta formulada hay que teclear:

=APR_pp_fp(1000,100,50,12,12)

y debería devolver 0,314392.

¡Gracias a Chris Degnen!

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X