15.4 ¿Puede ganarle al mercado? (Parte I)

La teoría de los mercados de capital eficientes establece que los precios de las acciones incorporan toda la información disponible actualmente. Si esta hipótesis se cumple, no debería ser posible estimar un modelo útil para pronosticar los rendimientos futuros de las acciones utilizando información disponible públicamente sobre los rendimientos pasados (esto también se conoce como la hipótesis de eficiencia de forma débil): Si fuera posible pronosticar el mercado, los comerciantes podrían arbitrar; por ejemplo, al confiar en un modelo AR(\(2\)), usarían información que aún no está incluida en el precio, lo que empujaría los precios hasta que el rendimiento esperado sea cero.

Esta sección reproduce los resultados de las estimaciones. Comenzando por importar los datos mensuales desde 1931:1 hasta 2002:12 sobre el exceso de rendimiento de un índice de precios de acciones de base amplia, el índice ponderado por valor CRSP. Los datos son proporcionados como una hoja de Excel que se puede descargar aquí.

# leer datos sobre el rendimiento de las acciones
SReturns <- read_xlsx("Data/Stock_Returns_1931_2002.xlsx",
                      sheet = 1,
                      col_types = "numeric")

Se continua convirtiendo los datos en un objeto de clase ts.

# convertir los datos en un objeto ts
StockReturns <- ts(SReturns[, 3:4], 
                   start = c(1931, 1), 
                   end = c(2002, 12), 
                   frequency = 12)

A continuación, se estiman los modelos AR(\(1\)), AR(\(2\)) y AR(\(4\)) del exceso de rendimientos para el período de tiempo 1960:1 a 2002:12.

# estimar modelos AR:

# AR(1)
SR_AR1 <- dynlm(ExReturn ~ L(ExReturn), 
      data = StockReturns, start = c(1960, 1), end = c(2002, 12))

# AR(2)
SR_AR2 <- dynlm(ExReturn ~ L(ExReturn) + L(ExReturn, 2), 
      data = StockReturns, start = c(1960, 1), end = c(2002, 12))

# AR(4)
SR_AR4 <- dynlm(ExReturn ~ L(ExReturn) + L(ExReturn, 1:4), 
      data = StockReturns, start = c(1960, 1), end = c(2002, 12))

Después de calcular errores estándar robustos, se recopilan los resultados en una tabla generada por stargazer().

# calcular errores estándar robustos
rob_se <- list(sqrt(diag(sandwich(SR_AR1))),
               sqrt(diag(sandwich(SR_AR2))),
               sqrt(diag(sandwich(SR_AR4))))
# generar una tabla usando 'stargazer()'
stargazer(SR_AR1, SR_AR2, SR_AR4,
  title = "Modelos autorregresivos de exceso de rentabilidad de existencias mensuales",
  header = FALSE, 
  model.numbers = F,
  omit.table.layout = "n",
  digits = 3, 
  column.labels = c("AR(1)", "AR(2)", "AR(4)"),
  dep.var.caption  = "Variable dependiente: Rendimientos excesivos en el índice ponderado por valor de CSRP",
  dep.var.labels.include = FALSE,
  covariate.labels = c("$excess return_{t-1}$", "$excess return_{t-2}$", 
                       "$excess return_{t-3}$", "$excess return_{t-4}$", 
                       "Intercept"),
  se = rob_se,
  omit.stat = "rsq") 
Variable dependiente: Rendimientos excesivos en el índice ponderado por valor de CSRP
AR(1)AR(2)AR(4)
excess returnt-10.0500.0530.054
(0.051)(0.051)(0.051)
excess returnt-2-0.053
(0.048)
excess returnt-3
excess returnt-4-0.054
(0.048)
Intercept0.009
(0.050)
L(ExReturn, 1:4)4-0.016
(0.047)
Constant0.3120.328*0.331
(0.197)(0.199)(0.202)
Observations516516516
Adjusted R20.0010.001-0.002
Residual Std. Error4.334 (df = 514)4.332 (df = 513)4.340 (df = 511)
F Statistic1.306 (df = 1; 514)1.367 (df = 2; 513)0.721 (df = 4; 511)

Table 15.1: Modelos autorregresivos de exceso de rentabilidad de existencias mensuales

Los resultados son consistentes con la hipótesis de mercados financieros eficientes: No existen coeficientes estadísticamente significativos en ninguno de los modelos estimados y la hipótesis de que todos los coeficientes son cero no puede rechazarse. \(\bar{R}^2\) es casi cero en todos los modelos e incluso negativo para el modelo AR(\(4\)). Esto sugiere que ninguno de los modelos es útil para pronosticar la rentabilidad de las acciones.