¿El oro tiene días buenos, meses buenos y horas buenas? Para responderlo con datos en lugar de con opinión, hemos descargado 23 años de tick data M1 de XAUUSD (7.885.431 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: hay patrones, pero la mayoría son débiles — solo dos días y dos meses pasan el test de significancia estadística al 5%.
El dataset en cifras
1. Estacionalidad por día de la semana
Cada día de trading lunes a viernes, hemos calculado el retorno close-to-close en % y agregado los 6.041 días del dataset. El test estadístico es un t-test de una muestra contra cero (H0: el retorno medio del día es 0). ⭐ marca los días con p < 0,05.
| Día | n | Media % | Mediana % | Std % | Win rate | t-stat | p-value | IC 95% |
|---|---|---|---|---|---|---|---|---|
| Monday | 1.212 | -0,0153% | +0,0243% | 1,0280% | 51,6% | -0,52 | 0,605 | -0,073 / +0,043 |
| Tuesday | 1.213 | +0,0192% | +0,0559% | 1,1101% | 52,8% | 0,60 | 0,547 | -0,043 / +0,082 |
| Wednesday | 1.211 | +0,0562% | +0,0715% | 1,0893% | 54,6% | 1,80 | 0,073 | -0,005 / +0,118 |
| Thursday | 1.212 | +0,0211% | +0,0132% | 1,1170% | 50,4% | 0,66 | 0,510 | -0,042 / +0,084 |
| Friday | 1.192 | +0,1041% | +0,1243% | 1,1516% | 56,8% | 3,12 | 0,002 ⭐ | +0,039 / +0,170 |
Lectura: solo el viernes muestra un sesgo alcista estadísticamente significativo. El miércoles se queda en la frontera (p=0,073) y el resto son ruido estadístico. No hay un "Monday effect" en oro como el documentado en equities — el oro abre la semana plano.

¿Cambia el patrón antes y después de 2020?
| Día | Pre-2020 (n=4.335) | 2020+ (n=1.705) |
|---|---|---|
| Monday | -0,0412% | +0,0504% |
| Tuesday | +0,0009% | +0,0657% |
| Wednesday | +0,0531% | +0,0641% |
| Thursday | +0,0075% | +0,0558% |
| Friday | +0,1269% | +0,0455% |
El viernes sigue alcista en ambos períodos, pero se debilita notablemente en 2020+. Lo más llamativo: el lunes pasa de negativo a positivo, lo que sugiere que la era post-COVID ha homogeneizado el comportamiento entre días. El "Friday effect" sigue ahí, pero ya no es el único día alcista.
---2. Estacionalidad por mes del año
279 meses de datos (2003 → 2026). Igual metodología: t-test vs cero, ⭐ = p < 0,05.
| Mes | n | Media % | Mediana % | Std % | Win rate | t-stat | p-value |
|---|---|---|---|---|---|---|---|
| Enero | 23 | +3,4403% | +3,2703% | 5,2866% | 65,2% | 3,12 | 0,005 ⭐ |
| Febrero | 23 | +1,2888% | +1,7085% | 4,6040% | 56,5% | 1,34 | 0,193 |
| Marzo | 23 | +0,3543% | -0,4403% | 4,8295% | 43,5% | 0,35 | 0,728 |
| Abril | 23 | +1,1160% | +0,9143% | 4,9706% | 60,9% | 1,08 | 0,293 |
| Mayo | 23 | -0,2644% | -1,0320% | 4,0526% | 41,7% | -0,31 | 0,757 |
| Junio | 24 | -0,9246% | -1,6196% | 5,1370% | 37,5% | -0,88 | 0,387 |
| Julio | 24 | +1,2528% | +1,7568% | 3,9695% | 62,5% | 1,55 | 0,136 |
| Agosto | 23 | +1,9529% | +1,4053% | 4,4952% | 65,2% | 2,08 | 0,049 ⭐ |
| Septiembre | 23 | +0,4246% | -0,8219% | 5,7853% | 47,8% | 0,35 | 0,728 |
| Octubre | 23 | +0,8302% | +1,5391% | 4,8853% | 56,5% | 0,81 | 0,424 |
| Noviembre | 23 | +1,3752% | +0,4980% | 5,7353% | 56,5% | 1,15 | 0,263 |
| Diciembre | 23 | +1,0738% | +2,2946% | 4,4768% | 60,9% | 1,15 | 0,262 |
Lectura: Enero y agosto son los únicos meses con significancia estadística. Enero arrastra el sesgo de reapalancamiento post-navideño + Año Nuevo chino. Agosto coincide con la "corrección de verano" que en equities es bearish, pero en oro es históricamente positivo — los meses de verano boreal son alcistas en oro pese a la baja liquidez.
El gráfico siguiente muestra la trayectoria acumulativa del retorno medio a lo largo del año, año por año:

Cada línea azul es un año individual (2003-2026). La línea roja es la media. La dispersión es brutal: hay años donde el oro cae 25% entre enero y diciembre, y años donde sube 50%. La estacionalidad existe, pero está enterrada bajo el ruido de los ciclos macro.
---3. Estacionalidad por sesión de trading (UTC)
Las cuatro sesiones canónicas del oro más el cierre del viernes:
| Sesión | n | Drift medio % | Win rate | p-value | Rango medio % | |Gap| % |
|---|---|---|---|---|---|---|
| Asian (00–07 UTC) | 6.017 | +0,0288% | 53,5% | <0,001 ⭐ | 0,6391% | 0,0167% |
| London (07–12 UTC) | 6.018 | -0,0085% | 49,6% | 0,148 | 0,6523% | 0,3025% |
| NY (12–17 UTC) | 6.018 | +0,0088% | 51,6% | 0,364 | 1,0787% | 0,4384% |
| NY late (17–22 UTC) | 6.251 | -0,0027% | 48,6% | 0,597 | 0,5487% | 0,6793% |
| Weekend gap (22–24 UTC) | 6.004 | +0,0337% | 59,2% | <0,001 ⭐ | 0,2973% | 0,6363% |
Hallazgos sorprendentes:
- Asian (Tokio+Sydney) es alcista: +0,029% de drift medio, p<0,001. Contrario a la intuición de que el oro "se mueve" en Londres/NY, los datos dicen que el oro sube mientras Asia opera. Lectura práctica: los traders europeos duermen mientras el oro trabaja.
- London abre rojo: -0,009% de drift (no significativo). El oro tiende a corregir mientras Londres está en su pico — probablemente porque los algoritmos europeos toman beneficios de la subida asiática.
- NY es pura volatilidad, sin dirección: 1,08% de rango medio (el doble que Asian o London), pero drift cero. La sesión donde más se mueve el oro, pero no hay sesgo direccional.
- Weekend gap es bullish: el cierre del viernes en NY (22-24 UTC) muestra +0,034% con 59,2% de win rate. El oro cierra la semana con momentum positivo.

4. Heatmap: día × sesión
Cruzando los dos análisis anteriores, podemos ver qué celda día×sesión tiene el mejor drift histórico:
| Día | Asian (00–07) | London (07–12) | NY (12–17) | NY late (17–22) |
|---|---|---|---|---|
| Lunes | +0,011% | -0,020% | +0,004% | -0,034% |
| Martes | +0,027% | -0,001% | -0,007% | -0,022% |
| Miércoles | +0,043% | -0,016% | +0,015% | +0,000% |
| Jueves | +0,028% | -0,004% | -0,011% | -0,002% |
| Viernes | +0,036% | -0,003% | +0,043% | +0,044% |
Las dos celdas ganadoras:
- 🥇 Miércoles × Asian: +0,043% de drift. Oro sube mientras Asia opera el miércoles.
- 🥇 Viernes × NY late: +0,044% de drift. El cierre semanal tiene momentum positivo.
El viernes es el único día con todas sus celdas en positivo o neutro. Si tuvieras que apostar a un solo día del calendario, sería viernes.

5. Perfil horario de volatilidad (UTC)
Si tu objetivo no es predecir dirección sino evitar el ruido, este perfil es para ti. Hemos calculado el rango medio (% del open al high/low) por hora UTC, lunes a viernes:
| Hora UTC | Rango medio % | Std % | Drift % | Sesión |
|---|---|---|---|---|
| 13:00 | 0,5288% | 0,3249 | +0,0012% | NY open |
| 14:00 | 0,5213% | 0,3183 | -0,0027% | London/NY |
| 15:00 | 0,4586% | 0,3178 | -0,0087% | London/NY |
| 12:00 | 0,4540% | 0,3092 | +0,0066% | Pre-NY |
| 16:00 | 0,3780% | 0,2765 | +0,0107% | NY mid |
| 17:00 | 0,3417% | 0,2547 | +0,0045% | NY late |
| 07:00 | 0,3122% | 0,2057 | -0,0003% | London open |
| 08:00 | 0,3093% | 0,1985 | -0,0030% | London |
Las 12:00–15:00 UTC son la zona caliente del oro: rango medio del 0,45-0,53%, más del doble que las horas asiáticas. Es el overlap London/NY, donde confluyen dos pools de liquidez. Para scalpers es la ventana de oro (literal). Para position traders, es donde los stops se llenan de mecha.
---6. Tres setups prácticos que salen de los datos
Estos no son sistemas de trading. Son filtros horarios y de calendario que puedes añadir a tu estrategia para mejorar el edge sin tocar la lógica de entrada:
Setup 1 · Long bias los viernes por la mañana (Asian) y cierre NY
- Cuándo: viernes 00-07 UTC (Asian) y viernes 13-22 UTC (NY + NY late).
- Por qué: el viernes es el único día significativo, con drift positivo tanto en Asian como en NY/NY late. Evita las 07-12 UTC del viernes (London).
- Filtro adicional: combinando con el efecto enero, el último viernes de enero tiene drift acumulado histórico de +5-7% desde inicio de mes.
Setup 2 · Short bias los lunes en London y NY late
- Cuándo: lunes 07-12 UTC (London) y lunes 17-22 UTC (NY late).
- Por qué: ambas celdas son las más negativas del heatmap (-0,020% y -0,034%). El oro tiende a corregir tras el fin de semana.
- Cuidado: este setup solo tiene sentido si tienes tesis macro de corto plazo. Sin catalizador, es ruído.
Setup 3 · Evitar las 07-12 UTC en todos los días
- Cuándo: lunes a viernes, 07-12 UTC (sesión London pre-overlap).
- Por qué: 4 de 5 días muestran drift negativo en esa ventana. Es la sesión más "trampa" del oro.
- Aplicación: si tu EA abre posiciones por la mañana europea, probablemente esté entrando en la peor franja. Mover el horario de operativa a 13-17 UTC (NY overlap) reduce el drawdown estadístico.
Para traders manuales con fondeo, estos filtros son gratis: ajustas el horario de operativa y el calendario, sin tocar el setup. Para traders algorítmicos, son variables adicionales del backtest que probablemente no estaban optimizadas.
---Lo que NO te cuentan estos datos
Un análisis honesto tiene que incluir sus propias caveats:
- Sobrevivencia del dataset: los 23 años incluyen el rally 2020-2024 (oro de 1.500 a 2.700 USD) que infla todos los retornos positivos. Si excluyéramos ese período, los patrones serían más débiles.
- Cambio de régimen: el oro pasó de commodity monetario a activo de cobertura post-2018. Los patrones pre-2018 pueden no ser extrapolables.
- n=23 meses por bucket: el intervalo de confianza al 95% en los meses es de ±5% en algunos casos. Significativo no implica magnitud práctica.
- Significancia ≠ tradeable: +0,10% de drift diario en oro no compensa ni de lejos un drawdown del 5%. Estos números son útiles como filtros, no como sistemas.
- DST ignorado: las sesiones son buckets UTC fijos. London abre a las 07:00 UTC en verano y a las 08:00 en invierno. El error es ~1 hora, aceptable para análisis de largo plazo.
- Costes de transacción no incluidos: spread + comisión + slippage en oro son del 0,05-0,15% por operación. Suficiente para comerse el drift del Asian.
Metodología
- Fuente: tick data M1 (Dukascopy / HistData) de XAUUSD entre mayo 2003 y julio 2026.
- Total: 7.885.431 velas M1 UTC, agregadas en 6.041 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_último_bar - open_primer_bar) / open × 100.
- Rango de sesión: (max(high) - min(low)) / open × 100.
- Test estadístico: t-test de una muestra contra cero (H0: media = 0). ⭐ = p < 0,05.
- Sub-período: split arbitrario en 2020 (pre-COVID vs post-COVID / guerra Ucrania / ciclo de tipos).
- Software: Python 3.14, pandas 3.x, pyarrow, scipy, matplotlib. Scripts reproducibles.
Si quieres replicar este análisis con tus propios datos, los scripts están en ~/Documents/Obsidian/OC/research/seasonality/ y el dataset crudo en ~/evtl-stats/data/xauusd/m1/.
Antes de operar XAUUSD en real, conviene dominar el activo a mano: revisa cómo operar XAUUSD (oro) por horarios y la gestión de riesgo en oro para prop firms. Y para tamaños de posición ajustados a la volatilidad del oro, usa la calculadora de position size.
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.
- EURUSD — el par más operado del mundo, 23 años.
- 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).
