Dolar MEP

Cálculo de cotización de dólares MEP para los bonos AL29, AL30, AL35, GD29, GD30, GD35 y GD38

Resumen

NOTA: Se muestran algunas generaciones de columnas hechas en python.

Data Original

Gŕafico con las columnas _orig, que poseen los datos originales obtenidos del dataset Financial - Argentina - Sovereign Bonds - Historical Prices - Daily.

Fix data 2021-11-04

Para el día 4/11/2021, hay un pico descendente. Ese valor se observa que no es 0, y parece que sería el valor correcto pero con problemas del caracter de decimales. Se multiplica por 1000 y se grafica para ver si tiene sentido. Esas multiplicaciones se guardan en la columna _fix.

# PYTHON
cols_f = ['AL29_FIX', 'AL30_FIX', 'AL35_FIX', 'GD29_FIX', 'GD30_FIX', 'GD35_FIX', 'GD38_FIX']
df_ora.loc[df_ora['FECHA'] == '2021-11-04', cols_f ] = df_ora.loc[df_ora['FECHA'] == '2021-11-04', cols_f ] * 1000

Los valores representados para la fecha en cuestión, parecen ser "valores razonables", y se los van a usar en los posteriores gráficos. En caso de querer el valor original, usar las columnas _orig.

Fix data 2022-03-09

Para el día 9/3/2022, hay unos valores de las cotizaciones en serie D, que no parecen ser los correctos. Si se arrastran esos valores, va a generar picos erroneos en los cálculos siguientes. Se opta por blanquear los valores para esa fecha en particular, y luego, imputar esos datos faltantes.

Esas operaciones se guardan en las columnas terminadas en d_fix.

# PYTHON
cols_f_d = ['AL29D_FIX', 'AL30D_FIX', 'AL35D_FIX', 'GD29D_FIX', 'GD30D_FIX', 'GD35D_FIX', 'GD38D_FIX']
df_ora.loc[df_ora['FECHA'] == '2022-03-09', cols_f_d ] = np.nan
df_ora.loc[df_ora['FECHA'] == '2022-03-09', cols_f_d ] = df_ora[cols_f_d].interpolate()

Los valores, aunque no sean los reales, no "rompen" los siguientes gráficos.

Parking de 1 día

Para el parking de 1 día, a la columna de la cotización en pesos, se la desplaza 1 registro a la fecha inmediatamente posterior (shift de 1 para las columnas que se modificaron en el paso anterior). Luego, esas columnas son guardadas con el postfijo _lag1, y son las que posteriormente se van a dividir por las cotizaciónes en dólares.

# PYTHON
cols_l = ['AL29_LAG1', 'AL30_LAG1', 'AL35_LAG1', 'GD29_LAG1', 'GD30_LAG1', 'GD35_LAG1', 'GD38_LAG1']
df_ora[cols_l] = df_ora[cols_f].shift(1)

Cálculo Dolar MEP

Se divide la cotización del bono en pesos, desplazada 1 día, por su cotización en dólares. Serian las columnas _LAG1 / D_ORIG.

# PYTHON
cols_d = ['AL29D_ORIG', 'AL30D_ORIG', 'AL35D_ORIG', 'GD29D_ORIG', 'GD30D_ORIG', 'GD35D_ORIG', 'GD38D_ORIG']
cols_mep = ['AL29_MEP', 'AL30_MEP', 'AL35_MEP', 'GD29_MEP', 'GD30_MEP', 'GD35_MEP', 'GD38_MEP']
df_ora[cols_mep] = df_ora[cols_l].div(df_ora[cols_d].values)

Media móvil de 5 días para las columnas "_MEP"

Media móvil para las cotizaciones de dolares MEP. Se hace un interpolado para imputar algunos datos faltantes en el dataset

# PYTHON
cols_mep_ma = ['AL29_MEP_MA5', 'AL30_MEP_MA5', 'AL35_MEP_MA5', 'GD29_MEP_MA5', 'GD30_MEP_MA5', 'GD35_MEP_MA5', 'GD38_MEP_MA5']
df_ora[cols_mep_ma] = df_ora[cols_mep].interpolate().rolling(window=5).mean()