- Ya sea que seas nuevo en el mercado o un trader experimentado, todos conocemos la frase “Como va enero, así irá el mercado”. ¿Es esto cierto?
- Artículo publicado en Hispatrading Magazine 62.
Extrapolar lo que hace el mercado en el mes de enero, al resto del año, es lo que tradicionalmente se ha llamado el “efecto enero”. Si eso es cierto, 2025 podría ser un año terrible. Pero, como veremos, quizá no siempre sea así.
Solo en 8 de los últimos 24 años el SPY (el ETF del S&P) comenzó con pérdidas. De esas 8 pérdidas en enero, 5 terminaron generando ganancias en los siguientes 11 meses. Cuando enero cerró con pérdidas, no logró predecir correctamente el resto del año en el 62% de los casos.
Sin embargo, hay información interesante que se puede extraer de esto.
SPY (ETF del S&P)
El gráfico 1 muestra los datos usados en este estudio. Los precios son los de fin de mes, desde 2001 hasta 2024. A la derecha en azul (Jan %) se ven los retornos del mes de enero. Junto a eso, aparecen los retornos para el resto del año, desde febrero hasta diciembre. Con ello podemos decir si el resto del año siguió la tendencia de los retornos de enero.
En la parte inferior vemos que 16 de 24 meses fueron rentables en enero. También observamos que 18 de los 24 años fueron rentables (columna azul encabezada como “Year”). Entonces, claramente enero no predice el resto del año. De hecho, la última columna muestra que solo acertó en 16 de los 24 años, la misma cantidad que años con retornos positivos.
Lo que sí destaca es que enero es un mes muy volátil.
Las barras azules en el gráfico 2 representan los retornos de enero. Las barras naranjas representan los retornos mensuales promedio del resto del año. En general, los retornos de enero son mucho más volátiles que los del resto del año y aportan una gran parte del retorno anual.
Entonces, para el SPY, ¿enero predice el resto del año? No. Pero puede aumentar tu ansiedad.
EuroStoxx
¿Representa el S&P los mercados europeos? Aunque Europa tiene sus propios desafíos financieros, la economía estadounidense juega un papel notable. Veamos el EuroStoxx. Para aquellos interesados, el gráfico 3 muestra los valores.
Las estadísticas generales son similares al SPY. Hubo 17 de 24 años con retornos positivos en enero y estos solo acertaron con los retornos anuales en 15 ocasiones. El retorno promedio de enero fue de 0,75%, mejor que el retorno mensual promedio del resto del año de 0,50%, como se muestra en el gráfico 4. Nuevamente, vemos que enero (en azul) fue más volátil que la mayoría de los otros meses.
DAX
El DAX es un índice menos diversificado y tiende a ser más volátil. El gráfico 5 muestra los detalles. Podemos ver que enero tuvo un retorno promedio de 0,71%, similar al EuroStoxx y mejor que el SPY. Además, tuvo 19 de 24 meses rentables en enero, algo mejor que EuroStoxx y SPY. Pronosticó retornos positivos en 15 de los 24 años, aproximadamente un 63%.
Nuevamente, el gráfico 6 muestra que enero es más volátil en el DAX. Esto nos lleva a creer que existe una alta correlación entre los índices de Estados Unidos y los europeos.
Conclusión
Si observamos la tabla del SPY, los años con pérdidas de entre 1% y 2% en enero, aproximadamente como lo que hemos visto en este enero, acabaron con ganancias. Pérdidas mayores fueron más impredecibles.
Como ocurre con la mayoría de las noticias del mercado, una pérdida o ganancia en enero tiene poca capacidad predictiva. El mercado bursátil subirá cada año independientemente de si enero es alcista o bajista. Pero los retornos de enero suelen ser los más extremos del año.
Adjunto un programa que te permite crear las tablas mostradas aquí. Esas tablas también pueden usarse para crear estacionalidad en futuros o acciones. He utilizado datos de Commodity Systems Inc. y EasyLanguage de TradeStation (similar a BASIC).
{ TSM Save seasonal (monthly) data
Copyright 1999,2012 P.J. Kaufman. All rights reserved. }
{ Writes an ASCII file with name «c:\test\seasonal.txt» that needs to be renamed with the market/stock name }
vars:cmonth(0), pmonth(0), ix(0), k(0);
array:months[12](0);
if currentbar = 1 then begin
{ Writes an ASCII file with a name created from the data series }
print(File(«c:\TradeStation\seasonal_average.csv»),»Year,Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec»);
for ix = 1 to 12 begin
months[ix] = 0;
end;
k = 0;
end;
cmonth = month(date);
pmonth = month(date[1]);
if cmonth <> pmonth and currentbar > 1 then begin
months[pmonth] = months[pmonth] / k;
{ if end of year then print and clear arrays }
if pmonth = 12 then begin
print(File(«c:\TradeStation\seasonal_average.csv»),year(date[1])+1900:4:0,»,»,months[1]:6:3,»,»,months[2]:6:3,»,»,
months[3]:6:3,»,»,months[4]:6:3,»,»,months[5]:6:3,»,»,months[6]:6:3,»,»,months[7]:6:3,»,»,months[8]:6:3,»,»,
months[9]:6:3,»,»,months[10]:6:3,»,»,months[11]:6:3,»,»,months[12]:6:3);
for ix = 1 to 12 begin
months[ix] = 0;
end;
end;
{ new month begins }
k = 0;
end;
months[cmonth] = months[cmonth] + close;
k = k + 1;
{ if end of data output final records }
if lastbaronchart and cmonth = pmonth then begin
months[cmonth] = months[cmonth] / k;
print(File(«c:\TradeStation\seasonal_average.csv»),year(date[1])+1900:4:0,»,»,months[1]:6:3,»,»,months[2]:6:3,»,»,
months[3]:6:3,»,»,months[4]:6:3,»,»,months[5]:6:3,»,»,months[6]:6:3,»,»,months[7]:6:3,»,»,months[8]:6:3,»,»,
months[9]:6:3,»,»,months[10]:6:3,»,»,months[11]:6:3,»,»,months[12]:6:3);
end;