1 PJK AlexZPhotography

 

Perry J. Kaufman es uno de los autores con mayor prestigio internacional, conocido por desarrollar estrategias algorítmicas, desde la década de los 70. Comenzó como “científico espacial” en la industria aeroespacial, donde trabajó en los sistemas de control y navegación para Gemini. Desde entonces ha aplicado su amplio conocimiento desarrollando sistemas de trading y de análisis de riesgos.
Perry J. Kaufman / perrykaufman.com

 

 

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.

pastedGraphic.png
Gráfico 1. Retornos mensuales del SPY con comparaciones a la derecha en azul.

 

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.

pastedGraphic_1.png
Gráfico 2. Retornos de enero del SPY comparados con los retornos promedio mensuales de febrero a diciembre.

 

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.

pastedGraphic_2.png
Gráfico 3. Retornos mensuales del EuroStoxx con comparaciones a la derecha en azul.

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.

pastedGraphic_3.png
Gráfico 4. Retornos de enero del EuroStoxx comparados con los retornos promedio mensuales de febrero a diciembre.

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%.

pastedGraphic_4.png
Gráfico 5. Retornos mensuales del DAX con comparaciones a la derecha en azul.

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.

pastedGraphic_5.png
Gráfico 6. Retornos de enero del DAX comparados con los retornos promedio mensuales de febrero a diciembre.

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;