Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Sobre Python programa para economistas, Resúmenes de Economía

Un alcance sobre la herramienta Python para los estudiantes de economía.

Tipo: Resúmenes

2019/2020

Subido el 28/10/2020

ana-milagros-chiroque-monja
ana-milagros-chiroque-monja 🇵🇪

10 documentos

1 / 10

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
001 Sobre Python
September 1, 2020
Programación Python para Economía y Finanzas
Autores:
Thomas J. Sargent
John Stachurski
1 Sobre Python
“Python ha obtenido suficiente grado de armas para que ya no bajemos a R. Lo siento, gente R.
Solía ser uno de ustedes, pero ya no descendemos a R. - Chris Wiggins
1.1 Visión general
En esta conferencia lo haremos
esbozar qué es Python
mostrar algunas de sus habilidades
compárarlo con otros idiomas.
En esta etapa, no es nuestra intención hacer que intentes replicar todo lo que ves.
Trabajaremos en lo que sigue a un ritmo lento más adelante en la serie de conferencias.
Nuestro único objetivo para esta conferencia es darle una idea de lo que es Python y de lo que
puede hacer.
1.2 ¿Qué es Python?
Python es un lenguaje de programación de propósito general concebido en 1989 por el pro-
gramador holandés Guido van Rossum.
Python es gratuito y de código abierto, con un desarrollo coordinado a través de Python
Software Foundation .
Python ha experimentado una rápida adopción en la última década y ahora es uno de los
lenguajes de programación más populares.
1.2.1 Usos comunes
Python es un lenguaje de uso general que se usa en casi todos los dominios de aplicación, como
comunicaciones
1
pf3
pf4
pf5
pf8
pf9
pfa

Vista previa parcial del texto

¡Descarga Sobre Python programa para economistas y más Resúmenes en PDF de Economía solo en Docsity!

001 Sobre Python

September 1, 2020

Programación Python para Economía y Finanzas

Autores:

  • Thomas J. Sargent
  • John Stachurski

1 Sobre Python

“Python ha obtenido suficiente grado de armas para que ya no bajemos a R. Lo siento, gente R. Solía ser uno de ustedes, pero ya no descendemos a R.” - Chris Wiggins

1.1 Visión general

En esta conferencia lo haremos

  • esbozar qué es Python
  • mostrar algunas de sus habilidades
  • compárarlo con otros idiomas.

En esta etapa, no es nuestra intención hacer que intentes replicar todo lo que ves.

Trabajaremos en lo que sigue a un ritmo lento más adelante en la serie de conferencias.

Nuestro único objetivo para esta conferencia es darle una idea de lo que es Python y de lo que puede hacer.

1.2 ¿Qué es Python?

  • Python es un lenguaje de programación de propósito general concebido en 1989 por el pro- gramador holandés Guido van Rossum.
  • Python es gratuito y de código abierto, con un desarrollo coordinado a través de Python Software Foundation.
  • Python ha experimentado una rápida adopción en la última década y ahora es uno de los lenguajes de programación más populares.

1.2.1 Usos comunes

Python es un lenguaje de uso general que se usa en casi todos los dominios de aplicación, como

  • comunicaciones
  • desarrollo web
  • CGI e interfaces gráficas de usuario
  • desarrollo de juegos
  • multimedia, procesamiento de datos, seguridad, etc., etc., etc.

Utilizado ampliamente por los servicios de Internet y las empresas de alta tecnología, incluidos

  • Google
  • Dropbox
  • Reddit
  • Youtube
  • Walt Disney Animation.

Python es muy amigable para principiantes y a menudo se usa para enseñar informática y pro- gramación.

Por razones que discutiremos, Python es particularmente popular dentro de la comunidad científica con usuarios que incluyen la NASA, el CERN y prácticamente todas las ramas de la academia.

También está reemplazando herramientas familiares como Excel en los campos de finanzas y banca.

1.2.2 Popularidad relativa

La siguiente tabla, producida usando Stack Overflow Trends, muestra una medida de la popularidad relativa de Python

La figura indica no solo que Python se usa ampliamente, sino también que la adopción de Python se ha acelerado significativamente desde 2012.

Sospechamos que esto se debe al menos en parte a la adopción en el dominio científico, particular- mente en campos de rápido crecimiento como la ciencia de datos.

Por ejemplo, la popularidad de los pandas, una biblioteca para el análisis de datos con Python , ha explotado, como se ve aquí.

(La ruta de tiempo correspondiente para MATLAB se muestra para comparación)

Tenga en cuenta que los pandas despegan en 2012, que es el mismo año en que vemos que la popularidad de Python comienza a aumentar en la primera figura.

En general, está claro que

  • Python es uno de los lenguajes de programación más populares en todo el mundo.
  • Python es una herramienta importante para la informática científica, que representa una parte cada vez mayor del trabajo científico en todo el mundo.

1.2.3 Características

Python es un lenguaje de alto nivel adecuado para un desarrollo rápido.

Tiene un lenguaje central relativamente pequeño compatible con muchas bibliotecas.

Otras características de Python :

  • Se admiten varios estilos de programación (de procedimiento, orientado a objetos, funcional, etc.)

2: array([-3.14159265, -3.07812614, -3.01465962, -2.9511931 , -2.88772658, -2.82426006, -2.76079354, -2.69732703, -2.63386051, -2.57039399, -2.50692747, -2.44346095, -2.37999443, -2.31652792, -2.2530614 , -2.18959488, -2.12612836, -2.06266184, -1.99919533, -1.93572881, -1.87226229, -1.80879577, -1.74532925, -1.68186273, -1.61839622, -1.5549297 , -1.49146318, -1.42799666, -1.36453014, -1.30106362, -1.23759711, -1.17413059, -1.11066407, -1.04719755, -0.98373103, -0.92026451, -0.856798 , -0.79333148, -0.72986496, -0.66639844, -0.60293192, -0.53946541, -0.47599889, -0.41253237, -0.34906585, -0.28559933, -0.22213281, -0.1586663 , -0.09519978, -0.03173326, 0.03173326, 0.09519978, 0.1586663 , 0.22213281, 0.28559933, 0.34906585, 0.41253237, 0.47599889, 0.53946541, 0.60293192, 0.66639844, 0.72986496, 0.79333148, 0.856798 , 0.92026451, 0.98373103, 1.04719755, 1.11066407, 1.17413059, 1.23759711, 1.30106362, 1.36453014, 1.42799666, 1.49146318, 1.5549297 , 1.61839622, 1.68186273, 1.74532925, 1.80879577, 1.87226229, 1.93572881, 1.99919533, 2.06266184, 2.12612836, 2.18959488, 2.2530614 , 2.31652792, 2.37999443, 2.44346095, 2.50692747, 2.57039399, 2.63386051, 2.69732703, 2.76079354, 2.82426006, 2.88772658, 2.9511931 , 3.01465962, 3.07812614, 3.14159265])

3: array([-1. , -0.99798668, -0.99195481, -0.9819287 , -0.9679487 , -0.95007112, -0.92836793, -0.90292654, -0.87384938, -0.84125353, -0.80527026, -0.76604444, -0.72373404, -0.67850941, -0.63055267, -0.58005691, -0.52722547, -0.47227107, -0.41541501, -0.35688622, -0.29692038, -0.23575894, -0.17364818, -0.1108382 , -0.04758192, 0.01586596, 0.07924996, 0.14231484, 0.20480667, 0.26647381, 0.32706796, 0.38634513, 0.44406661, 0.5 , 0.55392006, 0.60560969, 0.65486073, 0.70147489, 0.74526445, 0.78605309, 0.82367658, 0.85798341, 0.88883545, 0.91610846, 0.93969262, 0.95949297, 0.97542979, 0.98743889, 0.99547192, 0.99949654, 0.99949654, 0.99547192, 0.98743889, 0.97542979, 0.95949297, 0.93969262, 0.91610846, 0.88883545, 0.85798341, 0.82367658, 0.78605309, 0.74526445, 0.70147489, 0.65486073, 0.60560969, 0.55392006, 0.5 , 0.44406661, 0.38634513, 0.32706796, 0.26647381, 0.20480667, 0.14231484, 0.07924996, 0.01586596, -0.04758192, -0.1108382 , -0.17364818, -0.23575894, -0.29692038, -0.35688622, -0.41541501, -0.47227107, -0.52722547, -0.58005691, -0.63055267, -0.67850941, -0.72373404, -0.76604444, -0.80527026, -0.84125353, -0.87384938, -0.90292654, -0.92836793, -0.95007112, -0.9679487 , -0.9819287 , -0.99195481, -0.99798668, -1. ])

4: array([-1.22464680e-16, -6.34239197e-02, -1.26592454e-01, -1.89251244e-01, -2.51147987e-01, -3.12033446e-01, -3.71662456e-01, -4.29794912e-01, -4.86196736e-01, -5.40640817e-01, -5.92907929e-01, -6.42787610e-01, -6.90079011e-01, -7.34591709e-01, -7.76146464e-01, -8.14575952e-01, -8.49725430e-01, -8.81453363e-01, -9.09631995e-01, -9.34147860e-01, -9.54902241e-01, -9.71811568e-01, -9.84807753e-01, -9.93838464e-01, -9.98867339e-01, -9.99874128e-01, -9.96854776e-01, -9.89821442e-01, -9.78802446e-01, -9.63842159e-01, -9.45000819e-01, -9.22354294e-01, -8.95993774e-01, -8.66025404e-01, -8.32569855e-01, -7.95761841e-01, -7.55749574e-01, -7.12694171e-01, -6.66769001e-01, -6.18158986e-01, -5.67059864e-01, -5.13677392e-01, -4.58226522e-01, -4.00930535e-01, -3.42020143e-01, -2.81732557e-01, -2.20310533e-01, -1.58001396e-01, -9.50560433e-02, -3.17279335e-02, 3.17279335e-02, 9.50560433e-02, 1.58001396e-01, 2.20310533e-01, 2.81732557e-01, 3.42020143e-01, 4.00930535e-01, 4.58226522e-01, 5.13677392e-01, 5.67059864e-01, 6.18158986e-01, 6.66769001e-01, 7.12694171e-01, 7.55749574e-01, 7.95761841e-01, 8.32569855e-01, 8.66025404e-01, 8.95993774e-01, 9.22354294e-01, 9.45000819e-01, 9.63842159e-01, 9.78802446e-01, 9.89821442e-01, 9.96854776e-01, 9.99874128e-01, 9.98867339e-01, 9.93838464e-01, 9.84807753e-01, 9.71811568e-01, 9.54902241e-01, 9.34147860e-01, 9.09631995e-01, 8.81453363e-01, 8.49725430e-01, 8.14575952e-01, 7.76146464e-01, 7.34591709e-01, 6.90079011e-01, 6.42787610e-01, 5.92907929e-01, 5.40640817e-01, 4.86196736e-01, 4.29794912e-01, 3.71662456e-01, 3.12033446e-01, 2.51147987e-01, 1.89251244e-01, 1.26592454e-01, 6.34239197e-02, 1.22464680e-16])

5: b @ c

El número que ve aquí puede variar ligeramente, pero es esencialmente cero. (Para versiones anteriores de Python y NumPy , debe usar la función np.dot) La biblioteca SciPy está construida sobre NumPy y proporciona funcionalidad adicional. Por ejemplo, calculemos ￿^2 − 2 (z) · dz dónde es la densidad normal estándar

7: from scipy.stats import norm from scipy.integrate import quad

￿ = norm() value, error = quad(￿.pdf, -2, 2) # Integrar usando el valor de la cuadratura ␣ ↪→ gaussiana value

SciPy incluye muchas de las rutinas estándar utilizadas en

[11]:

x^2 + 2xy + y^2 Resolver polinomios

[12]: from sympy import solve

solve(x*2 + 3x + 2)

[12]: [-2, -1]

[13]: solve(x**2 + x + 2)

[13]: [-1/2 - sqrt(7)I/2, -1/2 + sqrt(7)I/2]

y calcular límites, derivadas e integrales

14: from sympy import limit, sin, diff

limit(1 / x, x, 0)

15: limit((x+2)**2, x, 0)

16: limit(sin(x) / x, x, 0)

17: diff(sin(x), x)

La belleza de importar esta funcionalidad a Python es que estamos trabajando dentro de un lenguaje de programación completo. Podemos crear fácilmente tablas de derivados, generar resultados de LaTeX, agregar ese resultado a las figuras, etc.

1.3.4 Estadísticas Las bibliotecas de estadísticas y manipulación de datos de Python han mejorado rápidamente en los últimos años.

Pandas Una de las bibliotecas más populares para trabajar con datos es pandas. Pandas es rápido, eficiente, flexible y bien diseñado. Aquí hay un ejemplo simple, usando algunos datos ficticios generados con la excelente funcionalidad random de Numpy.

[20]: import pandas as pd np.random.seed(1234)

data = np.random.randn(5, 2) # 5x2 matriz de N (0, 1) sorteos aleatorios dates = pd.date_range('28/12/2010', periods=5)

df = pd.DataFrame(data, columns=('precio', 'weight'), index=dates) print(df)

precio weight 2010-12-28 0.471435 -1. 2010-12-29 1.432707 -0. 2010-12-30 -0.720589 0. 2010-12-31 0.859588 -0. 2011-01-01 0.015696 -2.

21: precio 0. weight -0. dtype: float

1.3.5 Otras bibliotecas de estadísticas útiles

  • statsmodels - varias rutinas estadísticas
  • scikit-learn : aprendizaje automático en Python (patrocinado por Google, entre otros)
  • pyMC - para análisis de datos bayesianos
  • análisis bayesiano de Pystan basado en stan

1.3.6 Redes y Gráficos Python tiene muchas bibliotecas para estudiar gráficos. Un ejemplo bien conocido es NetworkX. Sus características incluyen, entre muchas otras cosas:

  • algoritmos gráficos estándar para analizar redes
  • trazar rutinas Aquí hay un código de ejemplo que genera y traza un gráfico aleatorio, con el color del nodo determinado por la longitud de ruta más corta desde un nodo central.

[24]: import networkx as nx import matplotlib.pyplot as plt % matplotlib inline np.random.seed(1234)

Ver también

  • Amazon Elastic Compute Cloud
  • El Google App Engine (Python, Java, PHP o Go)
  • Pythonanywhere
  • Sagemath Cloud

1.3.8 Procesamiento Paralelo Además de las opciones de computación en la nube enumeradas anteriormente, es posible que desee considerar

  • Computación paralela a través de clústeres de IPython.
  • La interfaz Starcluster para EC2 de Amazon.
  • Programación de GPU a través de PyCuda, PyOpenCL, Theano o similar.

1.3.9 Otros desarrollos Hay muchos otros desarrollos interesantes con la programación científica en Python. Algunos ejemplos representativos incluyen

  • Jupyter: Python en su navegador con celdas de código interactivas, imágenes incrustadas y otras características útiles.
  • Numba: ¡haga que Python se ejecute a la misma velocidad que el código de máquina nativo!
  • Blaze: una generalización de NumPy.
  • PyTables: gestiona grandes conjuntos de datos.
  • CVXPY: optimización convexa en Python.

1.4 Aprende más

  • Explore algunos proyectos de Python en GitHub.
  • Lea más sobre la historia de Python y su creciente popularidad.
  • Eche un vistazo a algunos de los cuadernos Jupyter que la gente ha compartido sobre diversos temas científicos.
  • Visite el índice del paquete Python.
  • Vea algunas de las preguntas que la gente hace sobre Python en Stackoverflow.
  • Manténgase al día sobre lo que sucede en la comunidad de Python con el subreddit de Python.

[ ]: