Strasmore Research
Learn am Matt ConnorBy Matt Connor · Updated 2026-09-05 · data as of September 5, 2026 · refreshed weekly

Stock Market Hours: Open 9:30, Close 4:00 ET

Stock market go open and close what time? NYSE and Nasdaq regular hours na 9:30 a.m.-4 p.m. ET, with premarket and after-hours. Weekends, dem dey close.

US stock market hours dey run from 9:30 a.m. to 4:00 p.m. Eastern Time, Monday to Friday. NYSE and Nasdaq both open regular trading by 9:30 a.m. ET and close am by 4:00 p.m. ET. Around this regular session, two extended windows dey: premarket trading from 4:00 a.m. ET and after-hours trading until 8:00 p.m. ET. Markets dey shut on weekends and roughly ten holidays every year. Every figure for this page come from real trade records, and the exact query behind each number dey one click away. (For quick view of the next closure and the most recent session, see stock market open today.)

Market go open and close what time?

The regular trading session, na the hours wey quoted prices, index levels and evening news dey talk about, dey run from opening bell for 9:30 a.m. ET reach closing bell for 4:00 p.m. ET. Na six and a half hours, five days every week. The two main US listing exchanges dey use the same clock. Standard brokerage order dey work inside this period by default.

The full electronic trading day wide pass the bell times:

  • Premarket: 4:00 a.m. to 9:30 a.m. ET, electronic trading before opening bell.
  • Regular session: 9:30 a.m. to 4:00 p.m. ET, na here most of the day business dey happen.
  • After-hours: 4:00 p.m. to 8:00 p.m. ET, electronic trading after closing bell.

Two auctions dey mark the two ends of the regular day. Opening auction dey set each stock official opening price for 9:30 a.m. ET. Then closing auction, wey be one big matched trade moments after 4:00 p.m. ET, dey set the official closing price wey everywhere dey quote that evening. All the times for this page na Eastern time. For US West Coast, the same regular session dey run from 6:30 a.m. to 1:00 p.m.

How stock market hours dey look for the tape?

Definitions na one thing; tape na the proof. The panels below use one recent full-length session for SPY tape, 2026-09-02, a Wednesday, and na the latest session wey old enough make the record complete. The data feed dey run one or two days behind. We verify am by counting the regular-session minute bars: 390 of dem, one for every minute between the bells. The session first bar print for 04:00 ET, and the last one print for 19:59 ET. The tape cover the full extended day, from 4:00 a.m. to 8:00 p.m.

QueryOne full trading day for SPY, wey dem split by session window (latest full-length session)
session dateweekdayregular session barsfirst bar minute of daylast bar minute of dayfirst bar ETlast bar ETtotal shares mpremarket %regular %post-close 30min %evening %first 30min %last 30min %midday half-hour %
2026-09-02Wednesday390240119904:0019:5928.52.578.714.83.910.113.62.6
The exact SQL behind every number
WITH
(
    SELECT max(d)
    FROM
    (
        SELECT
            toDate(toTimeZone(window_start, 'America/New_York')) AS d,
            countIf((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) AS rth_bars
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY'
          AND window_start >= today() - 21
          AND window_start < today() - 2
        GROUP BY d
        HAVING rth_bars = 390
    )
) AS session_day
SELECT
    toString(session_day)                     AS session_date,
    formatDateTime(session_day, '%W')         AS weekday,
    countIf(et_min >= 570 AND et_min < 960)   AS regular_session_bars,
    min(et_min)                               AS first_bar_minute_of_day,
    max(et_min)                               AS last_bar_minute_of_day,
    formatDateTime(min(et_ts), '%H:%i')       AS first_bar_et,
    formatDateTime(max(et_ts), '%H:%i')       AS last_bar_et,
    round(sum(volume) / 1e6, 1)               AS total_shares_m,
    round(100.0 * sumIf(volume, et_min < 570) / sum(volume), 1)                    AS premarket_pct,
    round(100.0 * sumIf(volume, et_min >= 570 AND et_min < 960) / sum(volume), 1)  AS regular_pct,
    round(100.0 * sumIf(volume, et_min >= 960 AND et_min < 990) / sum(volume), 1)  AS post_close_30min_pct,
    round(100.0 * sumIf(volume, et_min >= 990) / sum(volume), 1)                   AS evening_pct,
    round(100.0 * sumIf(volume, et_min >= 570 AND et_min < 600) / sum(volume), 1)  AS first_30min_pct,
    round(100.0 * sumIf(volume, et_min >= 930 AND et_min < 960) / sum(volume), 1)  AS last_30min_pct,
    round(100.0 * sumIf(volume, et_min >= 750 AND et_min < 780) / sum(volume), 1)  AS midday_half_hour_pct
FROM
(
    SELECT
        volume,
        toTimeZone(window_start, 'America/New_York') AS et_ts,
        toHour(toTimeZone(window_start, 'America/New_York')) * 60
        + toMinute(toTimeZone(window_start, 'America/New_York')) AS et_min
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND toDate(toTimeZone(window_start, 'America/New_York')) = session_day
)
Run am yourself

The volume split na the main lesson. Out of 28.5 million SPY shares wey trade across the full sixteen-hour period, regular session carry 78.7%. The five-and-a-half-hour premarket print 2.5%. The half hour immediately after closing bell print 14.8%. This na the period wey large negotiated trades wey dem report to the tape after session close fit show. The remaining three and a half evening hours print 3.9% together.

Half-hour buckets show how the day take move:

QuerySPY volume by half hour, from premarket reach after-hours (same session, ET clock)
32 rows (showing 20)
ET half-hourshares m
04:000.04
04:300.02
05:000.01
05:300.01
06:000.02
06:300.02
07:000.16
07:300.07
08:000.12
08:300.11
09:000.14
09:302.88
10:002.58
10:301.87
11:001.23
11:301.28
12:000.72
12:300.73
13:000.88
13:300.87
The exact SQL behind every number
WITH
(
    SELECT max(d)
    FROM
    (
        SELECT
            toDate(toTimeZone(window_start, 'America/New_York')) AS d,
            countIf((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) AS rth_bars
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY'
          AND window_start >= today() - 21
          AND window_start < today() - 2
        GROUP BY d
        HAVING rth_bars = 390
    )
) AS session_day
SELECT
    formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_half_hour,
    round(sum(volume) / 1e6, 2) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
  AND toDate(toTimeZone(window_start, 'America/New_York')) = session_day
GROUP BY et_half_hour
ORDER BY et_half_hour
Run am yourself

For this session, the closing half hour print 13.6% of the whole day volume, compared with 2.6% for the 12:30-to-1:00 lunchtime half hour. The opening half hour print 10.1%. The heavy close get a mechanical reason: index funds, mutual funds, and benchmarked institutions trade at official closing prices, so their orders gather for the closing auction. Altogether, volume land inside 32 different half-hour buckets across the extended day.

Wetin be premarket and after-hours trading?

Premarket (4:00 a.m. to 9:30 a.m. ET) and after-hours (4:00 p.m. to 8:00 p.m. ET) na electronic-only trading windows around the normal trading day. Fewer participants dey trade for those periods, bid-ask spreads dey wider, and most brokers dey accept only limit orders for those sessions. Company news dey gather for these periods. Earnings releases dey come mostly just after the 4:00 p.m. close and during the hours before market open. Na those times stock price fit gap far from the previous close. Price wey print at 7:00 p.m. no guarantee where the stock go open the next morning.

Session-by-session volume shares, measured bid-ask spread costs, and the exact time wey headlines land dey inside after-hours and premarket trading, wey be the companion piece to this page. The short version, as the panels above show: extended sessions dey real and person fit trade for them, but volume dey thin compared with the regular day.

Options and futures dey trade for which hours?

Options on individual companies dey trade from 9:30 a.m. to 4:00 p.m. ET. Dem no dey trade for premarket or after-hours. Options on small list of broad-market ETFs and index products, like SPY, QQQ and IWM, plus index options like SPX and VIX, get extra 15 minutes. Dem dey trade reach 4:15 p.m. ET. The tape show the split for 2026-09-02, na the same session wey we measure above:

QuerySingle-name vs. ETF options for 4:00 p.m. bell: AAPL and SPY options trades around the close (same session)
contractsession datetrades 3:45 to 4:00trades 4:00 to 4:15last trade ETlast trade minute of day
AAPL options (single name)2026-09-025490216:00960
SPY options (ETF)2026-09-02423861858116:15975
The exact SQL behind every number
WITH
(
    SELECT max(d)
    FROM
    (
        SELECT
            toDate(toTimeZone(window_start, 'America/New_York')) AS d,
            countIf((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) AS rth_bars
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY'
          AND window_start >= today() - 21
          AND window_start < today() - 2
        GROUP BY d
        HAVING rth_bars = 390
    )
) AS session_day
SELECT
    if(startsWith(ticker, 'O:SPY'), 'SPY options (ETF)', 'AAPL options (single name)') AS contract,
    toString(session_day)                                                              AS session_date,
    countIf(sip_timestamp >= toDateTime(concat(toString(session_day), ' 15:45:00'), 'America/New_York')
        AND sip_timestamp <  toDateTime(concat(toString(session_day), ' 16:00:00'), 'America/New_York')) AS trades_345_to_400,
    countIf(sip_timestamp >= toDateTime(concat(toString(session_day), ' 16:00:00'), 'America/New_York')
        AND sip_timestamp <  toDateTime(concat(toString(session_day), ' 16:15:00'), 'America/New_York')) AS trades_400_to_415,
    formatDateTime(toTimeZone(max(sip_timestamp), 'America/New_York'), '%H:%i') AS last_trade_et,
    toHour(toTimeZone(max(sip_timestamp), 'America/New_York')) * 60
    + toMinute(toTimeZone(max(sip_timestamp), 'America/New_York'))              AS last_trade_minute_of_day
FROM global_markets.options_trades
WHERE (startsWith(ticker, 'O:SPY') OR startsWith(ticker, 'O:AAPL'))
  AND match(ticker, '^O:(SPY|AAPL)[0-9]{6}[CP][0-9]{8}$')
  AND sip_timestamp >= toDateTime(concat(toString(session_day), ' 15:45:00'), 'America/New_York')
  AND sip_timestamp <  toDateTime(concat(toString(session_day), ' 23:00:00'), 'America/New_York')
GROUP BY contract
ORDER BY contract
Run am yourself

The last 15 minutes of the regular session busy for both tapes: 5490 AAPL options trades, and 42386 SPY trades. The 15 minutes after the bell separate dem. AAPL manage 2 stray prints, with the last one for 16:00 ET. SPY print 18581 trades, and the last one happen for 16:15 ET. Expiration get its own timing. when 0DTE options dey trade explain am.

Futures get completely different trading hours. CME equity-index futures dey trade almost 24 hours, from Sunday 6:00 p.m. ET reach Friday 5:00 p.m. ET, with one-hour daily break from 5:00 p.m. ET. Na the overnight tape dey behind every headline wey talk say “futures are up this morning.” The bond market dey trade over-the-counter during SIFMA recommended hours, roughly from 8:00 a.m. to 5:00 p.m. ET. E get its own holiday calendar too. Bonds close for Columbus Day and Veterans Day, even when stocks still dey trade.

When is the stock market closed?

US stock markets dey close for weekends, about ten full-day holidays every year, plus some scheduled half days when dem dey close early at 1:00 p.m. ET. The calendar below come straight from the exchange schedule and e dey update by itself: each holiday go comot as e pass, and the next one go move up.

QueryUpcoming US stock market holidays and early closes, from the exchange calendar
holiday dateweekdayholidayday statusearly close ETdays away
2026-09-07MonLabor Dayclosed2
2026-11-26ThuThanksgivingclosed82
2026-11-27FriThanksgivingearly-close01:00 PM83
2026-12-24ThuChristmasearly-close01:00 PM110
2026-12-25FriChristmasclosed111
2027-01-01FriNew Years Dayclosed118
2027-01-18MonMartin Luther King, Jr. Dayclosed135
2027-02-15MonWashington's Birthdayclosed163
2027-03-26FriGood Fridayclosed202
2027-05-31MonMemorial Dayclosed268
2027-06-18FriJuneteenthclosed286
2027-07-05MonIndependence Dayclosed303
The exact SQL behind every number
SELECT
    toString(date)                       AS holiday_date,
    formatDateTime(date, '%a')           AS weekday,
    any(name)                            AS holiday,
    any(status)                          AS day_status,
    any(if(status = 'early-close',
           formatDateTime(toTimeZone(close, 'America/New_York'), '%I:%i %p'),
           ''))                          AS early_close_et,
    dateDiff('day', today(), date)       AS days_away
FROM global_markets.stocks_market_holidays
WHERE date >= today()
GROUP BY date
ORDER BY date
Run am yourself

The next scheduled closure na Labor Day on 2026-09-07, and e remain 2 days. The loaded calendar show 12 dated closures ahead, with each one marked as full closure or early close. On early-close day, regular session go end at 1:00 p.m. ET instead of 4:00 p.m. That one mean three and a half hours of trading instead of six and a half hours, with closing auction printing at 1:00 p.m. These half days dey mostly happen around Thanksgiving and Christmas. The weekend make-up rules — Saturday holiday dey close market on the Friday before, while Sunday holiday dey move am to the Monday after — plus the full calendar and how to audit past closure from the tape, dey covered for stock market holidays and early closes.

Half day for tape dey look like wetin?

Calendar dey show which days market go close early; tape dey show how e really look. The latest half day for SPY tape na 2025-12-24, a Wednesday: 210 regular-session minute bars from 9:30 a.m. reach the 1:00 p.m. closing auction.

QueryThe latest early-close session for SPY, wey dem split by session window
session dateweekdaymorning session barslast bar ETlast bar minute of daytotal shares mpremarket %regular %post-close 30min %evening %first 30min %last 30min %close minus open %
2025-12-24Wednesday21016:59101935.61.395.53.10.112.223.811.6
The exact SQL behind every number
WITH
(
    SELECT max(d)
    FROM
    (
        SELECT
            toDate(toTimeZone(window_start, 'America/New_York')) AS d,
            countIf((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) AS rth_bars
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY'
          AND window_start >= today() - 400
          AND window_start < today() - 2
        GROUP BY d
        HAVING rth_bars >= 150 AND rth_bars <= 240
    )
) AS half_day
SELECT
    toString(half_day)                          AS session_date,
    formatDateTime(half_day, '%W')              AS weekday,
    countIf(et_min >= 570 AND et_min < 780)     AS morning_session_bars,
    formatDateTime(max(et_ts), '%H:%i')         AS last_bar_et,
    max(et_min)                                 AS last_bar_minute_of_day,
    round(sum(volume) / 1e6, 1)                 AS total_shares_m,
    round(100.0 * sumIf(volume, et_min < 570) / sum(volume), 1)                    AS premarket_pct,
    round(100.0 * sumIf(volume, et_min >= 570 AND et_min < 780) / sum(volume), 1)  AS regular_pct,
    round(100.0 * sumIf(volume, et_min >= 780 AND et_min < 810) / sum(volume), 1)  AS post_close_30min_pct,
    round(100.0 * sumIf(volume, et_min >= 810) / sum(volume), 1)                   AS evening_pct,
    round(100.0 * sumIf(volume, et_min >= 570 AND et_min < 600) / sum(volume), 1)  AS first_30min_pct,
    round(100.0 * sumIf(volume, et_min >= 750 AND et_min < 780) / sum(volume), 1)  AS last_30min_pct,
    round(100.0 * sumIf(volume, et_min >= 750 AND et_min < 780) / sum(volume)
        - 100.0 * sumIf(volume, et_min >= 570 AND et_min < 600) / sum(volume), 1)  AS close_minus_open_pct
FROM
(
    SELECT
        volume,
        toTimeZone(window_start, 'America/New_York') AS et_ts,
        toHour(toTimeZone(window_start, 'America/New_York')) * 60
        + toMinute(toTimeZone(window_start, 'America/New_York')) AS et_min
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= today() - 400
      AND toDate(toTimeZone(window_start, 'America/New_York')) = half_day
)
Run am yourself

The shape of full day still dey show, even though dem compress the session. Out of the 35.6 million SPY shares wey print, shortened regular session carry 95.5%, while final half hour before 1:00 p.m. close carry 23.8%. E pass opening half hour wey carry 12.2%. Na the same closing-auction gravity wey normal day get, but dem move am forward three hours. The half hour after close print 3.1%, again for the block-report window, while the rest of afternoon only print 0.1%. Extended hours close early too: the last bar for the day print at 16:59 ET. On half days, after-hours end around 5:00 p.m., three hours before the usual 8:00 p.m. Options close early too: 1:00 p.m. for single names, and 1:15 p.m. for the extended ETF and index contracts.

QuerySPY volume by half hour for the early-close session, from premarket reach the shorter after-hours (ET clock)
21 rows (showing 20)
ET half-hourshares m
04:000.03
04:300
05:000.01
05:300
06:000.01
06:300.01
07:000.05
07:300.03
08:000.1
08:300.11
09:000.13
09:304.35
10:003.84
10:303.24
11:004.98
11:303.48
12:005.61
12:308.49
13:001.09
16:000.02
The exact SQL behind every number
WITH
(
    SELECT max(d)
    FROM
    (
        SELECT
            toDate(toTimeZone(window_start, 'America/New_York')) AS d,
            countIf((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) AS rth_bars
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY'
          AND window_start >= today() - 400
          AND window_start < today() - 2
        GROUP BY d
        HAVING rth_bars >= 150 AND rth_bars <= 240
    )
) AS half_day
SELECT
    formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_half_hour,
    round(sum(volume) / 1e6, 2) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
  AND window_start >= today() - 400
  AND toDate(toTimeZone(window_start, 'America/New_York')) = half_day
GROUP BY et_half_hour
ORDER BY et_half_hour
Run am yourself

Volume land inside 21 half-hour buckets. The usual busy-open and heavier-close shape squeeze enter three and a half hours.

How many trading days dey inside one year?

If you comot weekends and holidays, one calendar year get roughly 250 trading sessions. Counting them from the tape go show the exact number:

QueryTrading sessions for the past year, counted from the SPY tape
trading daysfull-length sessionsshortened sessionsirregular sessionsweekend sessionsfirst sessionlast session
2532512002025-09-022026-09-02
The exact SQL behind every number
SELECT
    count()                              AS trading_days,
    countIf(rth_bars >= 380)             AS full_length_sessions,
    countIf(rth_bars <= 240)             AS shortened_sessions,
    countIf(rth_bars > 240 AND rth_bars < 380) AS irregular_sessions,
    countIf(is_weekend)                  AS weekend_sessions,
    toString(min(d))                     AS first_session,
    toString(max(d))                     AS last_session
FROM
(
    SELECT
        toDate(toTimeZone(window_start, 'America/New_York')) AS d,
        toDayOfWeek(toDate(toTimeZone(window_start, 'America/New_York'))) >= 6 AS is_weekend,
        countIf((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) AS rth_bars
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= today() - 370
      AND window_start < today() - 2
    GROUP BY d, is_weekend
    HAVING rth_bars > 0
)
Run am yourself

Between 2025-09-02 and 2026-09-02, market hold 253 regular sessions: 251 full-length days plus 2 shortened ones. E hold exactly 0 weekend sessions too, and the tape itself confirm say no Saturday or Sunday get regular session.

Stock market hours for different countries

US hours na just one part of the almost continuous global trading rotation. London Stock Exchange dey trade from 8:00 a.m. to 4:30 p.m. local time. The last part of that session usually overlap with the first two US regular-session hours, from 9:30 to 11:30 a.m. ET. European market closing times dey happen around mid-morning for New York.

Tokyo dey trade from 9:00 a.m. to 3:30 p.m. local time, with lunch break. The whole session dey happen inside US overnight hours. Almost any weekday, some major exchange dey open somewhere. But US-listed stock only get prints during the US hours wey this page measure.

Stock Market Hours FAQ

Stock market dey open what time?

NYSE and Nasdaq dey open regular trading by 9:30 a.m. Eastern Time, Monday reach Friday. Electronic premarket trading dey start much earlier, by 4:00 a.m. ET, but each stock official opening price dey set for the 9:30 a.m. opening auction.

Stock market dey open for weekend?

No. US stock exchanges no dey run sessions on Saturday or Sunday. The trailing year tape data above show 0 weekend sessions. After Friday 4:00 p.m. close and the 8:00 p.m. after-hours cutoff, trading go resume with Monday 4:00 a.m. premarket, except holidays.

Wetin be pre-market and after-hours trading?

Na electronic trading wey happen outside regular hours. Premarket dey run from 4:00 a.m. reach 9:30 a.m. ET, while after-hours dey run from 4:00 p.m. reach 8:00 p.m. ET. Both get fewer participants and wider bid-ask spreads than regular session, and most brokers only accept limit orders during that time.

When market dey close early?

For scheduled half days, regular trading dey end by 1:00 p.m. ET instead of 4:00 p.m. This one normally happen on Friday after Thanksgiving, Christmas Eve when e fall on weekday, and July 3 for some years. The trailing year tape show 2 shortened sessions.

Wetin dey happen if dem halt stock when market wan close?

If stock still dey halted when closing bell ring, e no go get delayed closing auction that day. Exchange rules no allow reopening auction once the halt pass around 3:50 p.m. ET, so the halt simply continue through the close. Since no auction dey set price, exchange go use the stock volume-weighted average price from the stock own trades for the final five minutes before the halt as official closing price. E no be simply the last trade. Halts dey apply to each stock separately; the rest of the market still dey close by 4:00 p.m. as scheduled.

Stock market dey close by 4:00 or 4:30?

US stock exchanges dey close regular trading by 4:00 p.m. ET. Quotes wey still dey move after that dey come from after-hours session, wey dey run reach 8:00 p.m. ET. Some index products dey trade reach 4:15 p.m. ET.


Market hours na schedule; the tape na the receipt. Every panel above na stored query wey you fit open, edit and run again for Strasmore terminal. You fit check any session, any ticker, or the next closure ahead with plain English.

#market hours#sessions#trading calendar