Git Product home page Git Product logo

econsimulation's Introduction

econ-simulation

1707097273460

Es una librería en étapas tempranas tiene la intención de facilitarle la realización de ejercicios microeconómicos. Disponible tanto en Google Colab como en JupyterNotebook.

Creador: Diego Armando Barquero Sánchez

Profesor encargado: Alexander Amoretti Alvarado

Si gustas colaborar al código abierto para ciencias económicas no tengas miedo de hacer un push request, explorar el código o contactar para corregir cualquier malfuncionamiento.

Instalación

Utiliza el comando de python pip to install git primeramenta, esto te permitirá accesar al repositorio y clonarlo dentro de tu servidor local (computadora).

pip install git
!git clone https://github.com/barquerosanchezdiegoarmando/econsimulation.git
%cd econsimulation

Uso y explicación de las funciones disponibles

Para ello emplearemos el siguiente ejercicio Microeconómico.

Captura

Para confirmar que la elección del consumidor es 120,20 del bien 1 y el bien 2 respectivamente, utilizaremos la librería econsimulation y la función max_utilidad_cobb_douglas(alpha,beta,m,p1,p2)

max_utilidad_cobb_douglas()

Primeramente llamamos a la librería y le ponemos el pseudonimo "es" por practicidad.

import econsimulation as es

A continuación llamamos a la librería por su pseudonimo "es" y utilizamos la función max_utilidad_cobb_douglas() Input

es.max_utilidad_cobb_douglas(alpha=2,beta=1,m=180,p1=1,p2=3)

Explicación de los parámetros

  • alpha: Exponente asociacido al bien 1
  • beta: Exponente asociado al bien 2
  • m: Presupuestos
  • p1: Precio del bien 1
  • p2: Precio del bien 2

Output

La canasta de bienes que maximiza la utilidad de consumidor es ( 119.99995118859513 , 20.000016270468286 ), con U = 287999.99999985704

curva_indiferencia_tangente()

Primero vamos a crear dos variables que para el ejemplo las nombraremos "x1_vex" y "x2_vec", llamamos a la librería por su pseudonimo "es" y utilizamos la función curva_indiferencia_tangente(). Lo que estamos guardando en las variables son los pares ordenados que forman a la curva de indiferencia que maximiza la utilidad del consumidor y que es tangente a la RMS Input

x1_vec,x2_vec = es.curva_indiferencia_tangente(y1=120,y2=20,alpha=2,beta=1,N=1000,x2_max=60)

Explicación de los parámetros

  • y1: Cantidad elejida del bien 1
  • y2: Cantidad elejida del bien 2
  • alpha: Exponente asociado al bien 1
  • beta: Exponente asociado al bien 2
  • N: Números necesarios para graficar, recomendado "1000"
  • x2_max: Máxima cantidad que el consumidor/productor, se obtiene de dividir m/p2

Si gustas ver lo que se guarda en las variables creadas, puedes colocarlas en un dataframe y ver la tabla Input

import matplotlib.pyplot as pltr
import pandas as pd

df= pd.DataFrame([x1_vec, x2_vec])
print(df)

Output Captura

Genial! Ahora vamos a graficarlo adecuadamente como en los libros de Microeconomía(Varian, Pearson etc...) para ello utilizaremos la siguiente función.

graficar_indiferencia()

Es una función que emplea los datos del ejercicio y las variables x1_vec y x2_vec.

Input

es.graficar_indiferencia(x_1=120,x_2=20,m=180,p1=1,p2=3,x1_vec=x1_vec,x2_vec=x2_vec)

Explicación de los parámetros

  • x_1: Cantidad que maximiza la utilidad del bien 1
  • x_2: Cantidad que maximiza la utilidad del bien 2
  • m: Presupuesto
  • p1: Precio del bien 1
  • p2: Precio del bien 2
  • x1_vec: Vector del bien 1
  • x2_vec: Vector del bien 2

Output

descarga

Ahora si quisieramos ver el epsilon dado un cambio en alguna de las condiciones iniciales, entiéndase presupuesto, precios, preferencias.

descarga

Primeramente debemos realizar la maximizamización de la utilidad dado el cambio en el precio del bien 1.

Input

es.max_utilidad_cobb_douglas(alpha=2,beta=1,m=180,p1=2,p2=3)

Output

La canasta de bienes que maximiza la utilidad de consumidor es ( 59.99999778305689 , 20.00000147796207 ), con U = 71999.9999999997

Una vez obtenido el resultado del par ordenado que maximiza la utilidad debemos obtener los vectores de la curva de indiferencia tangente a la RMS. Para ello emplearemos la función de curva_indiferencia_tangente() para encontrar a la curva de indiferencia prima.

Input

x1_vec_prima,x2_vec_prima = es.curva_indiferencia_tangente(y1=60,y2=20,alpha=2,beta=1,N=1000,x2_max=60)

Ya teniendo lo anterior, emplearemos la siguiente función que es una ampliación de graficar_indiferencia()

graficar_2_indiferencias()

Input

es.graficar_2_indiferencias(x_1=120,x_2=20,x_1_prima=60,x_2_prima=20,m=180,m_prima=180,p1=1,p2=3,p1_prima=2,p2_prima=3,x1_vec=x1_vec,x2_vec=x2_vec,x1_vec_prima=x1_vec_prima,x2_vec_prima=x2_vec_prima)

Importante aclaración, en caso de que alguna cosa no cambie entonces el dato original debe mantenerse para que el grafico se realice de forma adecuada.

Explicación de los parámetros

  • x_1: Cantidad que maximiza la utilidad del bien 1 originalmente
  • x_2: Cantidad que maximiza la utilidad del bien 2 originalmente
  • x_1_prima: Cantidad que maximiza la utilidad del bien 1 post cambio
  • x_2_prima: Cantidad que maximiza la utilidad del bien 2 post cambio
  • m: Presupuesto original
  • m_prima: Presupuesto post cambio
  • p1: Precio del bien 1
  • p2: Precio del bien 2
  • p1_prima: Precio del bien 1 post cambio
  • p2_prima: Precio del bien 2 post cambio
  • x1_vec: Vector del bien 1 original
  • x2_vec: Vector del bien 2 original
  • x1_vec_prima: Vector del bien 1 post cambio
  • x2_vec_prima: Vector del bien 2 post cambio

Output

Captura

Bibliografía:

Universidad de Coppenaghen material NumeEcon: https://numeconcopenhagen.netlify.app/lectures/ Cristian Camilo Moreno - Ejercicio de teoría del consumidor: https://ccamilocristian.github.io/posts/optimizacion_teoria_consumidor/

License

MIT

econsimulation's People

Contributors

barquerosanchezdiegoarmando avatar

Watchers

 avatar

Forkers

gabrielrg17

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.