Mostrando las entradas con la etiqueta excel. Mostrar todas las entradas
Mostrando las entradas con la etiqueta excel. Mostrar todas las entradas

domingo, 12 de junio de 2022

Usar pandas_datareader de Python para conectarnos a Yahoo Finance y extraer los precios de los activos que necesitemos.

Hola a todos, en un post del 17 de julio de 2019, mostré los pasos para extraer la información de precios de un activo cualquiera, usando como fuente finance.yahoo.com, el proceso era bastante manual, y consistía en ingresar unos parámetros de la data a descargar, bajarla como un archivo separado por comas y luego abrirlo en excel para separar las columnas y poder organizarlo. 

Esta operatividad, la debíamos realizar para cada activo del que queríamos obtener los datos. 

Este paso a paso fue con el que aprendimos en la especialización en finanzas en la Universidad EAFIT, por allá en el año 2012.

Después de investigar un poco y de irme introduciendo al lenguaje de programación Python, encontré una librería con la que este proceso se puede hacer mucho más rápido, en el que si quieres cambiar el rango de fechas o incluir nuevos activos, no tenemos que volver a iniciar desde cero y repetir todo el ciclo - pandas_datareader.

La página con la documentación es esta:


En la opción Data Readers, podemos encontrar la documentación para las diferentes fuentes a las que soporta la conexión y extracción de datos el paquete, incluyendo Yahoo Finance:



Ahora, vamos a entrar en materia en nuestro código en Python, para ejecutar el proceso y liberarnos de la tediosa operatividad del paso a paso en excel.

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, 24 de abril de 2021

Matemática Financiera: Ejercicios 5.2, Problema 30 - Ahorro Quincenal Durante la Carrera Profesional - José Luis Villalobos

Hola a todos, hoy vamos a continuar con los ejercicios del libro: Matemáticas Financieras Tercera  Edición del autor José Luis Villalobos. 

Vamos a trabajar el problema 30 y lo resolveremos en excel y python:

30. ¿Para ayudar con los gastos de su graduación, una pareja de estudiantes decide depositar $450 cada quincena, desde que comienzan su carrera profesional. ¿Cuánto acumulan si el primer año ganan el 8.4% de interés anual capitalizable por quincenas, los siguientes dos les bonifican el 9.12% y los últimos 3 semestres, el 9.60% nominal quincenal?

Para resolver el problema, vamos a ayudarnos de un esquema gráfico que nos permita separar cada uno de los bloques de capitalización de acuerdo a las tasas que se van a reconocer a la pareja en cada momento de tiempo:


Estudiemos primero que ocurre con los 24 pagos que se realizan durante el primer año. Estos, se capitalizan con una tasa del 8.40%, pero finalizadas las 24 quincenas, el valor que se ha acumulado en la cuenta donde se están depositando dichos pagos se continuará capitalizando, y para los próximos dos años la tasa con la que lo hará es del 9.12%. Pasados los dos años (o 48 quincenas), el valor que tenemos acumulado se empezará a incrementar hasta el final del plan de ahorro a una tasa del 9.60%.

Los 48 pagos quincenales que se realizan entre el año 2 y el 3 tienen primero una capitalización del 9.12% y el valor que se acumula en la cuenta por dichos pagos, pasa a tener una capitalización del 9.60% hasta el final de la carrera.

Por último, los pagos entre el año 4 y 5 (36 quincenas) solamente se capitalizan por el 9.60% hasta terminar los estudios.

Al hacer esta división del problema por bloques, podemos entenderlo más fácilmente que si lo abordáramos como un todo.

Los párrafos anteriores, los podemos formular en excel de la siguiente manera (seguiremos asumiendo que los pagos ocurren al inicio de cada periodo):


Como se puede ver en el excel, los primeros 24 pagos quincenales del año 1 tienen 3 momentos de capitalización con 3 tasas diferentes. Los 48 pagos que se dan en el año 2 y 3m tienen dos momentos con dos tasa y por último los del año 4 en adelante tienen una sola tasa.

Matemática Financiera: Ejercicios 5.2, Problema 29 - Número de Periodos para Alcanzar un Valor Futuro - José Luis Villalobos

Hola a todos, hoy vamos a continuar con los ejercicios del libro: Matemáticas Financieras Tercera  Edición del autor José Luis Villalobos. 

Vamos a trabajar el problema 29 y lo resolveremos en excel y python:

29. ¿Cuántos pagos bimestrales de $8,193, se necesitan para alcanzar un monto de $70,000, si se devengan intereses del 8.76% capitalizable por bimestre?

Para resolver el problema, vamos a construir el siguiente modelo financiero en excel (vamos a asumir el pago de las anualidades al comienzo de cada período):


Utilizando la función NPER() de excel, podemos establecer el número de bimestres necesarios para alcanzar los $70,000 en el futuro, en este caso, se requieren 8 bimestres.

Para resolver el problema en python, vamos a escribir el siguiente script en la plataforma google-colab:


Al ejecutar nuestro script, llegamos al mismo resultado que obtuvimos previamente en excel.

A continuación el código fuente:

martes, 20 de abril de 2021

Matemática Financiera: Ejercicios 5.2, Problema 28 - Valor Inicial de Inversión más Anualidad - José Luis Villalobos

Hola a todos, hoy vamos a continuar con los ejercicios del libro: Matemáticas Financieras Tercera  Edición del autor José Luis Villalobos. 

Vamos a trabajar el problema 28 y lo resolveremos en excel y python:

28. ¿Un estudiante abre una cuenta en un banco que paga el 15.6% nominal quincenal y continúa depositando $1,750 cada quincena al inicio. 20 meses después de que la abrió tiene acumulados $90,857.45. ¿Con cuánto inició sus ahorros?

Para resolver el problema, vamos a construir el siguiente modelo financiero en excel (vamos a asumir el pago de las anualidades al comienzo de cada período):


Utilizando la función VA() de excel, vamos a calcular el monto inicial con el que se abrió la cuenta. Como podemos ver, la cuenta fue abierta con $8,250.

Para resolver en python, vamos a escribir el siguiente script en la plataforma colab de google:


Como pueden ver, con el script llegamos al mismo valor que obtuvimos previamente en excel.

A continuación el código fuente: 

domingo, 18 de abril de 2021

Matemática Financiera: Ejercicios 5.2, Problema 26 - Valor de una Anualidad para Librar un Pagaré - José Luis Villalobos

Hola a todos, hoy vamos a continuar con los ejercicios del libro: Matemáticas Financieras Tercera  Edición del autor José Luis Villalobos. 

Vamos a trabajar el problema 26 y lo resolveremos en excel y python:

26. ¿El matemático González firma un documento por un crédito de $32,570, con cargos del 13% simple anual y plazo de 6 meses. ¿Cuánto debe depositar cada semana en una cuenta que bonifica el 11.44% nominal semanal para librar el pagaré? Suponga que abre la cuenta cuando firma el documento.?

Para resolver el problema, vamos a construir el siguiente modelo financiero en excel (vamos a asumir el pago de las anualidades al comienzo de cada período):

Como se puede ver en el modelo, necesitamos hacer dos cálculos. El primero, para determinar el valor que tendrá el pagaré al final de los seis meses pactados por González. Como el documento se fijó con una tasa simple, calculamos los intereses dividiendo la tasa por dos y se la aplicamos al capital, con lo que llegamos al valor de $34,687,05.

El segundo cálculo, es para establecer las anualidades a depositar al comienzo de cada semana, para llegar al valor futuro que calculamos con anterioridad, solo que en este caso, la cuenta en la que lo vamos a hacer, reconoce intereses compuestos. Utilizando la función PAGO() de excel, establecemos que el valor de los 26 depósitos será de $1,294.94.

Asumimos que en un año hay 52 semanas y que en un semestre tenemos la mitad, es decir 26.

En el problema 27 nos preguntan: ¿Cuánto ganó o perdió por intereses el matemático?

En el documento de crédito pagamos: $34,687.05 - $32,570 = $2,117.05.

Y en la cuenta nos pagaron: ($1,294.94 x 26) - $34,687.05 = $1,018.53.

En el neto de las dos operaciones, nuestro matemático perdió: $2,117.05 - $1,018.53 = $1,098.52.

Ahora vamos a resolver el problema en python, escribiendo el siguiente script:


Con lo que llegamos al mismo resultado que obtuvimos previamente en excel.

A continuación el código fuente:

sábado, 17 de abril de 2021

Matemática Financiera: Ejercicios 5.2, Problema 24 - Número de períodos para alcanzar un valor futuro - José Luis Villalobos

Hola a todos, hoy vamos a continuar con los ejercicios del libro: Matemáticas Financieras Tercera  Edición del autor José Luis Villalobos. 

Vamos a trabajar el problema 24 y lo resolveremos en excel y python:

24. ¿En cuánto tiempo se acumulan $38,850, depositando $2,500 cada quincena al 10.5% nominal quincenal?

Para resolver el problema, vamos a construir el siguiente modelo financiero en excel (vamos a asumir el pago de las anualidades al comienzo de cada período):


Utilizando la función NPER() de excel, vamos a calcular el número de períodos necesarios para acumular $38,850 con las condiciones planteadas en el ejercicio. Como podemos ver, vamos a necesitar de 15 quincenas para poder acumular dicha cantidad.

En el problema 25, nos preguntan ¿Cuánto se devenga por intereses en el problema 24? Para dar respuesta realizamos la siguiente operación:

intereses = $38,500 - ($2,500 x 15) = $1,350.

Para resolver en python, vamos a escribir el siguiente script en la plataforma colab de google:


Y cuando lo ejecutamos, llegamos al mismo resultado que obtuvimos previamente en excel:


A continuación el código fuente:

miércoles, 24 de febrero de 2021

Matemática Financiera: Ejercicios 4.3, Problema 30 - Determinar el Valor del Préstamo - José Luis Villalobos

Hola a todos, hoy vamos a continuar con los ejercicios del libro: Matemáticas Financieras Tercera  Edición del autor José Luis Villalobos. 

Vamos a trabajar el problema 30 y lo resolveremos en excel y python:

30. ¿Por qué cantidad fue un préstamo que se logró el 8 de octubre, si se firmó un documento con valor nominal de $42,680 con vencimiento al 8 de febrero siguiente y con intereses del 12.48% nominal mensual?

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


Utilizando la función VA(), calculamos el valor presente del capital prestado y podemos concluir que el préstamo inicial, bajo las condiciones pactadas, fue de $40,949.73.

Ahora vamos a resolver el problema utilizando python. Para esto, vamos a escribir el siguiente script en la plataforma colab:


Y al ejecutarlo, tenemos el siguiente resultado:

domingo, 20 de diciembre de 2020

Matemática Financiera: Ejercicios 4.2, Problema 37 - Compra Enciclopedia - José Luis Villalobos

Hola a todos, hoy vamos a continuar con los ejercicios del libro: Matemáticas Financieras Tercera  Edición del autor José Luis Villalobos. 

Vamos a trabajar el problema 37 y lo resolveremos en excel y python:

37. Carmela compra una enciclopedia con un anticipo y dos abonos mensuales de $2,750 cada uno, el enganche y los abonos. ¿Cuál fue su precio si le cargan intereses del 15.6% anual capitalizable por meses?

Para resolver el problema, vamos a construir el siguiente modelo en excel:


Como podemos ver, el precio de la enciclopedia, con las condiciones planteadas en el problema, es de $8,144,58.

Revisemos la formulación del modelo:


Para resolver en python, vamos a escribir el siguiente script en la plataforma colab:

miércoles, 16 de diciembre de 2020

Matemática Financiera: Ejercicios 4.2, Problema 29 - ¿Cuánto tengo que invertir para cumplir un objetivo? - José Luis Villalobos

Hola a todos, hoy vamos a continuar con los ejercicios del libro: Matemáticas Financieras Tercera  Edición del autor José Luis Villalobos. 

Vamos a trabajar el problema 29 y lo resolveremos en excel y python:

29. ¿Cuánto debe invertirse ahora al 13.3% anual capitalizable por semanas para disponer de $70,500 en 15 meses?

Para resolver el problema, vamos a construir el siguiente modelo en excel:


Entonces, para cumplir con el objetivo de tener $70,500 dentro de 65 semanas, debo realizar una inversión inicial de $59,714.51.

A continuación, la formulación del modelo:


miércoles, 9 de diciembre de 2020

Matemática Financiera: Ejercicios 4.2, Problema 28 - Plazo Incremento de Capital - José Luis Villalobos

Hola a todos, hoy vamos a continuar con los ejercicios del libro: Matemáticas Financieras Tercera  Edición del autor José Luis Villalobos. 

Vamos a trabajar el problema 28 y lo resolveremos en excel y python:

28. ¿En cuánto tiempo un capital crece 15% si se invierte al 0.35% semanal capitalizable por semana?

Para resolver el problema, vamos a construir el siguiente modelo en excel:


Con lo que podemos concluir que con las condiciones planteadas, el capital inicial se incrementará en un 15% al cabo de 40 semanas.

Veamos la formulación del modelo:


En python vamos a resolver utilizando la función fv() del paquete numpy_financial simulando una operación de buscar objetivo como hicimos en ejercicios anteriores:

Matemática Financiera: Ejercicios 4.2, Problema 27 - Valor Presente Inversión - José Luis Villalobos

Hola a todos, hoy vamos a continuar con los ejercicios del libro: Matemáticas Financieras Tercera  Edición del autor José Luis Villalobos. 

Vamos a trabajar el problema 27 y lo resolveremos en excel y python:

27. ¿Cuánto debe invertir al 4.5% trimestral capitalizable por trimestre para tener $50,000 en 9 meses?

Para resolver el problema, vamos a construir el siguiente modelo en excel:


Como podemos ver, el valor de la inversión que nos entrega $50.000 en 3 trimestres a una tasa del 4.50% es $43,814.83.

A continuación la formulación del modelo:


Para resolverlo en python, construimos el siguiente script:

martes, 8 de diciembre de 2020

Matemática Financiera: Ejercicios 4.2, Problema 25 - Mejor Opción Compra Automovil - José Luis Villalobos

Hola a todos, hoy vamos a continuar con los ejercicios del libro: Matemáticas Financieras Tercera  Edición del autor José Luis Villalobos. 

Vamos a trabajar el problema 25 y lo resolveremos en excel y python:

25. Determine qué le conviene más al comprador de un automóvil cuyo precio es $165,000:

a) Pagarlo de contado con un descuento del 5%. 
b) Pagarlo con el 40% de anticipo y dos abonos a 3 y 4 meses de la compra por $48,000 cada uno. 
c) Pagarlo sin enganche y tres abonos a 1, 2 y 3 meses por $54,000 cada uno.
d) Pagarlo con un enganche de $50,000 y 3 abonos de $37,500 a 1, 2 y 3 bimestres de la compra.

Suponga que el dinero reditúa el 15% de interés anual compuesto por meses y que las cuatro opciones tienen la misma factibilidad.

Para resolver el problema, vamos a construir el siguiente modelo en excel, con el que vamos a evaluar las cuatro alternativas:


Donde al evaluar cada una de las cuatro opciones podemos concluir que lo mejor para el comprador es realizar el pago de contado y obtener el descuento del 5%. En cualquiera de las otras tres alternativas, el costo presente (vpn) es mucho mayor que en la primera.

Ahora, revisemos la formulación de nuestro modelo:


Para resolver el ejercicio utilizando python, vamos a escribir el siguiente script en la plataforma colab de google:

viernes, 27 de noviembre de 2020

Matemática Financiera: Ejercicios 4.2, Problema 22 - Compra de Televisor y DVD Financiados - José Luis Villalobos

Hola a todos, hoy vamos a continuar con los ejercicios del libro: Matemáticas Financieras Tercera Edición del autor José Luis Villalobos. 

Vamos a trabajar el problema 22 y lo resolveremos en excel y python:

22. El contador Pérez compra un televisor con DVD. Un enganche de 150 dólares representa el 20% del precio del aparato y son dos abonos iguales para cubrir el 80% restante. ¿De cuánto es cada uno, si se tienen cargos del 16% anual compuesto por meses y los pagos se hacen a 2 y 3 meses de la compra? 

Para resolver el problema, vamos a construir el siguiente modelo en excel:


Para resolver el modelo, vamos a aplicar la función buscar objetivo en la celda B11 con los siguientes parámetros:


Y al dar clic en Aceptar tenemos:

martes, 24 de noviembre de 2020

Matemática Financiera: Ejercicios 4.1, Problema 33 y 34 - Inflación Semestral - José Luis Villalobos

Hola a todos, hoy vamos a continuar con los ejercicios del libro: Matemáticas Financieras Tercera Edición del autor José Luis Villalobos. 

Vamos a trabajar el problema 33 y 34 y los resolveremos en Excel y python:

33. La inflación en enero fue de 0.75%, en febrero de 1.03%, y en marzo, abril, mayo y junio fue, respectivamente, de 0.83%, 0.62%, 1.25% y 0.57%. ¿De cuánto fue en el semestre?

34. En el problema 33, ¿de qué porcentaje es la inflación mensual equivalente si fuera uniforme?

Vamos a construir el siguiente modelo en excel, para resolver nuestros problemas:


Que tiene la siguiente formulación:


Entonces, la inflación del semestre es de 5.15574% y la inflación mensual equivalente es de 0.84139%.

Ahora, vamos a resolverlo en python con el siguiente script:

Matemática Financiera: Ejercicios 4.1, Problema 32 - Notas Universidad Parte 2 - José Luis Villalobos

Hola a todos, hoy vamos a continuar con los ejercicios del libro: Matemáticas Financieras Tercera Edición del autor José Luis Villalobos. 

Vamos a trabajar el problema 32 y lo resolveremos en Excel:

32. En el problema 31, ¿en qué porcentaje creció la calificación del noveno semestre en relación con el primero?

En el modelo que construimos en el problema 31, ya teníamos el cálculo del porcentaje de crecimiento. Revisemos nuevamente nuestro modelo:



Como podemos ver, el crecimiento de la nota del noveno semestre en relación con el primero es de 7.023085%.

Hasta la próxima.

sábado, 21 de noviembre de 2020

Matemática Financiera: Ejercicios 4.1, Problema 31 - Notas Universidad - José Luis Villalobos

Hola a todos, hoy vamos a continuar con los ejercicios del libro: Matemáticas Financieras Tercera Edición del autor José Luis Villalobos. 

Vamos a trabajar el problema 31 y lo resolveremos en Excel y python:

31. Un estudiante de economía obtuvo 8.65 de promedio final en el primer semestre. ¿Cuánto sacó en el noveno si del primero al segundo lo incremento en 2.31%, 1.83% en el siguiente y, respectivamente, 1.05%, 0.93%, 1.12%, 0.05% y 2.11% en los restantes, y en el último su promedio se redujo un 2.5% con respecto al anterior? Note que son nueve semestres.

Para resolver el ejercicio vamos a construir el siguiente modelo en excel:


Como podemos ver, la nota del noveno semestre fue 9.2575. La formulación del modelo es la siguiente:


Ahora, vamos a resolverlo utilizando la plataforma colab de google, mediante un script de python:

jueves, 19 de noviembre de 2020

Matemática Financiera: Ejercicios 4.1, Problema 30 - Ventas Tienda de Abarrotes - José Luis Villalobos

Hola a todos, hoy vamos a continuar con los ejercicios del libro: Matemáticas Financieras Tercera Edición del autor José Luis Villalobos. 

Vamos a trabajar el problema 30 y lo resolveremos en Excel y python:

30. Las ventas de una tienda de abarrotes se incrementaron 1.31% en el primer bimestre y en los siguientes cinco: 2.42%, 1.93%, 3.05%, 0.92% y 3.32%, respectivamente. ¿En qué porcentaje crecieron en el año?

Para resolver el problema vamos a construir el siguiente modelo en excel:


Con lo que podemos concluir que las ventas crecieron un 13.6446% durante el periodo.

La formulación del modelo es la siguiente:


Ahora, vamos a resolverlo en python con el siguiente script:

Matemática Financiera: Ejercicios 4.1, Problema 29 - Deuda Externa - José Luis Villalobos

Hola a todos, hoy vamos a continuar con los ejercicios del libro: Matemáticas Financieras Tercera Edición del autor José Luis Villalobos. 

Vamos a trabajar el problema 29 y lo resolveremos en Excel y python:

29. La deuda externa del país se redujo 4.5% en el primer año, 6.35% en el segundo, y 5.63%, 4.29%, 7.21% y 6.04% en los restantes. ¿En qué porcentaje se redujo en el sexenio?

Para resolver el problema vamos a construir el siguiente modelo en excel:


Donde podemos ver que la deuda se redujo en el sexenio en un 29.5718%. La formulación del modelo es la siguiente:

lunes, 16 de noviembre de 2020

Matemática Financiera: Ejercicios 4.1, Problema 28 - Poder Adquisitivo de la Moneda - José Luis Villalobos

Hola a todos, hoy vamos a continuar con los ejercicios del libro:  Matemáticas Financieras Tercera Edición del autor José Luis Villalobos. 

Vamos a trabajar el problema 28 y lo resolveremos en Excel:

28. En el problema 27, ¿de cuánto deberá ser un incremento al salario al final del sexenio, para recuperar el poder adquisitivo que se tenía al comenzar?

Para resolver el problema vamos a construir el siguiente modelo en excel:


Como podemos ver, el incremento necesario para poder recuperar el poder adquisitivo sería de 31.2126%.

A continuación la formulación del modelo:


Hasta la próxima.