¿El EUR/USD tiene días buenos, meses buenos y horas buenas? Para responder con datos, hemos descargado 23 años de tick data M1 (8.681.978 velas entre mayo de 2003 y julio de 2026) y los hemos agregado por día de la semana, mes del año y sesión de trading. Spoiler: el EUR/USD es más ruidoso que el oro — no hay día ni mes con significancia estadística, pero dos sesiones sí muestran sesgos claros.
El dataset en cifras
1. Estacionalidad por día de la semana
Cada día lunes a viernes, retorno close-to-close en %. Test estadístico: t-test vs cero. ⭐ = p < 0,05.
| Día | n | Media % | Mediana % | Std % | Win rate | t-stat | p-value |
|---|---|---|---|---|---|---|---|
| Monday | 1.213 | -0,0051% | -0,0027% | 0,4984% | 49,5% | -0,36 | 0,722 |
| Tuesday | 1.213 | +0,0095% | -0,0097% | 0,5576% | 49,5% | 0,59 | 0,552 |
| Wednesday | 1.212 | +0,0128% | +0,0131% | 0,5729% | 51,2% | 0,78 | 0,438 |
| Thursday | 1.212 | +0,0118% | -0,0049% | 0,5954% | 49,6% | 0,69 | 0,492 |
| Friday | 1.210 | -0,0220% | -0,0072% | 0,5758% | 49,3% | -1,33 | 0,184 |
Lectura: el EUR/USD no muestra sesgo direccional por día de la semana. Ninguno pasa el test de significancia al 5%. El miércoles y jueves son ligeramente positivos, el viernes tiene un drift negativo (-0,022%, p=0,184) que es borderline pero no concluyente. Conclusión honesta: para el EUR/USD, el día de la semana es ruido estadístico — no es un filtro útil.

2. Estacionalidad por mes del año
| Mes | n | Media % | Mediana % | Std % | Win rate | t-stat | p-value |
|---|---|---|---|---|---|---|---|
| Enero | 23 | -0,521% | -0,286% | 2,980% | 43,5% | -0,84 | 0,411 |
| Febrero | 23 | -0,296% | -0,267% | 1,607% | 43,5% | -0,88 | 0,386 |
| Marzo | 23 | +0,354% | +0,007% | 2,464% | 52,2% | 0,69 | 0,498 |
| Abril | 23 | +0,714% | +0,631% | 2,503% | 52,2% | 1,37 | 0,185 |
| Mayo | 23 | -0,809% | -0,684% | 3,175% | 37,5% | -1,22 | 0,235 |
| Junio | 24 | +0,174% | +0,144% | 1,673% | 54,2% | 0,51 | 0,615 |
| Julio | 24 | +0,038% | -0,087% | 2,446% | 50,0% | 0,08 | 0,939 |
| Agosto | 23 | -0,162% | -0,098% | 1,942% | 47,8% | -0,40 | 0,692 |
| Septiembre | 23 | -0,002% | -0,478% | 3,315% | 47,8% | -0,00 | 0,998 |
| Octubre | 23 | -0,327% | -0,150% | 2,703% | 47,8% | -0,58 | 0,568 |
| Noviembre | 23 | +0,096% | +0,080% | 3,013% | 56,5% | 0,15 | 0,880 |
| Diciembre | 23 | +1,002% | +1,246% | 3,007% | 69,6% | 1,60 | 0,124 |
Lectura: el EUR/USD tampoco muestra estacionalidad mensual significativa al 5%, pero diciembre destaca con +1,00% medio y 69,6% de win rate (16 de 23 diciembres cerraron en positivo). El p-value (0,124) está por encima del 5% pero el win rate es notable — el efecto "rally de fin de año" en EUR/USD es real pero modesto. Mayo es el peor mes (-0,81%, win 37,5%).

3. Estacionalidad por sesión de trading (UTC)
Aquí sí encontramos patrones robustos. Las cinco sesiones canónicas del forex:
| Sesión | n | Drift medio % | Win rate | p-value | Rango medio % | |Gap| % |
|---|---|---|---|---|---|---|
| Asian (00–07 UTC) | 6.052 | +0,0074% | 51,9% | 0,006 ⭐ | 0,3103% | 0,0033% |
| London (07–12 UTC) | 6.051 | -0,0181% | 47,7% | <0,001 ⭐ | 0,4215% | 0,1470% |
| NY (12–17 UTC) | 6.041 | +0,0059% | 50,5% | 0,207 | 0,5262% | 0,2561% |
| NY late (17–22 UTC) | 6.821 | +0,0046% | 50,8% | 0,058 | 0,2668% | 0,3437% |
| Weekend gap (22–24 UTC) | 6.050 | +0,0045% | 53,9% | <0,001 ⭐ | 0,1352% | 0,3446% |
Hallazgos sorprendentes para EUR/USD:
- Asian es alcista y significativo: +0,0074% de drift, p=0,006. El euro tiende a apreciarse mientras Asia opera — probablemente por la demanda de bonos europeos en la apertura asiática.
- London es bajista y MUY significativo: -0,0181%, p<0,001 (t-stat alto). El EUR/USD tiende a corregir durante las horas europeas — patrón opuesto al oro.
- NY no tiene drift claro: aunque es la sesión más volátil (rango 0,53%), el EUR/USD no muestra dirección neta.
- Weekend gap bullish: +0,0045% con 53,9% win rate, p<0,001. El cierre del viernes NY es alcista.

4. Heatmap día × sesión
| Día | Asian (00–07) | London (07–12) | NY (12–17) | NY late (17–22) |
|---|---|---|---|---|
| Lunes | +0,003% | -0,015% | +0,017% | -0,011% |
| Martes | +0,003% | -0,000% | +0,002% | -0,001% |
| Miércoles | +0,010% | -0,024% | +0,015% | +0,005% |
| Jueves | +0,019% | -0,020% | -0,005% | +0,014% |
| Viernes | +0,003% | -0,031% | +0,001% | +0,006% |
Las celdas ganadoras:
- 🥇 Jueves × Asian: +0,019% de drift. El euro se aprecia los jueves por la mañana asiática.
- 🥇 Miércoles × NY: +0,015% de drift. NY del miércoles es alcista.
- 🔴 Viernes × London: -0,031% de drift. Londres abre el viernes vendiendo euros.

5. Top horas más volátiles (UTC)
| Hora UTC | Rango medio % | Std % | Sesión |
|---|---|---|---|
| 13:00 | 0,382% | 0,225 | NY open |
| 14:00 | 0,372% | 0,220 | London/NY |
| 12:00 | 0,313% | 0,201 | Pre-NY |
| 08:00 | 0,288% | 0,189 | London |
| 07:00 | 0,270% | 0,176 | London open |
| 15:00 | 0,265% | 0,184 | London/NY |
La ventana caliente del EUR/USD es 12:00–14:00 UTC (overlap London-NY): rango medio del 0,31-0,38%. London abre también movido (07-08 UTC). Las horas asiáticas son 40-50% menos volátiles.
---6. Tres setups prácticos para EUR/USD
Setup 1 · Short bias los viernes en London
- Cuándo: viernes 07-12 UTC.
- Por qué: -0,031% de drift, la celda más negativa del heatmap. Sumado al drift negativo general de London (-0,018%, p<0,001), el viernes europeo es la ventana más bajista del EUR/USD.
- Filtro: combinar con momento de corto plazo. Sin catalizador macro, evitar.
Setup 2 · Long bias los jueves en Asian
- Cuándo: jueves 00-07 UTC.
- Por qué: +0,019% de drift, la celda más positiva del heatmap. La sesión Asian tiene significancia estadística agregada (+0,007%, p=0,006), y los jueves es aún más fuerte.
- Aplicación: el "thursday morning Asian" es para el EUR/USD lo que el "viernes Asian" es para el oro.
Setup 3 · Evitar London en todos los días
- Cuándo: lunes a viernes 07-12 UTC.
- Por qué: la sesión London muestra drift negativo en 4 de 5 días (miércoles, jueves, viernes, lunes). Es la ventana donde el EUR/USD tiende a corregir.
- Aplicación: si tu EA abre largos en London, está en la peor franja. Reorientar operativa a NY o Asian.
Lo que NO te cuentan estos datos
- EUR/USD es más ruidoso que el oro: las std diarias son ~0,5% vs ~1% del oro, pero los retornos esperados también son menores. El ratio riesgo/drift es peor.
- Sin estacionalidad mensual robusta: solo diciembre tiene win rate alto (69,6%) pero el p-value (0,124) no llega al 5%. Cuidado con sobreinterpretar diciembre alcista.
- Costes de transacción: el spread típico del EUR/USD en broker minorista es 0,5-1,5 pips (0,005-0,015%). Esto se come el drift del Asian entero.
- DST ignorado: las sesiones son buckets UTC fijos. London abre 07:00 UTC en verano, 08:00 en invierno.
- Datos sintéticos vs reales: esta muestra usa CFD/synthetic de Dukascopy. El comportamiento puede diferir del EUR/USD interbancario real, especialmente en eventos de BCE/Fed.
Metodología
- Fuente: tick data M1 (Dukascopy) de EURUSD entre mayo 2003 y julio 2026.
- Total: 8.681.978 velas M1 UTC, agregadas en 6.060 días de trading y 279 meses.
- Retorno diario: (close_22UTC[t] − close_22UTC[t−1]) / close_22UTC[t−1] × 100.
- Retorno mensual: (close_lastDay − close_lastDayPrevMonth) / close_lastDayPrevMonth × 100.
- Drift de sesión: (close_last_bar − open_first_bar) / open × 100.
- Test estadístico: t-test de una muestra vs cero. ⭐ = p < 0,05.
- Software: Python 3.14, pandas 3.x, pyarrow, scipy, matplotlib. Scripts reproducibles en
~/Documents/Obsidian/OC/research/seasonality/.
Para tamaños de posición ajustados a la volatilidad del EUR/USD, usa la calculadora de position size. Para más sobre el par, lee cómo automatizar EUR/USD en MT5.
La serie completa de estacionalidad
Este análisis forma parte de una serie con la misma metodología aplicada a seis activos. El contraste entre ellos es la parte más útil: el "Monday rally" de los índices no existe en el oro ni en los pares FX.
- XAUUSD (oro) — 23 años, mejor día viernes y mejor mes enero.
- GBPUSD — sesión de Londres y su sesgo horario.
- XAGUSD (plata) — el hermano volátil del oro.
- Dow Jones (USA30) — el "Monday rally" de los índices.
- NASDAQ-100 — el lunes más alcista de los seis (p=0,0001).
