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

US stocks 23/5 trading plan for December 6, 2026

US stocks fit trade 23/5 from December 6, 2026 if SIP feeds ready. See how overnight sessions affect trade dates, daily bars, volume and LULD bands.

US stocks 23/5 trading plan na to start Sunday, December 6, 2026, when the two consolidated data feeds behind every US stock quote, the CTA and UTP SIPs, dey scheduled to run from 9 p.m. ET Sunday to 8 p.m. ET Friday, with one-hour maintenance pause every evening. This one add new overnight session from 9 p.m. to 4 a.m. ET before pre-market. The mechanics matter pass the headline: every print between 9 p.m. and 8 p.m. the next day get one trade date, overnight volume enter the daily bar, official open and close remain where dem dey, and price bands work differently after dark. Every date for this page na plan wey go hold only if the SIPs ready on time.

When 23/5 trading go start for US stocks?

The schedule dey rest on two documents. SEC order 34-106061 approve the amendments to the CTA and UTP plans wey extend the SIPs’ operating hours, while UTP Vendor Alert #2026-24 set the target: Sunday, December 6, 2026, with first prints at 9 p.m. ET. SIP, meaning Securities Information Processor, na utility wey merge trades and quotes from every exchange into one official tape. CTA carry NYSE-listed names, while UTP carry Nasdaq-listed names. From that evening, the plan na for both of dem to run 23 hours per day, five days per week:

  • 9:00 p.m. to 4:00 a.m. ET: the new overnight session
  • 4:00 a.m. to 9:30 a.m. ET: pre-market, no change
  • 9:30 a.m. to 4:00 p.m. ET: regular session, no change
  • 4:00 p.m. to 8:00 p.m. ET: after-hours, no change
  • 8:00 p.m. to 9:00 p.m. ET: SIP maintenance pause, no consolidated prints

The week go open at 9 p.m. Sunday and end at 8 p.m. Friday. Weekend remain dark. The exchanges wey dey expected for the first cohort, as of September 2026, na Cboe EDGX, NYSE Arca, 24X National and Nasdaq. Each venue go file its own rule change and choose its own start date, so make you see that list as expected, no be final. The SIPs’ readiness na the gating item: if the feeds delay, the whole timeline go move with dem. For wetin you fit do tonight, see wetin you fit do today. This page dey cover wetin go change for the tape once the SIPs extend.

How the tape dey look today?

Today, the consolidated tape dey run from 4 a.m. to 8 p.m. ET, making 16 hours. The panel below group one month of SPY minute bars by ET clock hour. E no assume any session times; e simply report where prints dey.

QueryWhere SPY volume dey print today, by ET clock hour (trailing month)
ET hourvolume for millionsshare (%)minute bars
04:001.90.27907
05:000.60.08816
06:000.80.12831
07:003.40.491079
08:008.81.281131
09:0076.611.21139
10:0091.113.311140
11:0074.410.871140
12:0055.98.161140
13:00507.31140
14:0062.79.161140
15:00173.825.391140
16:0075.511.041118
17:006.80.99858
18:001.70.24846
19:000.70.1782
The exact SQL behind every number
WITH
(
    SELECT sum(volume)
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= today() - 30
      AND window_start <  today() - 2
) AS month_volume
SELECT
    formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:00') AS et_hour,
    round(toFloat64(sum(volume)) / 1e6, 1)                               AS volume_millions,
    round(100 * toFloat64(sum(volume)) / toFloat64(month_volume), 2)     AS share_pct,
    count()                                                              AS minute_bars
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
  AND window_start >= today() - 30
  AND window_start <  today() - 2
GROUP BY et_hour
HAVING count() >= 5
ORDER BY et_hour
Run am yourself

The tape cover 16 clock hours, from 04:00 to 19:00 ET, and e no get prints between 8 p.m. and 4 a.m. That empty period na exactly where the plan put the overnight session: seven hours from 9 p.m. to 4 a.m., plus the maintenance hour before am. The distribution no balance: the 04:00 hour carry 0.27% of SPY’s volume for the month, while the 19:00 hour carry 0.1%, beside regular session wey take almost everything. Overnight volume go join that curve for the thin end of the clock, and our pre-market and after-hours guide explain how thin book dey behave during those hours.

Which trade date overnight print go carry?

Under the plan, the full 9 p.m. to 8 p.m. window na one trading day, and dem name am after the calendar day wey the regular session fall on. A print at 9:30 p.m. Sunday, December 6, carry Monday, December 7 as its trade date. A print at 11 p.m. Monday belong to Tuesday. The 8 p.m. to 9 p.m. pause na the seam between two trade dates.

Make you note wetin this one do to the calendar. The wall-clock date of that Sunday 9:30 p.m. print na Sunday, but its trade date na Monday. Any logic wey group prints by ET calendar date, including the SQL under every panel for this page, correct today for one reason: nothing dey print after 8 p.m. Once the extension go live, prints after 9 p.m. ET go enter the next trade date, and “group by ET date” go need become “group by ET date, shifted forward after 9 p.m.”

The timestamps behind each panel dey stored in UTC, then dem convert dem to New York time before assigning date. For December, Eastern time na UTC minus five, so print stamped 02:30 UTC on Monday na 9:30 p.m. ET Sunday print with Monday trade date. The market data timestamps guide go explain the conversion.

Wetin go happen to the daily OHLCV bar?

A daily OHLCV bar, meaning open, high, low, close and volume, dey built from the consolidated tape by rule. Consolidated daily volume count every eligible print wey get that trade date, no matter the session wey e happen. Today, this already mean say pre-market and after-hours volume dey inside the daily bar. After the extension, overnight volume go join am. Official open go remain the 9:30 a.m. opening auction, and official close go remain the 4:00 p.m. closing auction. Neither one go move. The first print at 9 p.m. no be the open, and the last print before 8 p.m. no be the close.

QuerySPY daily bar volume vs. regular-session slice (trailing month)
session datesession labeldaily bar millionsregular session millionsoutside regular (%)
2026-08-17Aug 1734.428.417.44
2026-08-18Aug 1843.934.421.62
2026-08-19Aug 1940.33123.11
2026-08-20Aug 2045.53816.61
2026-08-21Aug 2139.233.714.06
2026-08-24Aug 2432.427.216.01
2026-08-25Aug 2527.42412.45
2026-08-26Aug 2628.822.920.41
2026-08-27Aug 2734.628.816.74
2026-08-28Aug 2836.731.613.96
2026-08-31Aug 3138.829.823.25
2026-09-01Sep 141.132.221.78
2026-09-02Sep 229.622.424.22
2026-09-03Sep 343.535.518.41
2026-09-04Sep 434.126.821.39
2026-09-08Sep 844.731.828.85
2026-09-09Sep 932.827.516.23
2026-09-10Sep 1042.737.312.82
2026-09-11Sep 1145.536.918.93
The exact SQL behind every number
SELECT
    toString(daily.date)                                                                AS session_date,
    concat(formatDateTime(daily.date, '%b'), ' ', toString(toDayOfMonth(daily.date)))   AS session_label,
    round(toFloat64(daily.day_volume) / 1e6, 1)                                         AS daily_bar_millions,
    round(toFloat64(intraday.regular_volume) / 1e6, 1)                                  AS regular_session_millions,
    round(100 * (toFloat64(daily.day_volume) - toFloat64(intraday.regular_volume))
              / toFloat64(daily.day_volume), 2)                                         AS outside_regular_pct
FROM
(
    SELECT
        date,
        max(volume) AS day_volume
    FROM global_markets.stocks_daily_aggs
    WHERE ticker = 'SPY'
      AND date >= today() - 30
      AND date <  today() - 2
    GROUP BY date
) AS daily
INNER JOIN
(
    SELECT
        toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
        sum(volume)                                          AS regular_volume
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= today() - 30
      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 et_date
) AS intraday ON intraday.et_date = daily.date
ORDER BY daily.date
Run am yourself

On Sep 11, SPY daily bar carry 45.5 million shares. Out of that, 36.9 million trade inside the 9:30 to 4:00 clock window, leaving 18.93% of the day outside the regular session. That gap na today’s extended-hours share, and na the line wey go increase once the tape add seven more hours. How OHLCV bars dey built cover the auction-based open and close in detail.

Prints outside the regular session carry Form T sale condition, and Form T prints no dey update last-sale price or session high and low. But dem dey update consolidated volume. Under the plan, overnight session go get the same treatment: a 2 a.m. print go add to volume but leave last sale untouched. The codes involved already dey defined for the tape.

QueryExtended-hours sale conditions wey dem define for tape
idcondition namemeaning
12Form T/Extended Hours
13Extended Hours (Sold Out Of Sequence)
248Extended Hours TradeTransaction represents a trade that was executed outside of regular market hours. Trades do not update Open, High, Low, and Closing Prices.
The exact SQL behind every number
SELECT
    id,
    any(name)        AS condition_name,
    any(description) AS meaning
FROM global_markets.stocks_condition_codes
WHERE name ILIKE '%form t%'
   OR name ILIKE '%extended%hours%'
GROUP BY id
ORDER BY id
Run am yourself

The tape define 3 extended-hours sale conditions, with the first one being Form T/Extended Hours. Trade condition codes explained decode the full list, including which codes fit move last sale.

How I fit compare volume across the December boundary?

If the plan hold, January 2027 daily volume compare against November 2026 go put 23-hour trade date beside 16-hour one. The fix na to compare like with like: slice the tape by ET clock time and keep the same slice on both sides of the boundary. The regular-session slice, 9:30 to 4:00, no change under the extension and e provide the cleanest baseline. The panel below measure how large the outside-regular share already be for seven household names. Na the share wey naive before-and-after comparison go quietly inflate.

QueryShare of volume wey print outside 9:30 to 4:00 ET, seven household names (trailing month)
tickerpremarket (%)after-hours (%)outside regular (%)
SPY2.8912.3715.26
NVDA3.87.8611.65
MSFT4.814.849.65
AAPL2.744.487.22
KO0.725.646.36
AMZN2.483.215.7
TSLA2.752.064.81
The exact SQL behind every number
SELECT
    ticker,
    round(100 * toFloat64(sumIf(volume, minute_of_day < 570)) / toFloat64(sum(volume)), 2)  AS premarket_pct,
    round(100 * toFloat64(sumIf(volume, minute_of_day >= 960)) / toFloat64(sum(volume)), 2) AS after_hours_pct,
    round(100 * toFloat64(sumIf(volume, minute_of_day < 570 OR minute_of_day >= 960))
              / toFloat64(sum(volume)), 2)                                                 AS outside_regular_pct
FROM
(
    SELECT
        ticker,
        volume,
        toHour(toTimeZone(window_start, 'America/New_York')) * 60
          + toMinute(toTimeZone(window_start, 'America/New_York')) AS minute_of_day
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('SPY', 'AAPL', 'MSFT', 'NVDA', 'TSLA', 'AMZN', 'KO')
      AND window_start >= today() - 30
      AND window_start <  today() - 2
)
GROUP BY ticker
HAVING sum(volume) > 0
ORDER BY outside_regular_pct DESC
Run am yourself

For the trailing month, SPY print 15.26% of its volume outside the regular session, the biggest share among the seven. The split na 2.89% pre-market and 12.37% after-hours. TSLA dey for the other end at 4.81%. Ranking names by total volume fit change after the extension simply because of who trade overnight, while regular-session slice remain the same. Keep regular-session volume series beside the consolidated one, as the panel above do, and compare December with November using that series.

How LULD bands dey work overnight?

Limit Up-Limit Down (LULD) na price-band mechanism wey limit, then pause, stock wey move outside a band around reference price. For regular session, reference price dey roll: dem recompute am from the previous five minutes of trading, and the bands move with am. Overnight plan different. Bands dey static: dem publish dem once at 9 p.m. ET using the reference price available then, and hold dem for the whole overnight session. The quote feed LULD price-band indicator gain two values, G and H, wey dem reserve for overnight regime, so data consumer fit know overnight band from daytime one. Static band no dey re-centre, so stock wey move far after 9 p.m. go remain against that band until daytime machinery restart. Why stocks halt under Limit Up-Limit Down cover the daytime regime.

Wetin happen if the SIPs no ready?

Two parts of the plumbing don already move ahead of the tape. NSCC, the clearinghouse wey net and guarantee US equity trades, don run 24/5 since June 29, 2026, as of September 2026. So overnight trade already get clearing path and settle T+1 from its trade date, just like daytime trade. Also, 24X National hold SEC exemptive relief wey take effect January 24, 2027. That relief na the stated fallback: if the SIPs’ December date delay, 24X overnight session fit open under am before the consolidated feeds. Either way, launch depend on SIPs’ readiness, and every date for this page mean “planned for,” no be “happening on.” The SIP vs direct exchange feeds guide explain why consolidated feed na the thing wey must ready.

FAQ

When 23/5 stock trading go start?

The plan na Sunday, December 6, 2026 at 9 p.m. ET, when CTA and UTP SIPs dey scheduled to begin 23-hour operation under SEC order 34-106061 and UTP Vendor Alert #2026-24. The date go hold only if the SIPs ready. If dem delay, exchanges’ overnight sessions go move with dem.

Which trade date Sunday night stock trade get?

Monday. Under the plan, trading day run from 9 p.m. ET to 8 p.m. ET the next evening. So print at 9:30 p.m. Sunday carry Monday trade date and count toward Monday consolidated volume.

Overnight trading go change official open and close?

No. Official open remain the 9:30 a.m. ET opening auction, while official close remain the 4:00 p.m. ET closing auction. Overnight prints carry Form T condition: dem add to volume but never update last-sale price.

LULD price bands dey apply during overnight session?

Yes, but in static form. Under the plan, dem publish the bands once at 9 p.m. ET for the whole overnight session, instead of rolling as dem do during regular session. The quote feed mark dem with the new indicator values G and H.


Every panel above carry its SQL. Expand am to see exactly how dem cut the session slice, or run the same clock-hour breakdown on any ticker from the Strasmore terminal.

#market hours#overnight trading#sip#trade date#luld#market data