import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
sns.set()SESIÓN 2. Introducción a Series de Tiempo en Python
Importar los paquetes
Importando la base de datos
raw_csv_data = pd.read_csv("Index2018.csv")
df_comp = raw_csv_data.copy()Análisis Exploratorio
df_comp.head(10)| date | spx | dax | ftse | nikkei | |
|---|---|---|---|---|---|
| 0 | 07/01/1994 | 469.90 | 2224.95 | 3445.98 | 18124.01 |
| 1 | 10/01/1994 | 475.27 | 2225.00 | 3440.58 | 18443.44 |
| 2 | 11/01/1994 | 474.13 | 2228.10 | 3413.77 | 18485.25 |
| 3 | 12/01/1994 | 474.17 | 2182.06 | 3372.02 | 18793.88 |
| 4 | 13/01/1994 | 472.47 | 2142.37 | 3360.01 | 18577.26 |
| 5 | 14/01/1994 | 474.91 | 2151.05 | 3400.56 | 18973.70 |
| 6 | 17/01/1994 | 473.30 | 2115.56 | 3407.83 | 18725.37 |
| 7 | 18/01/1994 | 474.25 | 2130.35 | 3437.01 | 18514.55 |
| 8 | 19/01/1994 | 474.30 | 2132.52 | 3475.15 | 19039.40 |
| 9 | 20/01/1994 | 474.98 | 2098.36 | 3469.99 | 19183.92 |
df_comp| date | spx | dax | ftse | nikkei | |
|---|---|---|---|---|---|
| 0 | 07/01/1994 | 469.900000 | 2224.95 | 3445.980000 | 18124.01 |
| 1 | 10/01/1994 | 475.270000 | 2225.00 | 3440.580000 | 18443.44 |
| 2 | 11/01/1994 | 474.130000 | 2228.10 | 3413.770000 | 18485.25 |
| 3 | 12/01/1994 | 474.170000 | 2182.06 | 3372.020000 | 18793.88 |
| 4 | 13/01/1994 | 472.470000 | 2142.37 | 3360.010000 | 18577.26 |
| ... | ... | ... | ... | ... | ... |
| 6264 | 23/01/2018 | 2839.130362 | 13559.60 | 7731.827774 | 24124.15 |
| 6265 | 24/01/2018 | 2837.544008 | 13414.74 | 7643.428966 | 23940.78 |
| 6266 | 25/01/2018 | 2839.253031 | 13298.36 | 7615.839954 | 23669.49 |
| 6267 | 26/01/2018 | 2872.867839 | 13340.17 | 7665.541292 | 23631.88 |
| 6268 | 29/01/2018 | 2853.528411 | 13324.48 | 7671.533300 | 23629.34 |
6269 rows × 5 columns
df_comp.describe()| spx | dax | ftse | nikkei | |
|---|---|---|---|---|
| count | 6269.000000 | 6269.000000 | 6269.000000 | 6269.000000 |
| mean | 1288.127542 | 6080.063363 | 5422.713545 | 14597.055700 |
| std | 487.586473 | 2754.361032 | 1145.572428 | 4043.122953 |
| min | 438.920000 | 1911.700000 | 2876.600000 | 7054.980000 |
| 25% | 990.671905 | 4069.350000 | 4486.100000 | 10709.290000 |
| 50% | 1233.420000 | 5773.340000 | 5662.430000 | 15028.170000 |
| 75% | 1459.987747 | 7443.070000 | 6304.250000 | 17860.470000 |
| max | 2872.867839 | 13559.600000 | 7778.637689 | 24124.150000 |
df_comp.isna()| date | spx | dax | ftse | nikkei | |
|---|---|---|---|---|---|
| 0 | False | False | False | False | False |
| 1 | False | False | False | False | False |
| 2 | False | False | False | False | False |
| 3 | False | False | False | False | False |
| 4 | False | False | False | False | False |
| ... | ... | ... | ... | ... | ... |
| 6264 | False | False | False | False | False |
| 6265 | False | False | False | False | False |
| 6266 | False | False | False | False | False |
| 6267 | False | False | False | False | False |
| 6268 | False | False | False | False | False |
6269 rows × 5 columns
df_comp.isna().sum()date 0
spx 0
dax 0
ftse 0
nikkei 0
dtype: int64
df_comp.spx.isna().sum()np.int64(0)
df_comp['spx'].isna().sum()np.int64(0)
Construcción Gráfica
import matplotlib.pyplot as pltdf_comp.spx.plot(figsize=(20,5), title = "S&P500 Precios",color='green')
plt.legend()
plt.show()df_comp['ftse'].plot(figsize=(20,5), title = "FTSE100 Prices",color='red')
plt.show()df_comp.spx.plot(figsize=(20,5), title = "S&P500 Prices")
df_comp.ftse.plot(figsize=(20,5), title = "FTSE100 Prices")
plt.title("S&P vs FTSE")
plt.legend()
plt.show()Gráficos QQ (The QQ Plot)
import scipy.statsplt.figure(figsize=(20,6))
scipy.stats.probplot(df_comp['spx'], plot = plt)
plt.title("QQ Plot", size = 40)
plt.show()