1 votos

Cálculo del tipo de interés anual efectivo y de la tasa anual equivalente con comisiones (en R)

Problema

Cómo calcular Tipo de interés efectivo anual (TEA) y Tasa Anual Equivalente (TAE) con tasas (en R) ?

Me interesa saber cuánto estoy pagando realmente de intereses si se tienen en cuenta las comisiones y supongo que EAR es el camino a seguir, pero corregidme si me equivoco.

Intenté implementar la TAE a continuación como en la descripción de investopedia, pero la TAE es menor que el interés nominal, por lo que seguramente no es correcta (debería ser alrededor del 3,5%)

Lo que he probado

A continuación un MVE que también explica el problema con más detalle:

rm(list=ls())
library(reprex)

# define costs, fees and interests
price <- 24800
monthly_payment <- 280
deposit <- 4000
loan_term <- 5*12 #in months
initial_fee <- 300
monthly_fee <- 12
nominal_interest <- 2/100
monthly_interest <- nominal_interest/12

# initiate fixed costs, interest fees and total costs for the loop
handling_charges <- initial_fee
interest_fees <- 0
total_costs <- handling_charges

# substracting initial payment from the what is left variable
left <- price - deposit

#calculating how much of dept is left after loan period and how much interest has accumulated
for (i in 1:loan_term) {
  left_last_month   <- left
  left              <- left*(1+monthly_interest)
  interest_fees_mo  <- (left-left_last_month)
  interest_fees     <- interest_fees + interest_fees_mo 
  handling_charges  <- handling_charges + monthly_fee
  total_costs       <- total_costs+ interest_fees_mo + monthly_fee
  left              <- left+monthly_fee-monthly_payment
}

#https://www.investopedia.com/terms/a/apr.asp
#https://www.investopedia.com/terms/e/effectiveinterest.asp

apr_100 <- 
  ((
    (total_costs/price)
    /(loan_term*30.4375) # number of days in the loan term
    )
   *365.25)             # number of days in a year

apr <- apr_100*100

# ear ???

share_of_loan_100 <- (total_costs/price)*100
share_of_loan_100
#> [1] 9.632864

left # after loan period ends
#> [1] 6088.95
interest_fees
#> [1] 1368.95
handling_charges
#> [1] 1020
total_costs
#> [1] 2388.95
apr   # wrong
#> [1] 1.926573
# ear # ????

Creado el 2022-01-20 por el paquete reprex (v2.0.1)

Definiciones de investopedia:

APR

APR

EAR, no se tienen en cuenta las tasas

EAR, no fees taken into account

EDIT1:

Basado en base64 de la Comisión, he aquí un nuevo intento. Hay dos lugares que traté de arreglar y no estoy obteniendo las mismas respuestas exactas que la calculadora de finanzas, pero se está acercando.

  1. ¿Parece que la búsqueda binaria APR hace lo que se supone que debe hacer? (Las variables cruciales son D=monthly_payment-monthly_fee y target=paid_excluding_fees ). La TAE se calcula con el fórmula dada por la Unión Europea
  2. ¿Cómo debo tener en cuenta la tasa inicial en mis cálculos? (especialmente en lo que respecta a la principal y left variables)

    rm(list=ls()) library(reprex) library(gtools)

    define costs, fees and interests

    price <- 24800 monthly_payment <- 280 monthly_fee <- 12 deposit <- 4000 loan_term <- 5*12 #in months initial_fee <- 300 nominal_interest <- 2/100 monthly_interest <- nominal_interest/12

    initiate fixed costs, interest fees and total costs for the loop

    handling_charges <- initial_fee interest_fees <- 0 total_costs <- handling_charges

    #########################################################################

    substracting initial payment and initial fees to get principal

    principal <- price - deposit - initial_fee # left <- principal #

    left <- principal + initial_fee

    #########################################################################

    calculating how much of dept is left after loan period and how much interest has accumulated

    for (i in 1:loan_term) { left_last_month <- left left <- left*(1+monthly_interest) interest_fees_mo <- (left-left_last_month) interest_fees <- interest_fees + interest_fees_mo handling_charges <- handling_charges + monthly_fee total_costs <- total_costs+ interest_fees_mo + monthly_fee left <- left+monthly_fee-monthly_payment }

    left <- left - initial_fee

    paid_excluding_fees <- principal-left

    function to calculate apr (multiplied by 100)

    https://en.wikipedia.org/w/index.php?title=Annual_percentage_rate#European_Union

    apr_100 <- function(APR=APR, D=monthly_payment-monthly_fee,MONTHS=loan_term){ sum(sapply(1:MONTHS, function(MONTHS) D(1+APR/(100100))^-(MONTHS/12))) }

    running a binary search to find apr given that we know how much we have paid

    binsearch <- binsearch(apr_100, range = c(0,100*100),target=paid_excluding_fees)

    dividing the result by 100 and getting the mean

    binsearch$where <- binsearch$where/100 binsearch

    > $call

    > binsearch(fun = apr_100, range = c(0, 100 * 100), target = paid_excluding_fees)

    >

    > $numiter

    > [1] 15

    >

    > $flag

    > [1] "Between Elements"

    >

    > $where

    > [1] 3.52 3.53

    >

    > $value

    > [1] 14744.85 14741.34

    apr <- mean(binsearch$where) apr

    > [1] 3.525

    calcualting APY

    https://www.investopedia.com/terms/a/apy.asp

    apy <- ((1+(apr/100)/12)^12-1)*100 #

    share_of_loan_100 <- (total_costs/price)*100 share_of_loan_100

    > [1] 9.505752

    left # after loan period ends

    > [1] 5757.427

    interest_fees

    > [1] 1337.427

    handling_charges

    > [1] 1020

    total_costs

    > [1] 2357.427

    apr

    > [1] 3.525

    apy

    > [1] 3.582512

Creado el 2022-01-25 por el paquete reprex (v2.0.1)

2voto

SidhuHarry Puntos 197

En primer lugar, puedes tirar la fórmula de la TAE de Investopedia por la ventana. Esa fórmula es sólo para un pago único de menos de 1 año, por ejemplo, el pago de una tarjeta de crédito.

En segundo lugar, para el código actual, puedo confirmar que lo siguiente es correcto:

  • Un tipo de interés nominal del 2% anual, compuesto mensualmente, da lugar a Pago mensual de 268 dólares (sin incluir la comisión) sobre un préstamo de 24800-4000=20800. $268 + $ 12 Cuota mensual = $280 que es consistente.
  • Después de 60 meses, teniendo en cuenta el interés mensual, pero excluyendo la cuota inicial e ignorando la cuota mensual, resulta $6088.95 el capital restante a efectos del cálculo de los próximos intereses mensuales.

Lo que ha fallado es que (1) has utilizado una fórmula incorrecta para la TAE (en realidad no hay fórmula) y (2) has ignorado la comisión inicial de 300 dólares.

  • (1): La TAE de un préstamo de pago mensual (especialmente de más de 12 meses), según las diferentes normativas de préstamos al consumo de todo el mundo, se calcula encontrando la TAE correcta (conocida como I/Y) que resulta de Principal = Valor actual de todos los pagos, es decir, el cuadro de amortización. Esta respuesta explica por qué no se puede "resolver a mano" o mediante una fórmula. Hay que hacerlo con bibliotecas financieras (seguro que R tiene paquetes de terceros), "fuerza bruta", "búsqueda binaria" o RATE() de Excel .

  • (2): El $300 Initial Fee should be deducted from the Beginning Principal of $ 20800, porque mientras el banco le dio $20800 on Day 0, the Bank took away $ 300 en el día 0 también, aunque desde otra entrada de transacción. Por lo tanto, la cantidad real que salió del banco fue $20500. However, there is no need to change "left <- price - deposit" as it will distort your "left # after loan period ends". As the 2% Nominal Interest Rate is applied to the Gross Loan of 20800, the Initial Fee of $ Los 300 euros no se capitalizan como capital.

Teniendo en cuenta (1) y (2), el resultado de la TAE a lo largo de 60 meses utilizando la calculadora financiera es 3.507% Suponiendo que la comisión inicial de 300 dólares se amortice sólo en 60 meses (es decir, en caso de rescisión anticipada del préstamo cuando el banco acepte que el capital pendiente sea de 6088,95), en lugar de en 83.181 meses (Meses totales de ingeniería inversa a partir del 2% nominal y $268 Monthly Payment). If you do amortize the $ 300 en 83,181 meses, la TAE es 3.723% a lo largo de 83,181 meses, lo que supone un porcentaje más elevado debido a la mayor frecuencia de la cuota mensual de 12 dólares. Esta es otra prueba de que 3.723% La TAE según la normativa estadounidense es correcta suponiendo 83,181 meses.

La TAE efectiva (incluyendo la comisión inicial y la mensual), también conocida como APY, es (1+0,03507/12)^12-1 = 3.564% para amortizar 300 dólares sólo en 60 meses, y es (1+0,03723/12)^12-1 = 3.787% si se amortizan 300 dólares en 83,181 meses.

0voto

Jay Prakash Puntos 1

Estoy seguro de que esta es la respuesta después de revisar estos cálculos. En tu cálculo de apr_100, el 'precio' es incorrecto. Debería ser igual al capital inicial de la deuda, que es "el precio menos el depósito" en tu ejemplo. La cantidad prestada es de 20.800 dólares, que es contra lo que se debe calcular el interés + las tasas, no la deuda + el capital (es decir, el 'precio').

Si ajustas eso, entonces la TAE es igual al 2,3% teniendo en cuenta las comisiones. Si luego introduces ese 2,3% en la fórmula de la TAE, debería dar como resultado un 2,32% ajustado a mensual desde anual.

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