Python para Ingeniería Comercial¶
Profesor: Félix Ordóñez
Mail: felix.ordonez@usach.cl
Horario: Martes bloque 2 y 3.
Programa¶
Objetivo
Este curso tiene por objetivo introducir un marco conceptual y práctico de programación en Python
, junto con aplicaciones en economía y ciencia de datos. Este lenguaje fue desarrollado en 1989 en base a una programación multipropósito, de fácil legibilidad de código, gratuito y de código abierto. A partir de la última década, especialmente desde que se popularizó la librería pandas, el uso de este lenguaje incrementó ampliamente, donde se ha transversalizado en diferentes disciplinas como Data Science, Economía, Astronomía o Inteligencia Artificial, en contraposición de otros lenguajes enfocados sólo en cómputo numérico o estadístico.
Como Python
es de código abierto, el desarrollo de nuevo contenido es constante y a gran velocidad, por ejemplo esto ha generado mecanismos para interactuar con otros lenguajes como R, SQL, C++ o Dynare++, se han creado librerías como Numba que permite mejorar sustancialmente el rendimiento de funciones y loops, o librerías dedicadas al Machine Learning como Keras, algo que sin duda ha impulsado su masificación en el mundo académico, el sector público y privado.
A lo largo del semestre se abordarán métodos básicos de programación, la utilización de librerías científicas, visualización y análisis de datos, junto con aplicaciones estadísticas y económicas. Al final del curso se espera que los estudiantes obtengan un nivel intermedio-avanzado en el manejo de Python
.
Requerimientos
No es necesario tener conocimientos previos de programación.
Evaluaciones
Actividades cortas: 30%
Actividades intermedias: 30%
Trabajo en grupo: 40%
Informe 1: 10%
Informe 2: 10%
Presentación: 20%
Contenidos
Introducción a Python:
Introducción a un lenguaje de propósito general.
Configuración de Anaconda y Jupyterlab.
Utilizando Python
Aprendiendo lo básico: instalación de librerías, diferentes types y formatos, como utilizar listas, diccionarios y loops.
Funciones: son un bloque de código que puede (o no) recibir un input y mediante una sentencia reaiza una tarea y/o puede devolver un valor. Acá se aprenderá cómo se utilizan, argumentos de entrada y de salida, funciones anidadas, entre otros.
Clases y objetos: La programación orientada a objetos permite administrar el código mediante métodos y estructuras lógicas. En python se utilizan clases para estructurar el código creando un nuevo tipo de objeto. Analizaremos para qué sirven las clases y cómo se utilizan.
Utilización de datos con pandas: esta librería permite analizar bases de datos estructuradas. Se trabajará con bases relacionales como SQL, series de tiempo y matrices.
Introducción al manejo de texto: Una gran virtud de python es la facilidad con que se puede manejar archivos de texto. Para esto, se aprenderá cómo manejar bases de texto, depuración de datos, stopwords, y creación de word clouds.
Visualización de datos: manejo de Matplotlib y Plotly para crear diferentes tipos de gráficos, tablas y paneles dinámicos.
Optimización de código: uso de numba.
Aplicaciones
Oferta y demanda: solución de sistema de ecuaciones lineales.
OLS: realización de una regresión lineal para una ecuación de Mincer mediante datos de empleo chilenos.
Webscraping.
Modelo AR(1): programación de un modelo autoregresivo, gráficos de autocorrelación, persistencia del modelo.
Modelo de crecimiento de Solow: simulación del modelo de crecimiento, gráficos de resultados y análisis de diferentes paramterizaciones.
Colusión: programación de un modelo de cournot, funciones de demanda, costos y benficios, solución del equilibrio y gráficos.
Modelo de Markov-Switching: introducción al modelo de Hamilton (1989) y aplicación para el PIB de Chile.
Overlapping Generations Model (OLG): solución del estado estacionario de un modelo OLG, gráficos de capital y trabajo según generaciones.
Dynare++ y modelos DSGE: instalación de Dynare++ y utilización mediante jupyter, solución de modelos nuevo keynesianos.
Referencias
Aprende a instalar Anaconda en Windows, Mac o Linux. Acá puedes revisar la documentación de Conda en Windows, Mac o Linux.
Índice de paquetes e instalación.
Para introducirte en Jupyter.
Acá puedes encontrar un completo tutorial de Python.
Revisa las principales librerías que se usarán en el curso: NumPy, Pandas, Numba, Matplotlib, Plotly y SciPy.
Para una amplia programación en economía y finanzas usando Python está QuantEcon.
Proyectos de Python en GitHub.
Historia de Python y su desarrollo.
Stackoverflow tiene un gran foro de consultas y respuestas en materia de programación.
import pandas as pd
asdasd
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-1-4d01f3610a36> in <module>
1 import pandas as pd
----> 2 asdasd
NameError: name 'asdasd' is not defined