US Market Hours for Lagos Time: Full WAT Clock
US market hours for Lagos time: regular session na 14:30 go 21:00 WAT, den 15:30 go 22:00 from November 1. Premarket, afta-hours and early close clock dey inside.
US market hours for Lagos time na 14:30 go 21:00 WAT for di regular session wen America still dey on summer clock, and e shift to 15:30 go 22:00 WAT from di first week of November. Lagos own clock no dey move at all: WAT na UTC+1 for di whole twelve month, no spring forward, no fall back. So any shift wey you see inside di timetable below dey come from di American side alone, no be from your side.
Wetin be US market hours for Lagos time?
Di US trading day get three part, and di part wey people dey call "di market" na only di middle one. Premarket na di early window wey some broker dey open before di opening bell. Regular session na di main one, from di opening bell go di closing bell, and dat na where di closing price come from. Afta-hours na di extra window wey dey run afta di closing bell.
Wen America dey on daylight saving (dat one cover today, 3 October 2026, go 1 November 2026, den e start again 14 March 2027):
- Premarket: 09:00 WAT go 14:30 WAT
- Regular session: 14:30 WAT go 21:00 WAT
- Afta-hours: 21:00 WAT go 01:00 WAT di next morning
Wen America go back to standard time (2 November 2026 go 12 March 2027):
- Premarket: 10:00 WAT go 15:30 WAT
- Regular session: 15:30 WAT go 22:00 WAT
- Afta-hours: 22:00 WAT go 02:00 WAT di next morning
Di premarket window dey start 4:00 a.m. New York time and di afta-hours window dey end 8:00 p.m. New York time, but no every broker dey hand you di full stretch, plenty of dem dey open later and close earlier. Di session-by-session breakdown dey inside our US stock market hours guide, and di rule for di extended window dey inside premarket and afta-hours trading.
Di two clock wey di tape dey show
Rather than we just talk am, make we count am. Di panel below take SPY, di biggest S&P 500 ETF, and e look di first and di last regular-session minute bar of every trading day inside di last one year, den e convert di two of dem to Lagos time.
| wat_open | wat_close | session_count | from_label | through_label |
|---|---|---|---|---|
| 14:30 | 21:00 | 188 | Aug 29, 2025 | Sep 30, 2026 |
| 15:30 | 22:00 | 83 | Nov 3, 2025 | Mar 6, 2026 |
| 15:30 | 19:01 | 2 | Nov 28, 2025 | Dec 24, 2025 |
The exact SQL behind every number
SELECT
concat(leftPad(toString(intDiv(open_min, 60)), 2, '0'), ':',
leftPad(toString(open_min % 60), 2, '0')) AS wat_open,
concat(leftPad(toString(intDiv(close_min, 60)), 2, '0'), ':',
leftPad(toString(close_min % 60), 2, '0')) AS wat_close,
count() AS session_count,
formatDateTime(min(session_date), '%b %e, %Y') AS from_label,
formatDateTime(max(session_date), '%b %e, %Y') AS through_label
FROM
(
SELECT
toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
min(toHour(window_start) * 60 + toMinute(window_start)) + 60 AS open_min,
max(toHour(window_start) * 60 + toMinute(window_start)) + 61 AS close_min
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= today() - 400
AND window_start < today() - 2
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 session_date
)
GROUP BY wat_open, wat_close
ORDER BY session_count DESCDi table carry 3 row, and di top two cover almost every session for di year. Di busiest one na 14:30 go 21:00 WAT, 188 session of am. Di second one na 15:30 go 22:00 WAT, 83 session, running from Nov 3, 2025 go Mar 6, 2026. Dat date range na exactly di American winter stretch. Nobody enter di query to type dose clock: dem come out of di bar wey actually print.
Di two clock-change date for 2026 and 2027
America dey end daylight saving di first Sunday of November and dey start am back di second Sunday of March. For dis cycle, dat na Sunday 1 November 2026 and Sunday 14 March 2027. Di clock dey move 2 a.m. local time on di Sunday, so di first session wey you go really feel am na Monday 2 November 2026, wen everything shift one hour late for Lagos, and Monday 15 March 2027, wen everything shift one hour back early. Two Monday for di year, dat na all. Di longer version dey inside daylight saving and US market hours.
Small side note for anybody wey dey watch Europe too: Frankfurt own clock, CET, na UTC+1, di same offset as WAT, so Xetra hour dey match your wall clock one to one during European winter, den e shift one hour early wen Germany enter summer time. Xetra trading hours carry dat full calendar.
Which hour di volume dey land for Lagos clock?
Knowing wen di door dey open na one thing. Knowing wen people actually dey trade na another thing. Di next panel cut di full extended US day into WAT hour bucket, using di same SPY tape for di last ten week.
| wat_hour | et_hour | volume_millions | avg_thousand_per_minute |
|---|---|---|---|
| 09:00 | 04:00 | 4.7 | 2 |
| 10:00 | 05:00 | 1.7 | 0.8 |
| 11:00 | 06:00 | 2.6 | 1.2 |
| 12:00 | 07:00 | 9.1 | 3.4 |
| 13:00 | 08:00 | 18.2 | 6.5 |
| 14:00 | 09:00 | 199.4 | 70.8 |
| 15:00 | 10:00 | 257.2 | 91.2 |
| 16:00 | 11:00 | 216.6 | 76.8 |
| 17:00 | 12:00 | 163.2 | 57.9 |
| 18:00 | 13:00 | 142.5 | 50.5 |
| 19:00 | 14:00 | 192.6 | 68.3 |
| 20:00 | 15:00 | 494.7 | 175.4 |
| 21:00 | 16:00 | 251.5 | 90.5 |
| 22:00 | 17:00 | 14.5 | 6.6 |
| 23:00 | 18:00 | 5.4 | 2.5 |
| 00:00 | 19:00 | 2 | 1 |
The exact SQL behind every number
WITH bars AS
(
SELECT
toTimeZone(window_start, 'America/New_York') AS et,
toTimeZone(window_start, 'Africa/Lagos') AS wat,
toFloat64(volume) AS volume
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= today() - 70
AND window_start < today() - 2
)
SELECT
formatDateTime(wat, '%H:00') AS wat_hour,
formatDateTime(et, '%H:00') AS et_hour,
round(sum(volume) / 1e6, 1) AS volume_millions,
round(avg(volume) / 1000, 1) AS avg_thousand_per_minute
FROM bars
WHERE (toHour(et) * 60 + toMinute(et)) >= 240
AND (toHour(et) * 60 + toMinute(et)) < 1200
GROUP BY wat_hour, et_hour
ORDER BY et_hourDi earliest bucket dey open 09:00 WAT, wey na 04:00 for New York, and di last bucket dey open 00:00 WAT. Look di shape of di bar well: di whole Lagos morning dey flat, di thing begin climb around di opening bell, e peak wen di American afternoon land, den e drop sharp once di closing bell ring. Dat first bucket move 4.7 million SPY share across di entire ten week, and e average 2 thousand share for one minute.
Di split panel put plain number on top di same point.
| segment | volume_millions | share_pct | avg_thousand_per_minute |
|---|---|---|---|
| Regular session | 1655.2 | 83.8 | 90.3 |
| After-hours | 273.5 | 13.8 | 29.5 |
| Premarket | 47.3 | 2.4 | 3.5 |
The exact SQL behind every number
WITH bars AS
(
SELECT
toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York')) AS et_min,
toFloat64(volume) AS volume
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= today() - 70
AND window_start < today() - 2
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 240
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 1200
)
SELECT
multiIf(et_min < 570, 'Premarket',
et_min < 960, 'Regular session',
'After-hours') AS segment,
round(sum(volume) / 1e6, 1) AS volume_millions,
round(100 * sum(volume) / (SELECT sum(volume) FROM bars), 1) AS share_pct,
round(avg(volume) / 1000, 1) AS avg_thousand_per_minute
FROM bars
GROUP BY segment
ORDER BY share_pct DESCDi biggest segment carry 83.8% of all di volume wey print inside di extended day, at 90.3 thousand share for every minute. For somebody wey dey Lagos, dat na di real cost of di time zone: di quiet hour na di hour wey fit your morning, and di busy hour na di one wey start 14:30 WAT.
Early close day: 19:00 WAT instead of 22:00
Few times a year, di American market dey hold half day. Di bell ring 1:00 p.m. New York time instead of 4:00 p.m., and di extended window dey shrink along wit am. Di panel below pull only di half day wey dey ahead.
| early_close_day | weekday | holiday | et_close | wat_close | days_away |
|---|---|---|---|---|---|
| Nov 27, 2026 | Fri | Thanksgiving | 01:00 PM | 19:00 | 55 |
| Dec 24, 2026 | Thu | Christmas | 01:00 PM | 19:00 | 82 |
The exact SQL behind every number
SELECT
formatDateTime(date, '%b %e, %Y') AS early_close_day,
formatDateTime(date, '%a') AS weekday,
any(name) AS holiday,
formatDateTime(toTimeZone(any(close), 'America/New_York'), '%I:%i %p') AS et_close,
formatDateTime(toTimeZone(any(close), 'Africa/Lagos'), '%H:%i') AS wat_close,
dateDiff('day', today(), date) AS days_away
FROM global_markets.stocks_market_holidays
WHERE date >= today()
AND status = 'early-close'
GROUP BY date
ORDER BY date2 half day dey sitting on di loaded calendar. Di next one na Thanksgiving on Nov 27, 2026, 55 day from today, and di bell ring 01:00 PM New York time, wey na 19:00 WAT. Dat na di winter clock. Wen a half day land inside American summer time, di same 1:00 p.m. bell dey read 18:00 WAT instead. Di gap na one hour, and e dey catch person every year.
Full closure na different matter: no premarket, no regular session, no afta-hours, nothing at all.
| holiday_day | weekday | holiday | day_status | wat_close | days_away |
|---|---|---|---|---|---|
| Nov 26, 2026 | Thu | Thanksgiving | closed | 54 | |
| Nov 27, 2026 | Fri | Thanksgiving | early-close | 19:00 | 55 |
| Dec 24, 2026 | Thu | Christmas | early-close | 19:00 | 82 |
| Dec 25, 2026 | Fri | Christmas | closed | 83 | |
| Jan 1, 2027 | Fri | New Years Day | closed | 90 | |
| Jan 18, 2027 | Mon | Martin Luther King, Jr. Day | closed | 107 | |
| Feb 15, 2027 | Mon | Washington's Birthday | closed | 135 | |
| Mar 26, 2027 | Fri | Good Friday | closed | 174 | |
| May 31, 2027 | Mon | Memorial Day | closed | 240 | |
| Jun 18, 2027 | Fri | Juneteenth | closed | 258 | |
| Jul 5, 2027 | Mon | Independence Day | closed | 275 | |
| Sep 6, 2027 | Mon | Labor Day | closed | 338 |
The exact SQL behind every number
SELECT
formatDateTime(date, '%b %e, %Y') AS holiday_day,
formatDateTime(date, '%a') AS weekday,
any(name) AS holiday,
any(status) AS day_status,
any(if(status = 'early-close',
formatDateTime(toTimeZone(close, 'Africa/Lagos'), '%H:%i'),
'')) AS wat_close,
dateDiff('day', today(), date) AS days_away
FROM global_markets.stocks_market_holidays
WHERE date >= today()
GROUP BY date
ORDER BY dateDi forward calendar carry 12 dated closure. Di closest one na Thanksgiving on Nov 26, 2026, 54 day out. Read di day_status column before you plan any late night: one holiday fit occupy two row, a dark day next to di short session wey follow am. Di reason behind each date dey inside di US market holiday and early close calendar.
Wetin di December 2026 move to 23/5 mean for Lagos?
From December 2026, US stock trading dey open up to 23 hour for a day, five day for a week. Di name wey people dey call am na 23/5. For somebody wey dey Lagos, di interesting part no be di night, na di morning. Di stretch between early morning and 14:30 WAT, wey na thin premarket today (go back up and check di first few bar of di hour panel), dey enter di official trading day. If your plan na to touch di US market before you go work rather than to wake up 01:00 a.m. to catch di afta-hours tail, dat na di exact window wey dey change.
One thing to keep separate inside your head: a session wey dey open no mean say di session thick. Di hour panel above na di honest way to check dat one, and e go keep answering di question as di new hour start to print. Di full timetable, including di hour wey remain closed, dey inside di 23/5 US trading move from December 2026.
How we count am
Di panel dem use SPY, di biggest S&P 500 ETF, as proxy for di American session clock. Di minute tape dey carry about one to two day lag at di front edge, so every query dey stop two day before today. Di clock-census panel keep only di bar wey land inside di regular-session minute (09:30 go 15:59 New York time) to make di open and close clock come out clean, while di hour panel keep di full extended window (04:00 go 19:59 New York time). Every WAT label na a plain UTC+1 conversion, since Nigeria no dey adjust clock.
FAQ
Wetin time US stock market open for Lagos time?
14:30 WAT wen America dey on daylight saving, and 15:30 WAT wen dem dey on standard time. Di premarket window dey open five and half hour before di bell, so 09:00 WAT or 10:00 WAT.
US market close which time for WAT?
Di closing bell dey ring 21:00 WAT for di American summer clock and 22:00 WAT for di winter clock. Afta-hours dey add four more hour on top, so di tape dey run go 01:00 WAT or 02:00 WAT di next morning.
Lagos clock dey change for daylight saving?
No. WAT na UTC+1 all year round and Nigeria no dey observe daylight saving. Di one hour shift wey you dey feel twice a year na America own clock dey move, no be your own.
Which day US market dey close early, and wetin dat one be for WAT?
Di half day dey land afta Thanksgiving and around Christmas Eve, plus July 3 for some year. Di bell ring 1:00 p.m. New York time, wey na 19:00 WAT during American winter time or 18:00 WAT during American summer time.
If US market close for holiday, premarket still dey open for Lagos morning?
No. A full closure kill di three window: no premarket, no regular session, no afta-hours. Di closure panel above dey tag each date, so you fit see which one na dark day and which one na short session.
Every panel on dis page carry di exact SQL under am, open any one make you see how di number come out. If you wan check wetin di Lagos clock be for one particular session, ask di question for plain English on di Strasmore terminal.