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.
getwd() list.files() library(readxl)
Bancolombia <- read_excel(“Bancolombia.xlsx”)
head(Bancolombia)
library(readxl)
library(tseries)
library(forecast)
Bancolombia <- read_excel("Bancolombia.xlsx")
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
plot(p_ts,
main = "Retornos Logarítmicos de Bancolombia",
ylab = "Retorno",
xlab = "Tiempo")
acf(p_ts)
pacf(p_ts)
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
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
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
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
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
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
AIC(m1,m2,m3,m4)
## df AIC
## m1 3 -685.2982
## m2 3 -685.0417
## m3 4 -686.3343
## m4 6 -692.7034
BIC(m1,m2,m3,m4)
## df BIC
## m1 3 -676.8861
## m2 3 -676.6297
## m3 4 -675.1182
## m4 6 -675.8793
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.