domingo, 4 de octubre de 2020

Construyendo una Tabla de Amortización de Préstamos con Python - numpy-financial y tabulate

Hola a todos, hoy vamos a integrar las funciones financieras que revisamos en los post anteriores (pmt(), npv(), irr() y fv()) y vamos a construir un script que nos permita calcular el resultado de una tabla de amortización para un préstamo construida en Python. 

Para esto, es necesario incluir la función ppmt() incluida en el paquete numpy-financial, la cuál nos permite calcular la porción correspondiente al abono a capital en cada una de las cuotas que se paguen durante el tiempo que dure la obligación:


Vamos a calcular la misma tabla que ya habíamos construido en excel en un post anterior (da clic para ir al post).

Abrimos nuestro cuaderno en colab y vamos a escribir el siguiente código:


Como ven, se trata de un préstamo por $1.000.000 de pesos, a una tasa mensual del 1% y un plazo de 12 meses. 

Con la instrucción for, vamos a iterar el número total de cuotas y en cada iteración vamos a construir una lista con los datos de cada periodo: valor de la cuota, abono a capital, intereses pagados y saldo a capital.

En este script, vamos a utilizar otro paquete que ya instalamos previamente: tabulate. Este paquete contiene un método o función llamado también tabulate, que recibe como argumento una lista o cualquier otro objeto iterable y lo imprime haciendo todo el trabajo de carpintería por nosotros.

Para nuestro caso, le vamos a pasar también los encabezados que queremos mostrar al momento de imprimir la lista y le indicamos que queremos que se imprima siguiendo un formato que se llama psql (de Postgresql).

Veamos entonces el resultado de ejecutar el script:

Como ven, tenemos el mismo resultado que ya habíamos logrado previamente en excel.

Y que pasa si el plazo del préstamo cambia de 12 a 24 meses? Solo tenemos que cambiar la variable plazo y volver a ejecutar el script:


Y haremos lo mismo si cambia el monto del préstamo o la tasa.

A continuación el código fuente:

 

5 comentarios:

  1. porque me sale error en numpy_financial ?

    ResponderBorrar
  2. En todo caso, te faltaría correr ! pip install numpy-financial en caso trabajes con google colab

    ResponderBorrar