Horario de la bolsa de EE. UU. en hora española
La bolsa de EE. UU. en hora española: sesión regular de 15:30 a 22:00, premercado desde las 10:00 y after hours hasta las 02:00. Canarias, una hora menos.
El horario de la bolsa de EE. UU. en hora española cabe en una línea: la sesión regular de Nueva York abre a las 15:30 y cierra a las 22:00 en la península, el premercado arranca a las 10:00 de la mañana y la cinta de precios no se apaga hasta las 02:00 de la madrugada siguiente. En Canarias se resta una hora a todas esas cifras. Hay dos semanas al año en las que esa línea deja de valer, y son las que más disgustos dan a quien opera desde España: cuando Europa y Estados Unidos mueven el reloj en domingos distintos, la apertura se adelanta a las 14:30.
El horario del mercado estadounidense en hora peninsular
Cada hora de esta página sale del calendario oficial de los mercados y de la cinta de minutos, no de una conversión hecha a mano sobre un horario de verano que quizá ya cambió. La referencia, con el reloj de la península:
- Premercado: desde las 10:00, que son las 04:00 en Nueva York.
- Sesión regular: de 15:30 a 22:00, es decir de 09:30 a 16:00 en Nueva York.
- After hours: la cinta sigue imprimiendo hasta las 02:00 peninsulares.
- Canarias: una hora menos en todos los tramos, con la apertura a las 14:30.
La jornada de un inversor en España queda partida en dos mitades muy distintas. La tarde, desde la apertura hasta la hora de cenar, coincide con la parte más concurrida del día en Nueva York. La noche, de diez a doce, es la mitad lenta de la sesión americana. El desglose completo de cada tramo, sin conversión horaria, está en la guía del horario de la bolsa estadounidense.
¿Dónde está el volumen en el reloj español?
Saber a qué hora abre el mercado sirve de poco sin saber a qué hora hay contrapartida al otro lado. El panel siguiente reparte el volumen negociado de SPY, el ETF que replica al S&P 500, por franjas horarias del reloj de Madrid, sobre la cinta de septiembre y los primeros días de octubre de 2026.
| hora_madrid | hora_ny | cuota_pct | millones_por_sesion | fin_del_tramo |
|---|---|---|---|---|
| 10:00 | 04:00 | 0.24 | 0.1 | 10:59 |
| 11:00 | 05:00 | 0.11 | 0.05 | 12:00 |
| 12:00 | 06:00 | 0.17 | 0.07 | 13:00 |
| 13:00 | 07:00 | 0.48 | 0.21 | 14:00 |
| 14:00 | 08:00 | 1.03 | 0.44 | 15:00 |
| 15:00 | 09:00 | 9.8 | 4.17 | 16:00 |
| 16:00 | 10:00 | 12.58 | 5.36 | 17:00 |
| 17:00 | 11:00 | 11.37 | 4.84 | 18:00 |
| 18:00 | 12:00 | 7.71 | 3.28 | 19:00 |
| 19:00 | 13:00 | 7.11 | 3.03 | 20:00 |
| 20:00 | 14:00 | 9.96 | 4.24 | 21:00 |
| 21:00 | 15:00 | 24.84 | 10.58 | 22:00 |
| 22:00 | 16:00 | 13.49 | 5.75 | 23:00 |
| 23:00 | 17:00 | 0.76 | 0.32 | 00:00 |
| 00:00 | 18:00 | 0.26 | 0.11 | 00:58 |
| 01:00 | 19:00 | 0.09 | 0.04 | 02:00 |
El SQL exacto detrás de cada cifra
WITH
(
SELECT sum(volume)
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= '2026-09-01 00:00:00'
AND window_start < '2026-10-07 00:00:00'
) AS volumen_total
SELECT
concat(leftPad(toString(hora), 2, '0'), ':00') AS hora_madrid,
min(formatDateTime(reloj_ny, '%H:00')) AS hora_ny,
round(100 * toFloat64(sum(volumen)) / toFloat64(volumen_total), 2) AS cuota_pct,
round(toFloat64(sum(volumen)) / countDistinct(sesion) / 1e6, 2) AS millones_por_sesion,
formatDateTime(toTimeZone(max(inicio) + toIntervalMinute(1), 'Europe/Madrid'), '%H:%i') AS fin_del_tramo
FROM
(
SELECT
window_start AS inicio,
toHour(toTimeZone(window_start, 'Europe/Madrid')) AS hora,
toTimeZone(window_start, 'America/New_York') AS reloj_ny,
toDate(toTimeZone(window_start, 'America/New_York')) AS sesion,
volume AS volumen
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= '2026-09-01 00:00:00'
AND window_start < '2026-10-07 00:00:00'
)
GROUP BY hora
ORDER BY if(hora < 4, hora + 24, hora)La cinta cubre 16 franjas horarias seguidas del reloj español, de la primera hora de la mañana a la madrugada. La franja que empieza a las 15:00 en Madrid, que son las 09:00 en Nueva York y contiene la campana de apertura, mueve 4.17 millones de acciones por sesión, el 9.8 % del volumen de toda la jornada ampliada. La de las 22:00 peninsulares, donde cae el cierre y la subasta que lo acompaña, se queda con el 13.49 %. Entre una y otra, la curva se hunde a la hora de la merienda española y vuelve a subir con la noche.
Agrupadas en los cinco momentos que de verdad distingue un lector en España, el reparto queda más claro.
| tramo | cuota_pct | millones_por_sesion |
|---|---|---|
| 10:00 a 15:29 premercado | 2.62 | 1.11 |
| 15:30 a 16:59 apertura | 21.8 | 9.29 |
| 17:00 a 20:59 jornada media | 36.15 | 15.4 |
| 21:00 a 22:00 cierre y subasta | 25.53 | 10.87 |
| 22:01 a 02:00 after hours | 13.91 | 5.92 |
El SQL exacto detrás de cada cifra
WITH
(
SELECT sum(volume)
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= '2026-09-01 00:00:00'
AND window_start < '2026-10-07 00:00:00'
) AS volumen_total
SELECT
multiIf(minuto < 930, '10:00 a 15:29 premercado',
minuto < 1020, '15:30 a 16:59 apertura',
minuto < 1260, '17:00 a 20:59 jornada media',
minuto <= 1320, '21:00 a 22:00 cierre y subasta',
'22:01 a 02:00 after hours') AS tramo,
round(100 * toFloat64(sum(volumen)) / toFloat64(volumen_total), 2) AS cuota_pct,
round(toFloat64(sum(volumen)) / countDistinct(sesion) / 1e6, 2) AS millones_por_sesion
FROM
(
SELECT
if((toHour(reloj_madrid) * 60 + toMinute(reloj_madrid)) < 240,
toHour(reloj_madrid) * 60 + toMinute(reloj_madrid) + 1440,
toHour(reloj_madrid) * 60 + toMinute(reloj_madrid)) AS minuto,
toDate(toTimeZone(window_start, 'America/New_York')) AS sesion,
volume AS volumen
FROM
(
SELECT
window_start,
toTimeZone(window_start, 'Europe/Madrid') AS reloj_madrid,
volume
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= '2026-09-01 00:00:00'
AND window_start < '2026-10-07 00:00:00'
)
)
GROUP BY tramo
ORDER BY min(minuto)El grueso del volumen cabe en dos ventanas del reloj español. La hora y media posterior a la apertura reúne el 21.8 % de lo negociado, y la hora final con la subasta de cierre otro 25.53 %. Toda la mañana española, el premercado entero, se queda en el 2.62 %, con 1.11 millones de acciones por sesión: es el tramo más fino de la jornada ampliada. El after hours posterior al cierre pesa bastante más que el premercado, el 13.91 % del total, repartido entre las horas de madrugada peninsulares. Aun así, en los dos tramos que quedan fuera de la sesión regular hay menos órdenes en el libro, y es ahí donde la horquilla entre compra y venta, la diferencia entre el mejor precio al que alguien compra y el mejor al que alguien vende, se abre más. Las mecánicas de esos dos tramos están explicadas en premercado y after hours.
Las dos semanas al año en que el horario se descoloca
Aquí está el detalle que no aparece en ninguna página estadounidense. La Unión Europea cambia la hora el último domingo de marzo y el último de octubre. Estados Unidos lo hace el segundo domingo de marzo y el primero de noviembre. Entre esas fechas quedan dos ventanas en las que la diferencia entre Madrid y Nueva York no es de seis horas, sino de cinco: las sesiones del 9 al 27 de marzo de 2026, y las del 26 al 30 de octubre de 2026, ya que la UE atrasa el reloj el 25 de octubre y Estados Unidos espera hasta el 1 de noviembre. El panel toma las cinco semanas alrededor del episodio de marzo, con la apertura y el cierre reales de cada semana leídos de la cinta.
| semana | apertura_ny | cierre_ny | apertura_madrid | cierre_madrid | apertura_canarias | apertura_minutos |
|---|---|---|---|---|---|---|
| 2 de marzo | 09:30 | 16:00 | 15:30 | 22:00 | 14:30 | 930 |
| 9 de marzo | 09:30 | 16:00 | 14:30 | 21:00 | 13:30 | 870 |
| 16 de marzo | 09:30 | 16:00 | 14:30 | 21:00 | 13:30 | 870 |
| 23 de marzo | 09:30 | 16:00 | 14:30 | 21:00 | 13:30 | 870 |
| 30 de marzo | 09:30 | 16:00 | 15:30 | 22:00 | 14:30 | 930 |
El SQL exacto detrás de cada cifra
SELECT
concat(toString(toDayOfMonth(toMonday(sesion))), ' de ',
['enero','febrero','marzo','abril','mayo','junio','julio','agosto','septiembre','octubre','noviembre','diciembre'][toMonth(toMonday(sesion))]) AS semana,
min(formatDateTime(primera_ny, '%H:%i')) AS apertura_ny,
max(formatDateTime(ultima_ny, '%H:%i')) AS cierre_ny,
min(formatDateTime(primera_madrid, '%H:%i')) AS apertura_madrid,
max(formatDateTime(ultima_madrid, '%H:%i')) AS cierre_madrid,
min(formatDateTime(primera_canarias, '%H:%i')) AS apertura_canarias,
min(toHour(primera_madrid) * 60 + toMinute(primera_madrid)) AS apertura_minutos
FROM
(
SELECT
toDate(toTimeZone(window_start, 'America/New_York')) AS sesion,
toTimeZone(min(window_start), 'America/New_York') AS primera_ny,
toTimeZone(max(window_start) + toIntervalMinute(1), 'America/New_York') AS ultima_ny,
toTimeZone(min(window_start), 'Europe/Madrid') AS primera_madrid,
toTimeZone(max(window_start) + toIntervalMinute(1), 'Europe/Madrid') AS ultima_madrid,
toTimeZone(min(window_start), 'Atlantic/Canary') AS primera_canarias
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= '2026-03-02 00:00:00'
AND window_start < '2026-04-04 00:00:00'
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
GROUP BY sesion
)
GROUP BY toMonday(sesion)
ORDER BY toMonday(sesion)En Nueva York no se movió un solo minuto: las 5 semanas abrieron a las 09:30 y cerraron a las 16:00 locales. En el reloj español, en cambio, la semana del 2 de marzo abrió a las 15:30 y la del 9 de marzo abrió a las 14:30, con el cierre adelantado a las 21:00. La situación se mantuvo tres semanas, y la del 30 de marzo volvió a las 15:30 de siempre. Fíjate en que el invierno y el verano coinciden en la misma hora peninsular, de 15:30 a 22:00. Las raras son las semanas intermedias.
En Canarias el desajuste es idéntico, una hora por debajo. La misma inversión se repite cada otoño, con la bolsa abriendo una hora antes de lo acostumbrado durante la semana que separa los dos cambios de reloj. Si sueles poner órdenes a la apertura o alarmas de precio, son los cinco días del año en los que llegan con sesenta minutos de retraso. La lógica de las fechas, lado estadounidense, está desarrollada en el cambio de hora y el horario del mercado, y un lector en Alemania tiene el mismo esquema con otro reloj en el horario del mercado en hora alemana.
Cierres anticipados: la sesión que acaba a las 19:00
Unos pocos días al año la sesión regular termina a primera hora de la tarde de Nueva York, no a las cuatro. El calendario del mercado trae la hora exacta de cada uno de esos días, y convertida a nuestro reloj la diferencia es de tres horas enteras de sesión.
| fecha | festivo | cierre_ny | cierre_madrid | cierre_canarias | dias_restantes |
|---|---|---|---|---|---|
| 27 de noviembre de 2026 | Thanksgiving | 13:00 | 19:00 | 18:00 | 50 |
| 24 de diciembre de 2026 | Christmas | 13:00 | 19:00 | 18:00 | 77 |
El SQL exacto detrás de cada cifra
SELECT
concat(toString(toDayOfMonth(date)), ' de ',
['enero','febrero','marzo','abril','mayo','junio','julio','agosto','septiembre','octubre','noviembre','diciembre'][toMonth(date)],
' de ', toString(toYear(date))) AS fecha,
min(name) AS festivo,
max(formatDateTime(toTimeZone(close, 'America/New_York'), '%H:%i')) AS cierre_ny,
max(formatDateTime(toTimeZone(close, 'Europe/Madrid'), '%H:%i')) AS cierre_madrid,
max(formatDateTime(toTimeZone(close, 'Atlantic/Canary'), '%H:%i')) AS cierre_canarias,
dateDiff('day', today(), date) AS dias_restantes
FROM global_markets.stocks_market_holidays
WHERE status = 'early-close'
AND date >= today()
GROUP BY date
ORDER BY dateEl próximo cae el 27 de noviembre de 2026, a 50 días de hoy, en torno a Thanksgiving: el mercado cierra a las 13:00 de Nueva York, que en la península son las 19:00 y en Canarias las 18:00. La tarde española se queda sin su parte más líquida: ese día no hay hora de cierre a las 22:00, y la subasta de cierre se imprime con la merienda. Hay 2 fechas de este tipo en el calendario cargado.
El calendario completo, con los cierres totales y los anticipados mezclados en orden, queda así.
| fecha | dia_semana | festivo | tipo | cierre_ny | cierre_madrid |
|---|---|---|---|---|---|
| 26 de noviembre de 2026 | jueves | Thanksgiving | cierre total | ||
| 27 de noviembre de 2026 | viernes | Thanksgiving | cierre anticipado | 13:00 | 19:00 |
| 24 de diciembre de 2026 | jueves | Christmas | cierre anticipado | 13:00 | 19:00 |
| 25 de diciembre de 2026 | viernes | Christmas | cierre total | ||
| 1 de enero de 2027 | viernes | New Years Day | cierre total | ||
| 18 de enero de 2027 | lunes | Martin Luther King, Jr. Day | cierre total | ||
| 15 de febrero de 2027 | lunes | Washington's Birthday | cierre total | ||
| 26 de marzo de 2027 | viernes | Good Friday | cierre total | ||
| 31 de mayo de 2027 | lunes | Memorial Day | cierre total | ||
| 18 de junio de 2027 | viernes | Juneteenth | cierre total | ||
| 5 de julio de 2027 | lunes | Independence Day | cierre total | ||
| 6 de septiembre de 2027 | lunes | Labor Day | cierre total |
El SQL exacto detrás de cada cifra
SELECT
concat(toString(toDayOfMonth(date)), ' de ',
['enero','febrero','marzo','abril','mayo','junio','julio','agosto','septiembre','octubre','noviembre','diciembre'][toMonth(date)],
' de ', toString(toYear(date))) AS fecha,
['lunes','martes','miercoles','jueves','viernes','sabado','domingo'][toDayOfWeek(date)] AS dia_semana,
min(name) AS festivo,
max(if(status = 'early-close', 'cierre anticipado', 'cierre total')) AS tipo,
max(if(status = 'early-close',
formatDateTime(toTimeZone(close, 'America/New_York'), '%H:%i'), '')) AS cierre_ny,
max(if(status = 'early-close',
formatDateTime(toTimeZone(close, 'Europe/Madrid'), '%H:%i'), '')) AS cierre_madrid
FROM global_markets.stocks_market_holidays
WHERE date >= today()
GROUP BY date
ORDER BY dateSon 12 fechas, empezando por el 26 de noviembre de 2026, un jueves, que figura como cierre total. Un cierre total significa que no hay sesión ninguna, ni premercado ni after hours, y que la tarde española se queda en blanco. Un día de cierre anticipado sí tiene sesión, solo que acaba antes, y la columna con la hora peninsular es la que conviene mirar.
La ventana de tu bróker puede ser más estrecha que la del mercado
El horario del mercado y el horario de tu plataforma europea son dos cosas distintas, y la segunda suele ser la que manda. Hay brókers de la UE que aceptan órdenes solo durante la sesión regular, otros que abren el premercado bastante después de que la cinta empiece a imprimir, y otros que cortan la entrada de órdenes antes de las 02:00. La comprobación útil es leer el horario de entrada de órdenes de la plataforma junto al del mercado, no en su lugar. Para la pregunta de fondo, hasta dónde llega hoy la negociación continua, hay un repaso en operar acciones de EE. UU. 24 horas.
FAQ
¿A qué hora abre la bolsa de Nueva York en hora española?
A las 15:30 en la península y a las 14:30 en Canarias, tanto en invierno como en verano. La excepción son las dos ventanas de desajuste del cambio de hora, cuando la apertura se adelanta a las 14:30.
¿A qué hora empieza el premercado de EE. UU. en España?
La cinta registra negociación desde las 10:00 peninsulares, que son las 04:00 de Nueva York. Es la franja más fina del día: todo el premercado suma el 2.62 % del volumen de la jornada ampliada.
¿Hasta qué hora se puede operar en after hours desde España?
La última barra de la cinta se cierra a las 02:00 de la madrugada peninsular. Ese tramo se lleva el 13.91 % del volumen de la jornada ampliada, repartido entre varias horas de madrugada, y tu plataforma puede cerrar la entrada de órdenes antes.
¿Qué pasa la semana en que Europa cambia la hora y Estados Unidos todavía no?
La diferencia pasa de seis horas a cinco. En marzo de 2026 eso dejó la apertura a las 14:30 y el cierre a las 21:00 en hora peninsular durante tres semanas. En otoño de 2026 se repite entre el 26 y el 30 de octubre.
¿A qué hora cierra la bolsa en un día de cierre anticipado?
El próximo cierra a las 13:00 de Nueva York, las 19:00 en la península, en lugar de las 22:00 habituales. Son tres horas menos de sesión, con subasta de cierre incluida.
Cada panel de esta página lleva debajo el SQL exacto con el que se ha contado el número, ábrelo y verás de dónde sale cada hora. Si quieres el mismo reparto de volumen para otro valor y sobre tu propio reloj, puedes pedirlo en lenguaje llano en el terminal de Strasmore.