Introducción

En este documento se analiza el comportamiento de los retornos logarítmicos de la acción de Bancolombia mediante modelos ARIMA. Se evalúa la estacionariedad de la serie, se identifican posibles estructuras autorregresivas y de medias móviles, y se comparan diferentes especificaciones utilizando los criterios AIC y BIC.

Carga de datos

getwd() list.files() library(readxl)

Bancolombia <- read_excel(“Bancolombia.xlsx”)

head(Bancolombia)

library(readxl)
library(tseries)
library(forecast)

Bancolombia <- read_excel("Bancolombia.xlsx")

Preparación de los datos

precio <- Bancolombia[[1]]

retornos <- diff(log(precio))
retornos <- na.omit(retornos)

p_ts <- ts(retornos, start = c(2023,2), frequency = 252)

summary(p_ts)
##       Min.    1st Qu.     Median       Mean    3rd Qu.       Max. 
## -0.0445986 -0.0077328  0.0000000  0.0009795  0.0098386  0.0485532

Gráfico de la serie

plot(p_ts,
     main = "Retornos Logarítmicos de Bancolombia",
     ylab = "Retorno",
     xlab = "Tiempo")

Función de Autocorrelación (ACF)

acf(p_ts)

Función de Autocorrelación Parcial (PACF)

pacf(p_ts)

Prueba de Estacionariedad

adf.test(p_ts)
## Warning in adf.test(p_ts): p-value smaller than printed p-value
## 
##  Augmented Dickey-Fuller Test
## 
## data:  p_ts
## Dickey-Fuller = -5.644, Lag order = 4, p-value = 0.01
## alternative hypothesis: stationary

Modelo ARIMA(1,0,1)

modelo1 <- arima(p_ts, order = c(1,0,1))

modelo1
## 
## Call:
## arima(x = p_ts, order = c(1, 0, 1))
## 
## Coefficients:
##           ar1     ma1  intercept
##       -0.9997  0.9943     0.0010
## s.e.   0.0014  0.0115     0.0013
## 
## sigma^2 estimated as 0.0001954:  log likelihood = 347.17,  aic = -686.33

Diagnóstico de Residuos

checkresiduals(modelo1)

## 
##  Ljung-Box test
## 
## data:  Residuals from ARIMA(1,0,1) with non-zero mean
## Q* = 27.948, df = 22, p-value = 0.1774
## 
## Model df: 2.   Total lags used: 24

Selección Automática de Modelo

modelo_auto <- auto.arima(
  p_ts,
  stepwise = FALSE,
  approximation = FALSE
)

modelo_auto
## Series: p_ts 
## ARIMA(0,0,5) with zero mean 
## 
## Coefficients:
##           ma1      ma2     ma3     ma4      ma5
##       -0.1621  -0.2136  0.0139  0.0764  -0.3580
## s.e.   0.0935   0.0863  0.1026  0.0946   0.1045
## 
## sigma^2 = 0.0001879:  log likelihood = 352.35
## AIC=-692.7   AICc=-691.97   BIC=-675.88

Diagnóstico del Modelo Seleccionado

checkresiduals(modelo_auto)

## 
##  Ljung-Box test
## 
## data:  Residuals from ARIMA(0,0,5) with zero mean
## Q* = 13.278, df = 19, p-value = 0.8241
## 
## Model df: 5.   Total lags used: 24

Comparación de Modelos

m1 <- arima(p_ts, c(0,0,1))
m2 <- arima(p_ts, c(1,0,0))
m3 <- arima(p_ts, c(1,0,1))
m4 <- modelo_auto

Criterio AIC

AIC(m1,m2,m3,m4)
##    df       AIC
## m1  3 -685.2982
## m2  3 -685.0417
## m3  4 -686.3343
## m4  6 -692.7034

Criterio BIC

BIC(m1,m2,m3,m4)
##    df       BIC
## m1  3 -676.8861
## m2  3 -676.6297
## m3  4 -675.1182
## m4  6 -675.8793

Conclusiones

La serie de retornos presenta estacionariedad según la prueba Dickey-Fuller aumentada. Los modelos ARIMA estimados fueron comparados mediante los criterios AIC y BIC. El modelo con menor valor en estos criterios y residuos adecuadamente comportados se considera el más apropiado para describir la dinámica de los retornos de la acción de Bancolombia.