Amortizaciones

Amortizar una deuda es liquidarla mediante pagos periódicos que incluyen intereses.

El capital que se debe al hacer un pago cualquiera se conoce como capital vivo de la deuda, deuda viva o más comúnmente como saldo insoluto. Se trata digamos, de un saldo no saldado. La diferencia entre la deuda original y el saldo insoluto corresponde a los derechos adquiridos por el deudor; es la parte o porción del bien que se está amortizando, y que ya es propiedad del deudor.

También es cierto que cada abono que se hace para cancelar la deuda, se separa o se divide en 2 partes: la primera para cubrir los intereses que se generan en el periodo; y la segunda, llamada amortización es la que se abona al capital que se adeuda, haciendo que disminuya con cada pago:

Abono = Amortización + Intereses

Cabe señalar que para crear sistemas o formas para amortizar una deuda, no hay más límite que la propia creatividad de quienes a esto se dedican, a prestar su dinero; sin embargo, aquí abordaremos las más comunes, con algunas de sus ventajas o desventajas, y sus características.

Amortización gradual

Los pagos en este sistema son todos iguales y puesto que el saldo insoluto disminuye con cada abono, los intereses se reducen y la amortización se incrementa, es decir, que en cada pago es mayor que la del pago anterior. Constituye una interesante aplicación de las anualidades ordi- narias y por ello se simplifican los cálculos; pero tiene la desventaja de que los pagos deben ser mayores que los intereses del primer periodo, porque de otra manera nunca se cancelaría totalmente la deuda.

\[C=R\dfrac{1-(1+i/p)^{-np}}{i/p}\]

Ejemplo:

¿Durante 5 años, cuál es el precio de un terreno que se amortiza con 60 rentas mensuales de $9,750 cada una, con cargos del 14.5% efectivo, suponiendo que se adquirió con un 25% de enganche?

Datos:

C=x
np= 60
p=12
R=$9750
La tasa nominal menual equivalente al 14.5% efectivo se calcula:

\[\begin{align*} (1+i/12)^{12}&=1+0.145\\ 1+i/12&=\sqrt[12]{1.145}\\ 1+i/12&=1.011347621 \end{align*}\]

Por lo tanto:

\[\begin{align*} C&=9,750\left(\dfrac{1-(1.011347621)^{-60}}{0.011347621}\right)\\ C&=9,750(43.3458832)\\ C&=$422,622.3612 \end{align*}\]

El crédito es el 75% del precio, es decir, \[ (0.75)precio=422,622.3612\] \[precio= \dfrac{$422,622.3612}{0.75}\] \[precio= $563,496.48 \]

Cuadro de amortización

Ejemplo: Para vacacionar con su familia, el señor Velasco consigue un crédito por $35,000 a pagar en 8 mensualidades de $4, 584.24 con una tasa de interés del 12.60% anual capitalizable por meses. Elabore un cuadro de amortización.

Periodo (k) Renta (R) Intereses (I) Amortización (A) Saldo Insoluto (S)
0 35,000
1 4,584.24 367.5 4,216.74 30,783.26
2 4,584.24 323.22 4,261.01 26,522.25
3 4,584.24 278.24 4,305.75 22,216.5
4 4,584.24 233.27 4,350.96 17,865.53
5 4,584.24 187.59 4,396.65 13,468.88
6 4,584.24 141.42 4,442.81 9,026.07
7 4,584.24 94.77 4,489.46 4,536.60
8 4,584.24 47.63 4,536.60 0.00

Dónde:

\(R=\dfrac{C (i/p)}{1-(1+i/p)^{-np}}\)

\(I_k=S_{k-1}(i/p)\)

\(A_k=R-I_k\)

\(S_k=S_{k-1}-A_k\)

Amortización Gradual en excel

Para calcular el valor de los pagos iguales se usa la función:

=PAGO(tipo; número_de_períodos; valor_actual; [valor_futuro]; [final_o_inicio])

Dónde:

tipo: Tasa de interés periódica (i/p)
Y: [valor_futuro] y [final_o_inicio] son opcionales

Amortización Gradual en R

Para calcular la renta y elaborar un cuadro de amortización en R hacemos uso de la libreria “FinancialMath”, en concreto el comando:


amort.table(Loan = NA, n = NA, pmt = NA, i, ic = 1, pf = 1, plot = FALSE)

Donde:

Loan = Capital
n = Períodos
pmt = Renta
i = Tasa de interés nominal anual
ic = Número de veces que se capitaliza el interés por año
pf = Número de pagos por año.
plot = Si queremos gráfica del comportamiento del préstamo.
Y NA se usa con un dato desconocido (este comando trabaja con un dato desconocido).

Ejemplo 1:

Para vacacionar con su familia, el señor Velasco consigue un crédito por $35,000 a pagar en 8 mensualidades de $4, 584.24 con una tasa de interés del 12.60% anual capitalizable por meses. Elabore un cuadro de amortización.

library(FinancialMath)

amort.table(Loan = 35000, n = 8, pmt = NA, i = 0.126 ,ic = 12,pf = 12, plot = FALSE)
$Schedule
  Year Payment Interest Paid Principal Paid  Balance
1 0.08 4584.24        367.50        4216.74 30783.26
2 0.17 4584.24        323.22        4261.01 26522.25
3 0.25 4584.24        278.48        4305.75 22216.50
4 0.33 4584.24        233.27        4350.96 17865.53
5 0.42 4584.24        187.59        4396.65 13468.88
6 0.50 4584.24        141.42        4442.81  9026.07
7 0.58 4584.24         94.77        4489.46  4536.60
8 0.67 4584.24         47.63        4536.60     0.00

$Other
                    Details
Loan           3.500000e+04
Total Paid     3.667390e+04
Total Interest 1.673900e+03
Eff Rate       1.335373e-01
i^(12)         1.260000e-01

Ejemplo 2

¿Cuál es el precio de un paquete todo incluido que la cadena hotelera Vallartense está ofreciendo con intereses del 13.8% y 5 mensualidades de $2,725.00 cada una?

library(FinancialMath)

amort.table(Loan = NA, n = 5, pmt = 2725, i = 0.138, ic = 12, pf = 12, plot = FALSE)
$Schedule
  Year Payment Interest Paid Principal Paid  Balance
1 0.08    2725        151.42        2573.58 10593.69
2 0.17    2725        121.83        2603.17  7990.52
3 0.25    2725         91.89        2633.11  5357.41
4 0.33    2725         61.61        2663.39  2694.02
5 0.42    2725         30.98        2694.02     0.00

$Other
                    Details
Loan           1.316727e+04
Total Paid     1.362500e+04
Total Interest 4.577300e+02
Eff Rate       1.470719e-01
i^(12)         1.380000e-01

\(\therefore\) El precio del paquete es de $13,167.27

Ejemplo 3

Martha Patricia consigue un crédito para ampliar su fábrica de globos y lo está amortizando con 15 abonos mensuales de $10,500 cada uno e intereses del 16.4% anual capitalizable por meses. ¿A cuánto ascienden los derechos transferidos por el acreedor luego de hacer el pago número 10?

library(FinancialMath)

amort.table(Loan = NA, n = 15, pmt = 10500, i = 0.164, ic = 12, pf = 12, plot = FALSE)
$Schedule
   Year Payment Interest Paid Principal Paid   Balance
1  0.08   10500       1934.32        8565.68 132969.97
2  0.17   10500       1817.26        8682.74 124287.23
3  0.25   10500       1698.59        8801.41 115485.82
4  0.33   10500       1578.31        8921.69 106564.13
5  0.42   10500       1456.38        9043.62  97520.50
6  0.50   10500       1332.78        9167.22  88353.28
7  0.58   10500       1207.49        9292.51  79060.78
8  0.67   10500       1080.50        9419.50  69641.27
9  0.75   10500        951.76        9548.24  60093.04
10 0.83   10500        821.27        9678.73  50414.31
11 0.92   10500        689.00        9811.00  40603.31
12 1.00   10500        554.91        9945.09  30658.22
13 1.08   10500        419.00       10081.00  20577.21
14 1.17   10500        281.22       10218.78  10358.43
15 1.25   10500        141.57       10358.43      0.00

$Other
                    Details
Loan           1.415357e+05
Total Paid     1.575000e+05
Total Interest 1.596435e+04
Eff Rate       1.769066e-01
i^(12)         1.640000e-01

Derechos transferidos= Préstamo original - Saldo después del pago

\[\begin{align*} \Longrightarrow Dt&= 141, 535.70 - 50414.31\\ Dt&= 91,121.39 \end{align*}\]

\(\therefore\) Los derechos transferidos luego del pago número 10 son de $91,121.39

Amortización gradual en Python

Para trabajar amortizaciones graduales en Python se puede usar el paquete “numpy_financial”:

\(\surd\) Para calcular el valor de los pagos iguales:

.pmt(rate = , nper = , pv= )

Donde:
rate: taza de interes periodica.
nper: número de pagos.
pv = valor del crédito (el cual se escribe en negativo).

\(\surd\) Para calcular el valor actual del crédito:

.pv(rate =, nper =, pmt = , fv = )

Dónde:
rate: taza de interes periodica.
nper: número de pagos.
pmt: valor de los pagos periodicos iguales
fv: valor futuro

Sin embargo, si queremos un cuadro de amortizaciones no hay paquete con dicha función, entonces tenemos que definirlo nosotros:

import pandas as pd

def amortizacion_gradual(capital, tasa_anual, periodos, pago_mensual, frecuencia):
    tasa_mensual = tasa_anual / frecuencia
    saldo = capital
    tabla = []
    
    for t in range(1, periodos + 1):
        interes = saldo * tasa_mensual
        amortizacion = pago_mensual - interes
        saldo -= amortizacion
        
        tabla.append([
            t,
            round(pago_mensual, 2),
            round(interes, 2),
            round(amortizacion, 2),
            round(saldo, 2)
        ])
    
    df = pd.DataFrame(tabla, columns=['Periodo', 'Pago', 'Interés', 'Amortización', 'Saldo'])
    return df

Ejemplo 1:

Para vacacionar con su familia, el señor Velasco consigue un crédito por $35,000 a pagar en 8 mensualidades de $4, 584.24 con una tasa de interés del 12.60% anual capitalizable por meses. Elabore un cuadro de amortización.

import numpy_financial as npf

cuota = npf.pmt(rate = 0.126 / 12, nper = 8, pv= -35000)
print(f"Cuota: {cuota :.2f}")
Cuota: 4584.24
tabla = amortizacion_gradual(35000, 0.126, 8, 4584.24, 12)
print(tabla)
   Periodo     Pago  Interés  Amortización     Saldo
0        1  4584.24   367.50       4216.74  30783.26
1        2  4584.24   323.22       4261.02  26522.24
2        3  4584.24   278.48       4305.76  22216.49
3        4  4584.24   233.27       4350.97  17865.52
4        5  4584.24   187.59       4396.65  13468.87
5        6  4584.24   141.42       4442.82   9026.05
6        7  4584.24    94.77       4489.47   4536.59
7        8  4584.24    47.63       4536.61     -0.02

Ejemplo 2

¿Cuál es el precio de un paquete todo incluido que la cadena hotelera Vallartense está ofreciendo con intereses del 13.8% y 5 mensualidades de $2,725.00 cada una?

Valor1 = npf.pv(rate = 0.138/12, nper = 5, pmt = 2725, fv = 0)
print(f"El precio del paquete es de ${-Valor1: .2f}")
El precio del paquete es de $ 13167.27
tabla1 = amortizacion_gradual(-Valor1, 0.138, 5, 2725, 12)
print(tabla1)
   Periodo  Pago  Interés  Amortización     Saldo
0        1  2725   151.42       2573.58  10593.69
1        2  2725   121.83       2603.17   7990.52
2        3  2725    91.89       2633.11   5357.41
3        4  2725    61.61       2663.39   2694.02
4        5  2725    30.98       2694.02      0.00

Ejemplo 3

Martha Patricia consigue un crédito para ampliar su fábrica de globos y lo está amortizando con 15 abonos mensuales de $10,500 cada uno e intereses del 16.4% anual capitalizable por meses. ¿A cuánto ascienden los derechos transferidos por el acreedor luego de hacer el pago número 10?

Valor2 = npf.pv(rate = 0.164/12, nper = 15, pmt = 10500, fv = 0)

print(f"El valor del crédito es de ${-Valor2: .2f}")
El valor del crédito es de $ 141535.65
tabla2 = amortizacion_gradual(-Valor2, 0.164, 15, 10500, 12)
print(tabla2)
    Periodo   Pago  Interés  Amortización      Saldo
0         1  10500  1934.32       8565.68  132969.97
1         2  10500  1817.26       8682.74  124287.23
2         3  10500  1698.59       8801.41  115485.82
3         4  10500  1578.31       8921.69  106564.13
4         5  10500  1456.38       9043.62   97520.50
5         6  10500  1332.78       9167.22   88353.28
6         7  10500  1207.49       9292.51   79060.78
7         8  10500  1080.50       9419.50   69641.27
8         9  10500   951.76       9548.24   60093.04
9        10  10500   821.27       9678.73   50414.31
10       11  10500   689.00       9811.00   40603.31
11       12  10500   554.91       9945.09   30658.22
12       13  10500   419.00      10081.00   20577.21
13       14  10500   281.22      10218.78   10358.43
14       15  10500   141.57      10358.43       0.00

Derechos transferidos= Préstamo original - Saldo después del pago

\[\begin{align*} \Longrightarrow Dt&= 141, 535.65 - 50414.31\\ Dt&= 91,121.34 \end{align*}\]

\(\therefore\) Los derechos transferidos luego del pago número 10 son de $91,121.34

Amortización constante

A diferencia del sistema anterior, aquí la porción que se abona al capital, es decir, la amortización, es siempre la misma, lo cual da lugar a que cada pago sea menor que el anterior, y esto puede ser un atractivo para el deudor. Además, es muy fácil calcular el saldo insoluto en cualquier momento, lo cual, como se dijo antes, se necesita para cancelar o refinanciar el capital que se debe.

En la amortización constante de una deuda C, la primera renta es: \[R_1 = A[1 + (np)(i/p)]\] y la enésima es \[R_N = R_1 − (N − 1)d\] donde:
A = C/np es la amortización constante
d = A(i/p) es la diferencia entre 2 rentas sucesivas, que decrecen aritméticamente, y como antes:
n es el plazo en años
np es el número de rentas
i es la tasa de interés anual capitalizable en p periodos por año.

Amortización constante en R

Si queremos un cuadro de amortizaciones constante no hay libreria con dicha función, entonces tenemos que hacerlo nosotros:

amort_constante <- function(C, r_anual, n, freq) {
  r_periodo <- r_anual / freq
  amortizacion <- C / n
  saldo <- C
  tabla <- data.frame(
    Periodo = integer(),
    Pago = numeric(),
    Interes = numeric(),
    Amortizacion = numeric(),
    Saldo = numeric()
  )
  
  for (t in 1:n) {
    interes <- saldo * r_periodo
    pago <- amortizacion + interes
    saldo <- saldo - amortizacion
    tabla <- rbind(tabla, data.frame(
      Periodo = t,
      Pago = round(pago, 2),
      Interes = round(interes, 2),
      Amortizacion = round(amortizacion, 2),
      Saldo = round(saldo, 2)
    ))
  }
  return(tabla)
}

Donde:
C, es el valor actual del préstamo
r_anual, tasa de interés anual
n, número de periodos
freq, frecuencia de los pagos (por año)

Ejemplo

Con el sistema de amortización constante, tasa de interés del 13.2% nominal mensual y plazo de 2 años, obtenga los primeros 2 pagos mensuales y el último para amortizar un crédito de $96,000.

amort_constante(C = 96000, r_anual = 0.132, n = 24, freq = 12)
   Periodo Pago Interes Amortizacion Saldo
1        1 5056    1056         4000 92000
2        2 5012    1012         4000 88000
3        3 4968     968         4000 84000
4        4 4924     924         4000 80000
5        5 4880     880         4000 76000
6        6 4836     836         4000 72000
7        7 4792     792         4000 68000
8        8 4748     748         4000 64000
9        9 4704     704         4000 60000
10      10 4660     660         4000 56000
11      11 4616     616         4000 52000
12      12 4572     572         4000 48000
13      13 4528     528         4000 44000
14      14 4484     484         4000 40000
15      15 4440     440         4000 36000
16      16 4396     396         4000 32000
17      17 4352     352         4000 28000
18      18 4308     308         4000 24000
19      19 4264     264         4000 20000
20      20 4220     220         4000 16000
21      21 4176     176         4000 12000
22      22 4132     132         4000  8000
23      23 4088      88         4000  4000
24      24 4044      44         4000     0

\(\therefore\) EL valor del primer pago es de $5,056; del segundo es de $ 5,012; y el valor del último pago es de $4,044

Amortización consatante en Python

Si queremos un cuadro de amortizaciones constante no hay paquete con dicha función, entonces tenemos que hacerlo nosotros:


def amortizacion_constante(capital, tasa_anual, periodos, frecuencia):
    tasa_mensual = tasa_anual / frecuencia
    amortizacion = capital / periodos
    saldo = capital

    tabla = []

    for t in range(1, periodos + 1):
        interes = saldo * tasa_mensual
        pago = amortizacion + interes
        saldo -= amortizacion
        tabla.append([
            t,
            round(pago, 2),
            round(interes, 2),
            round(amortizacion, 2),
            round(saldo, 2)
        ])

    df = pd.DataFrame(tabla, columns=['Periodo', 'Pago', 'Interés', 'Amortización', 'Saldo'])
    return df

Ejemplo

Con el sistema de amortización constante, tasa de interés del 13.2% nominal mensual y plazo de 2 años, obtenga los primeros 2 pagos mensuales y el último para amortizar un crédito de $96,000.

df = amortizacion_constante(capital=96000, tasa_anual=0.132, periodos=24, frecuencia = 12)
print(df.to_string(index=False))
 Periodo   Pago  Interés  Amortización   Saldo
       1 5056.0   1056.0        4000.0 92000.0
       2 5012.0   1012.0        4000.0 88000.0
       3 4968.0    968.0        4000.0 84000.0
       4 4924.0    924.0        4000.0 80000.0
       5 4880.0    880.0        4000.0 76000.0
       6 4836.0    836.0        4000.0 72000.0
       7 4792.0    792.0        4000.0 68000.0
       8 4748.0    748.0        4000.0 64000.0
       9 4704.0    704.0        4000.0 60000.0
      10 4660.0    660.0        4000.0 56000.0
      11 4616.0    616.0        4000.0 52000.0
      12 4572.0    572.0        4000.0 48000.0
      13 4528.0    528.0        4000.0 44000.0
      14 4484.0    484.0        4000.0 40000.0
      15 4440.0    440.0        4000.0 36000.0
      16 4396.0    396.0        4000.0 32000.0
      17 4352.0    352.0        4000.0 28000.0
      18 4308.0    308.0        4000.0 24000.0
      19 4264.0    264.0        4000.0 20000.0
      20 4220.0    220.0        4000.0 16000.0
      21 4176.0    176.0        4000.0 12000.0
      22 4132.0    132.0        4000.0  8000.0
      23 4088.0     88.0        4000.0  4000.0
      24 4044.0     44.0        4000.0     0.0

\(\therefore\) EL valor del primer pago es de $5,056; del segundo es de $ 5,012; y el valor del último pago es de $4,044