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
<- read_xlsx("Data/Stock_Returns_1931_2002.xlsx",
SReturns sheet = 1,
col_types = "numeric")
Se continua convirtiendo los datos en un objeto de clase ts.
# convertir los datos en un objeto ts
<- ts(SReturns[, 3:4],
StockReturns 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)
<- dynlm(ExReturn ~ L(ExReturn),
SR_AR1 data = StockReturns, start = c(1960, 1), end = c(2002, 12))
# AR(2)
<- dynlm(ExReturn ~ L(ExReturn) + L(ExReturn, 2),
SR_AR2 data = StockReturns, start = c(1960, 1), end = c(2002, 12))
# AR(4)
<- dynlm(ExReturn ~ L(ExReturn) + L(ExReturn, 1:4),
SR_AR4 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
<- list(sqrt(diag(sandwich(SR_AR1))),
rob_se 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-1 | 0.050 | 0.053 | 0.054 |
(0.051) | (0.051) | (0.051) | |
excess returnt-2 | -0.053 | ||
(0.048) | |||
excess returnt-3 | |||
excess returnt-4 | -0.054 | ||
(0.048) | |||
Intercept | 0.009 | ||
(0.050) | |||
L(ExReturn, 1:4)4 | -0.016 | ||
(0.047) | |||
Constant | 0.312 | 0.328* | 0.331 |
(0.197) | (0.199) | (0.202) | |
Observations | 516 | 516 | 516 |
Adjusted R2 | 0.001 | 0.001 | -0.002 |
Residual Std. Error | 4.334 (df = 514) | 4.332 (df = 513) | 4.340 (df = 511) |
F Statistic | 1.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.