Example: quiz answers

Python para economistas - secmca.org

Python para economistasRandall muchos de los trabajos que realizamos los economistas se hace cada vez m snecesario el uso de lenguajes de programaci n, sea porque los modelos te ricos que desa-rrollamos carecen de soluciones anal ticas, porque el nuevo estimador econom trico quedeseamos emplear no se encuentra a n disponible en un programa con interface gr fica(donde podamos interactuar con el clic de un rat n), o bien porque no es eficiente anali-zar grandes vol menes de datos con hojas de c desean explotar las ventajas de la programaci n para realizar estas tareasprimero deben decidir cu l de los muchos lenguajes de programaci n aprender. Por ejem-plo, los lenguajes R, Python , Julia, Fortran, Gauss, y MATLAB son utilizados en mayoro menor medida por economistas .

Python para economistas RandallRomero-Aguilar1 rromero@secmca.org En muchos de los trabajos que realizamos los economistas se hace cada vez más ...

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Advertisement

Transcription of Python para economistas - secmca.org

1 Python para economistasRandall muchos de los trabajos que realizamos los economistas se hace cada vez m snecesario el uso de lenguajes de programaci n, sea porque los modelos te ricos que desa-rrollamos carecen de soluciones anal ticas, porque el nuevo estimador econom trico quedeseamos emplear no se encuentra a n disponible en un programa con interface gr fica(donde podamos interactuar con el clic de un rat n), o bien porque no es eficiente anali-zar grandes vol menes de datos con hojas de c desean explotar las ventajas de la programaci n para realizar estas tareasprimero deben decidir cu l de los muchos lenguajes de programaci n aprender. Por ejem-plo, los lenguajes R, Python , Julia, Fortran, Gauss, y MATLAB son utilizados en mayoro menor medida por economistas .

2 MATLAB ha sido especialmente popular en este cam-po, y muchas herramientas se han desarrollado para ejecutarse en este programa, entreellasDYNAREeIRIS(para resolver y estimar modelos de equilibrio general estoc sticos,DSGE),CompEcon(para econom a computacional), yEconometrics(para econometr aespacial).A pesar de que Python a n no es tan popular comoMATLAB entre economistas ,ciertamente en a os recientes su popularidad ha crecido enormemente. Por ejemplo, lossiguientes libros usan Python para realizar labores t picas de los economistas : QuantEconde Thomas Sargent y John Stachurski. Economic Dynamics: Theory and Computation, de Stachurski. Python for Econometrics, de Kevin es un lenguaje vers til y f cil de aprender de hechoes muy utilizadoen lasmejores universidades de Estados Unidos para ense ar cursos introductorios de inform -tica.

3 Su sintaxis es muy clara, lo que facilita el desarrollo y mantenimiento del c digo. Debido a que es uno de los lenguajes m s populares entre programadores inform ticos,1 Economista Consultor de la Secretar a Ejecutiva del Consejo Monetario Centroamericano (SECM-CA) y profesor de econom a en la Universidad de Costa Rica (UCR). Doctor en Econom a por la OhioState University (OSU) y Master en Econometr a por la London School of Economics (LSE). Las opi-niones expresadas son las del autor y no necesariamente representan la posici n de la SECMCA, ni delos miembros del m ltiples facilidades para aprenderlo (libros, p ginas de Internet). Es una ex-celente herramienta para ejecutar tareas de c lculos cient ficos (gracias a paquetes comoNumpyyScipy), manejo de datos (pandas), visualizaci n (Matplotlib) y modelaci n eco-nom trica (Statsmodels).

4 Otra ventaja de utilizar Python es que, a diferencia de programas propietarios, Pythony muchos de estos paquetes complementarios son completamente gratuitos. La mejorforma de conseguir Python es a trav s deAnaconda, una distribuci n gratuita que incluyem s de 300 paquetes de gran utilidad en ciencias, matem tica, ingenier a, y an lisis dedatos. Adem s de Python , Anaconda incluye herramientas como IPython (para ejecutarPython de manera interactiva),Jupyter(un editor que permite integrar texto, c digo yresultados en un s lo archivo, excelente para documentar trabajos), Spyder (una interfazgr fica para editar c digo, similar a la interfaz de MATLAB) y Conda (permite instalary actualizar paquetes).

5 Quienes deseen empezar a trabajar en Python deben tener en cuenta dos , actualmente existen dos versiones de Python que no son enteramente compati-bles entre s , la 2 (cuya ltima actualizaci n es la ) y la 3 (actualmente actualizadaa ). En lo personal, recomiendo trabajar con la versi n porque tiene mejoras im-portantes con respecto a la versi n , y adem s la mayor a de los paquetes necesariospara trabajar en aplicaciones t picas de un economista ya han sido portadas a la , aunque Spyder facilita la edici n de c digo, usuarios m s avanzados podr anpreferirPyCharm, un excelente editor de Python cuya versi n Community puede uti-lizarse gratuitamente.

6 Este editor facilita mucho la edici n de programas, ya que cuentacon funciones como autocompletado (especialmente til cuando a n no hemos memori-zado las funciones de Python ), resaltado de sintaxis (muestra palabras claves de colordistinto, para que sea m s f cil entender la l gica del programa escrito), y depurador(para ejecutar parcialmente un programa cuando es necesario encontrar un error).El objetivo de esta nota es ilustrar algunas de las tareas comunes que los economistaspueden ejecutar utilizando Python . Primero, se replican dos modelos de competencia deCournot presentados por Miranda y Fackler (2002) que se resuelven con t cnicas nu-m ricas utilizando el paquete CompEcon- Python 2, el cual est disponible librementeenGithub3.

7 Segundo, se ilustra c mo automatizar la obtenci n de datos de Internet ysu presentaci n en tablas y gr ficos. Tercero, se muestran algunos ejemplos de modeloseconom tricos estimados en paquete fue desarrollado por el autor y est basado precisamente en eltoolbox CompEcon para MATLAB de Miranda y Fackler (2002).3 Los lectores interesados en el tema de econom a computacional encontrar n m s de estos ejemplosen Romero-Aguilar (2016).2 Para cada uno de los problemas que se presentan, se incluye el c digo de Python quelo resuelve, as como breves explicaciones de c mo trabaja este c digo. No obstante, estanota no pretende ense ar a programar en Python , porque como se mencion anterior-mente, existen ya muchos recursos did cticos de gran calidad para este fin, entre ellos elsitio dedesarrolladores de Google, el sitiolearnpython, y varios cursos en l nea igual manera, en los dos primeros ejemplos se presentan concisamente los m todosnum ricos que se implementan en Python , pero se recomienda a los lectores interesadosen este tema consultar los libros de texto de Miranda y Fackler (2002), Judd (1998), yPress, Teukolsky y Brian P.

8 Flannery (2007) (todos ellos disponibles en ingl s).3 Ejemplo 1: Un modelo de Cournot con 2 empresasSuponga que el mercado de un producto est dominado por dos empresas que com-piten entre s . Para este duopolio, la inversa de la funci n de demanda est dada porP(q) =q y ambas empresas tienen costos cuadr ticosC1=12 1q21C2=12 2q22 Las ganancias de las empresas son 1(q1; q2) =P(q1+q2)q1 C1(q1) 2(q1; q2) =P(q1+q2)q2 C2(q2)En un equilibrio de Cournot, cada empresa maximiza sus ganancias tomando comodadas la producci n de la otra empresa. As , debe cumplirse que@ 1(q1; q2)@q1=P(q1+q2) +P (q1+q2)q1 C 1(q1) = 0@ 2(q1; q2)@q2=P(q1+q2) +P (q1+q2)q2 C 2(q2) = 0De tal manera que los niveles de producci n de equilibrio de este mercado viene dadopor la soluci n a este sistema de ecuaciones no linealesf(q1; q2) =[(q1+q2) q1(q1+q2) 1 1q1(q1+q2) q2(q1+q2) 1 2q2]=[00](1)El m todo de NewtonPara encontrar la ra z de la funci n definida en (1) utilizaremos el m todo de general, este m todo se aplica a la funci nf: n!

9 Npara encontrar alg n4valorx tal quef(x ) = 0. Para ello, partimos de un valorx02 ny formamos la recursi nxi+1=xi J 1(xi)f(xi)(2)dondeJ(xi)corresponde al jacobiano defevaluado enx0. En teor a, siguiendo estarecursi nxiconverge ax siempre y cuando la funci nfsea continuamente diferenciabley el valor inicialx0est suficientemente cercano a la ra zx .4N tese que, dependiendo de la funci n, podr a haber m s de una soluci n, o ninguna soluci n el modelo con PythonPrimero, iniciamos una sesi n de Python e , resolver este modelo computacionalmente, es necesario asignar valores a lospar metros, por lo que fijamos los valores = 0:625, 1= 0:6y 2= 0 ([ , ])Las inc gnitas de nuestro problema son los niveles de producci n de cada empresa,q1yq2.

10 Definimos la funci nmarketque nos dice la cantidad total de producci n y elprecio resultante del bien, dado los niveles deq1yq2. N tese que ambas cantidades sonpasadas a esta funci n en el vectorqdefmarket(q):quantity= ()price=quantity**(-alpha)returnprice, quantityLuego, definimos la funci ncournot, la cual retorna una tupla con dos elementos:la funci n objetivo y su jacobiano, ambos evaluados en un par de cantidades contenidasen el vectorq. Para facilitar el c digo, n tese que la funci n (1) puede escribirse m ssucintamente comof(q1; q2) =[P+ (P c1)q1P+ (P c2)q2]=[00]y su jacobiano esJ(q1; q2) =[2P +P q1 c1P +P q1P P q22P +P q2 c2]Si definimos la producci n total comoQ=q1+q2, note adem s queP = PQy queP = ( + 1)P Q5defcournot(q):P, Q=market(q)P1=-alpha*P/QP2=(-alpha-1)*P1 /Qfval=P+(P1-beta)*qfjac= (2*P1+P2*q-beta)+ ( (P1+P2*q))returnfval, fjacA continuaci n, calculamos el equilibrio usando el m todo de Newton (ecuaci n (2))para encontrar la ra z de la funci ncournot.


Related search queries