martes, 15 de marzo de 2022

Financial Modeling - Ejercicio 1 Capítulo 1, Compra Activo - Simon Benninga

Hola a todos hoy vamos a iniciar a trabajar con los ejercicios del libro: Financial Modeling de Simon Benninga:


Un libro muy utilizado en distintas universidades para cubrir módulos de los postgrados en finanzas. El libro siempre lo he encontrado en inglés, por lo que escribiremos cada ejercicio en su texto original y haremos la traducción respectiva. El profesor Benninga (Q.E.P.D) desarrolla algunos de los ejercicios utilizando VBA, en nuestro caso trataremos de utilizar Python.

Iniciemos entonces con el primer problema del capítulo 1:

1. You are offered an asset costing $600 that has cash flows of $100 at the end of each of the next 10 years.

a. If the appropriate discount rate for the asset is 8%, should you purchase it? 

b. What is the IRR of the asset?

Traducción:

1. Le ofrecen un activo que cuesta $600 y que genera flujos de caja de $100 al final de cada año durante los próximos 10 años.

a. Si la tasa de descuento para el activo es 8%, debería comprarlo?

b. Cual es la TIR del activo?


Para resolver el ejercicio, vamos a construir el siguiente modelo financiero en Excel:


Entonces, partiendo de una tasa de descuento del 8%, se puede concluir que deberíamos comprar el activo, pues al calcular el VPN de los flujos que se generan a lo largo de los 10 años, vamos a obtener una generación de valor de $71 dólares (ver celda B6).

Para el  cálculo de la TIR, usaremos la función de Excel que tiene el mismo nombre, al pasarle como argumentos el rango que contiene los flujos de caja, obtenemos el resultado de 11%. Es de aclarar que la tasa obtenida es anual. Cuando calculamos la TIR, la tasa siempre esta en la misma unidad de tiempo que tienen los flujos.

Para calcular el ejercicio en Python, debemos escribir el siguiente código:


Con lo que llegamos al mismo resultado que obtuvimos en Excel.

A continuación el código fuente: 

sábado, 5 de marzo de 2022

Trabajando en Python con la función criptográfica SHA256

Hola a todos, hoy vamos a trabajar en Python con la función criptográfica SHA256. Esta función nos permite encriptar o cifrar un mensaje de texto, una imagen, un documento en pdf o lo que sea que tengamos digitalizado en nuestro computador. También la podemos utilizar en el proceso de autenticación de una aplicación.

Este tipo de funciones, son conocidas también como funciones de una sola vía, lo que quiere decir que con el resultado entregado por la función, no es posible devolverse y obtener los datos que fueron ingresados y encriptados.

En python, la función SHA256 (SHA quiere decir: Secure Hash Algorithms) requiere que le ingresemos como parámetro los bits del objeto que deseamos encriptar. Para esto, es necesario que primero utilicemos la función encode( ), que es la que convertirá a bits nuestro objeto.

Veamos un ejemplo del uso de la función:


En la línea 5, tenemos el texto que vamos a encriptar. Y en la línea 6, utilizamos la función encode( ) para convertir a bits y luego los pasamos a la función sha256( ) para generar el proceso de encriptado.

Para visualizar el resultado, y presentarlo en formato hexadecimal, utilizaremos la función hexdigest( ):


Como pueden ver, el resultado es una cadena hexadecimal que representa el texto “El amor en los tiempos del cólera” después de ser encriptado con la función sha256( ).

Hasta una próxima.

miércoles, 8 de diciembre de 2021

Trabajando con PostgreSQL en la nube, borrado de registros (DELETE) desde Python

Hola a todos, en esta nueva publicación vamos a seguir trabajando con PostgreSQL en la nube y vamos a ejecutar el borrado de registros desde la plataforma Colab, mediante un script escrito en Python.

Vamos a recordar cuales son los registros que tenemos en nuestra tabla contacts, para lo que vamos a ejecutar la instrucción SELECT como lo hicimos en el primer post. Solo que esta ves el código SQL lo vamos a correr directamente en el servidor de PostgreSQL:


Como podemos ver en la imagen, nuestra tabla consta de 6 registros. Para este ejercicio, vamos a proceder a borrar el registro con id = 6.

Veamos el script en Python para ejecutar la tarea:


domingo, 5 de diciembre de 2021

Trabajando con PostgreSQL en la nube, actualización de registros (UPDATE) desde Python

Hola a todos, hoy vamos a continuar con la serie de publicaciones asociadas a trabajar con  PostgreSQL en la nube. Ya vimos como crear una tabla, insertar registros y consultarlos.
Ahora, vamos a ver como podemos actualizar los registros que ya están almacenados en las tablas de nuestra base de datos.

El ejercicio lo vamos a desarrollar en la misma base y tabla con las que trabajamos en el post anterior.

La tarea que queremos realizar es buscar en nuestra tabla contacts el registro con id = 5 y actualizar el nombre a: Juliana Dominguez.


Actualmente, el registro con id = 5 tiene en el campo name John Doe.

Veamos como sería el código, para cumplir con el objetivo de actualizar el registro:


sábado, 4 de diciembre de 2021

Trabajando con PostgreSQL en la nube, creación de una tabla (CREATE TABLE), inserción de registros (INSERT INTO) y consulta de datos (SELECT) desde Python

Buenos días, hoy vamos a trabajar nuevamente con la base de datos PostgreSQL, solo que en esta oportunidad, no vamos a instalar el servidor en nuestro equipo, sino que vamos a operar con el servicio de PostgreSQL en la nube.

Existen en internet distintas plataformas que ofrecen el servicio y que nos dan desde cuentas gratuitas de prueba, hasta cuentas con servicios dedicados para la construcción e implementación de aplicaciones críticas.

En mi caso, voy a crear una cuenta en la página www.elephantsql.com utilizando mi cuenta de Google:



Y vamos a dar clic en el botón de login: