Saltar al contenido principal

Una publicación etiquetados con "matplotlib"

Ver Todas las Etiquetas

· 3 min de lectura
Darvin Cotrina

Comparar series de tiempo con pandas

Comparar series de tiempo con pandas, de algunas acciones de las principales empresas tecnológicas.

1. Importar librerías

Para este ejercicio, se necesitara de las siguientes librerías:

pip install pandas
pip install matplotlib
pip install yfinance

Usaremos la librería yfinance para obtener los datos de las acciones de las empresas tecnológicas, hay otras librearías que también pueden ayudar con esta tarea como pandas_datareader o quandl.

import pandas as pd
import matplotlib.pyplot as plt
import yfinance as yf

2. Obtener datos

Para este ejemplo, se obtendrán los datos de las acciones de las empresas tecnológicas desde el 2015 de google, amazon, facebook, apple y microsoft.

tickets = ['GOOG', 'AMZN', 'META', 'AAPL', 'MSFT']
start_date = '2015-01-01'
end_date = '2023-01-01'

df = yf.download(tickets, start=start_date, end=end_date)['Adj Close']
df.head()
[*********************100%***********************]  5 of 5 completed
AAPLAMZNGOOGMETAMSFT
Date
2015-01-0224.53176315.426026.16865378.44999740.620667
2015-01-0523.84066615.109525.62315277.19000240.247116
2015-01-0623.84291314.764525.02928276.15000239.656406
2015-01-0724.17723814.921024.98640176.15000240.160259
2015-01-0825.10618415.023025.06518478.18000041.341694

3. Normalizar datos

Para poder comparar los datos vamos a normalizarlos, para esto se usará la siguiente fórmula:

$$ \frac{P_t}{P_0} * 100 $$ Donde PtP_t es el precio en el tiempo tt y P0P_0 es el precio inicial.

normalized_df = df / df.iloc[0] * 100
normalized_df.head()
AAPLAMZNGOOGMETAMSFT
Date
2015-01-02100.000000100.000000100.000000100.000000100.000000
2015-01-0597.18284797.94827197.91543898.39388899.080393
2015-01-0697.19200695.71178595.64604397.06820297.626183
2015-01-0798.55483496.72630595.48217997.06820298.866569
2015-01-08102.34154097.38752895.78323899.655836101.775026

4. Graficar datos

Por ultimo grafiaremos los datos para poder compararlos y ver como se han comportado en el tiempo.

normalized_df.plot(figsize=(15, 10))
plt.show()

5. Conclusiones

Como hemos podido ver hacer una comparación de series de tiempo es muy sencillo con pandas, y nos permite ver como se han comportado las acciones de las empresas tecnológicas en los últimos años, las concluciones respecto al comportamiento de las acciones de las empresas tecnológicas se las dejo a ustedes.