When Index Funds Dey Trade: ETFs vs Mutual Funds
Know when index funds dey trade: ETFs fit buy and sell all day like stocks, while mutual funds fill at NAV after 4 p.m. See which wrapper fit you.
When index funds dey trade? Two answers dey inside that one question, and the one wey apply to you depend on the wrapper wey you hold. Index ETF dey trade continuously while market dey open, for any price wey buyer and seller agree on for that moment. Index mutual fund no dey trade at all during the day: every order wey person place before cutoff, whether na 9:31 a.m. or 3:55 p.m., go fill at the same net asset value (NAV), wey dem strike once after 4:00 p.m. market close.
The fork wey answer the question
Index fund na rule for holding basket of securities. The rule no talk anything about how you go buy am. And the two wrappers wey carry am no dey behave the same way when execution happen. Both fit track the exact same index and charge almost the same fee.
Exchange-traded fund (ETF) get ticker and live two-sided quote for exchange. You send order, e meet another person order, and you go know your fill price in about one second.
Mutual fund no get listing or quote. Your order pass through your broker go the fund company. The fund value its basket after market close. That one number become the price for everybody wey meet the cutoff that day. Two shareholders wey place order seven hours apart go pay the same price. The full order-to-confirm walkthrough dey when mutual funds dey trade, and the calculation behind the price dey how mutual fund NAV dey calculated.
Index ETFs kilode dey trade?
From the first print for morning reach the last print for evening. The panel below dey follow two index ETFs through one trading session, Tuesday, September 15, 2026: VOO, wey dey track S&P 500, and QQQ, wey dey track Nasdaq-100. Each row na 30-minute bucket for New York clock time, and each value na the percentage change from that fund’s first print for the day.
| et time | voo change pct | qqq change pct |
|---|---|---|
| 04:00 | -0.02 | -0.02 |
| 04:30 | -0.05 | -0.04 |
| 05:00 | -0.09 | -0.07 |
| 05:30 | 0.15 | 0.17 |
| 06:00 | 0.17 | 0.24 |
| 06:30 | 0.28 | 0.37 |
| 07:00 | 0.31 | 0.41 |
| 07:30 | 0.35 | 0.45 |
| 08:00 | 0.37 | 0.45 |
| 08:30 | 0.44 | 0.5 |
| 09:00 | 0.4 | 0.45 |
| 09:30 | 0.32 | 0.49 |
| 10:00 | 0.05 | 0.15 |
| 10:30 | -0.1 | -0.15 |
| 11:00 | 0.04 | 0.02 |
| 11:30 | 0 | -0.03 |
| 12:00 | 0.06 | 0 |
| 12:30 | 0.07 | -0.01 |
| 13:00 | -0.04 | -0.1 |
| 13:30 | 0.02 | -0.07 |
The exact SQL behind every number
WITH
bars AS
(
SELECT
ticker,
toTimeZone(window_start, 'America/New_York') AS et,
toFloat64(close) AS px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('VOO', 'QQQ')
AND window_start >= toDateTime('2026-09-15 04:00:00')
AND window_start < toDateTime('2026-09-16 04:00:00')
),
firsts AS
(
SELECT
ticker,
argMin(px, et) AS open_px
FROM bars
GROUP BY ticker
)
SELECT
formatDateTime(toStartOfInterval(b.et, INTERVAL 30 MINUTE), '%H:%i') AS et_time,
round(100 * (argMaxIf(b.px, b.et, b.ticker = 'VOO') / anyIf(f.open_px, f.ticker = 'VOO') - 1), 2) AS voo_change_pct,
round(100 * (argMaxIf(b.px, b.et, b.ticker = 'QQQ') / anyIf(f.open_px, f.ticker = 'QQQ') - 1), 2) AS qqq_change_pct
FROM bars AS b
INNER JOIN firsts AS f ON f.ticker = b.ticker
GROUP BY et_time
HAVING countIf(b.ticker = 'VOO') > 0
AND countIf(b.ticker = 'QQQ') > 0
ORDER BY et_time32 half-hour buckets carry prints for both funds. The first one na 04:00 and the last one na 19:30, New York time. Regular trading dey run from 9:30 a.m. reach 4:00 p.m. Buckets wey dey outside those hours na pre-market and post-market windows. Na there both funds dey trade with much thinner volume. By the final bucket, VOO dey 0.14% from where e start that day, while QQQ dey -0.04%.
Every level for those two lines na price wey person fit hit. Na so continuous trading dey work: fund price na whatever the order book dey show for the moment you ask.
How many prices index ETF dey get for one day?
No be one. The number fit reach hundreds of thousands. This panel dey count VOO trade prints for each session over the last few weeks. E also show how many separate minutes for each day get at least one trade.
| session date | trade prints thousands | minutes wey get prints |
|---|---|---|
| 2026-09-02 | 264.1 | 636 |
| 2026-09-03 | 246.6 | 619 |
| 2026-09-04 | 302.1 | 631 |
| 2026-09-08 | 423.5 | 684 |
| 2026-09-09 | 322.6 | 650 |
| 2026-09-10 | 360.3 | 682 |
| 2026-09-11 | 270.1 | 635 |
| 2026-09-14 | 367.9 | 680 |
| 2026-09-15 | 356 | 659 |
| 2026-09-16 | 324.5 | 720 |
| 2026-09-17 | 231.4 | 699 |
| 2026-09-18 | 276.1 | 622 |
| 2026-09-21 | 330.6 | 735 |
| 2026-09-22 | 250.6 | 692 |
| 2026-09-23 | 272.2 | 663 |
| 2026-09-24 | 243.7 | 679 |
The exact SQL behind every number
SELECT
toString(toDate(toTimeZone(window_start, 'America/New_York'))) AS session_date,
round(sum(transactions) / 1000, 1) AS trade_prints_thousands,
count() AS minutes_with_prints
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'VOO'
AND window_start >= today() - 24
AND window_start < today() - 1
GROUP BY session_date
ORDER BY session_dateFor 2026-09-24, VOO get about 243.7 thousand individual trades, across 679 different minutes of the day. The panel cover 16 sessions, and the same pattern show for all of them. Index mutual fund wey dey track the same index for those 16 sessions give shareholders only 16 prices altogether: one every day, each one set after trading tape don quiet.
When index mutual funds dey trade?
Na once every day, after market close, for price wey never exist when you place the order. This rule get name: forward pricing. E come from SEC Rule 22c-1, no be broker policy. E get four practical effects.
- You no know your price when you place the order. You order with dollar amount or number of shares, never with price. The mechanics dey for mutual fund forward pricing rule.
- Cutoff time usually dey before 4:00 p.m. ET. The fund’s own deadline na market close. Your broker need time to group and transmit orders, so many brokers set their own deadline 15 to 90 minutes before market close. Check your own against broker order cutoff times.
- Limit orders no apply. No order book dey where the instruction fit wait, and brokers dey reject limit and stop orders for mutual funds. See limit orders on mutual funds.
- Confirmation go come the next morning. The fund calculate NAV for evening, your broker post the executed trade overnight, and cash settle one or two business days later. See mutual fund settlement time.
If you miss the cutoff by one minute, the order no fail. E go queue for the next session’s NAV, wey na another unknown price one day further out.
Time of day fit change your price?
For ETF, yes, depending on how much the fund move that day. For mutual fund, no. The exact minute wey you submit order no matter, as long as you beat the cutoff. The panel measure the size of the difference by taking each session high and low, then express the gap as percentage of the closing price.
| session date | voo range pct | qqq range pct |
|---|---|---|
| 2026-08-12 | 0.47 | 0.6 |
| 2026-08-13 | 0.67 | 1.36 |
| 2026-08-14 | 0.43 | 0.83 |
| 2026-08-17 | 0.56 | 0.73 |
| 2026-08-18 | 0.34 | 0.87 |
| 2026-08-19 | 0.57 | 1.24 |
| 2026-08-20 | 0.8 | 0.9 |
| 2026-08-21 | 0.48 | 0.91 |
| 2026-08-24 | 0.41 | 1 |
| 2026-08-25 | 0.48 | 0.93 |
| 2026-08-26 | 0.44 | 0.71 |
| 2026-08-27 | 0.67 | 0.95 |
| 2026-08-28 | 0.91 | 1.26 |
| 2026-08-31 | 0.42 | 0.62 |
| 2026-09-01 | 0.68 | 1.08 |
| 2026-09-02 | 0.62 | 0.66 |
| 2026-09-03 | 0.84 | 1.29 |
| 2026-09-04 | 0.5 | 0.74 |
| 2026-09-08 | 0.59 | 0.88 |
| 2026-09-09 | 0.46 | 0.79 |
The exact SQL behind every number
SELECT
toString(date) AS session_date,
round(100 * toFloat64(maxIf(high, ticker = 'VOO') - minIf(low, ticker = 'VOO')) / toFloat64(anyIf(close, ticker = 'VOO')), 2) AS voo_range_pct,
round(100 * toFloat64(maxIf(high, ticker = 'QQQ') - minIf(low, ticker = 'QQQ')) / toFloat64(anyIf(close, ticker = 'QQQ')), 2) AS qqq_range_pct
FROM global_markets.stocks_daily_aggs
WHERE ticker IN ('VOO', 'QQQ')
AND date >= today() - 45
AND date < today() - 1
GROUP BY date
HAVING countIf(ticker = 'VOO') > 0
AND countIf(ticker = 'QQQ') > 0
ORDER BY dateFor 2026-09-24, VOO high sit 0.74% above the low, while QQQ high sit 1.08% above its low. Dem measure each one against the fund own close. The band na the range of prices wey ETF buyer fit pay that day, based only on the minute wey the person enter. Across the 31 sessions for the panel, the band usually narrow, but e never reach zero. Mutual fund buyer receive the same close-based number, no matter when the order enter.
ETF clock dey cost you wetin
Instant execution get price, and e no be expense ratio. ETF quote get bid, wey be the best standing offer to buy, and ask, wey be the best standing offer to sell. The gap between dem na spread. You pay am when you enter and again when you comot. The panel below measure this gap for some big index ETFs across five minutes for the morning of September 15, 2026. E express am in basis points of the quote midpoint. One basis point na one hundredth of one percent.
| symbol | average spread bps | p90 spread bps |
|---|---|---|
| SPY | 0.273 | 0.395 |
| QQQ | 0.332 | 0.423 |
| VOO | 0.428 | 0.573 |
| IWM | 0.471 | 0.7 |
| IVV | 0.739 | 0.92 |
| DIA | 0.798 | 0.96 |
The exact SQL behind every number
SELECT
ticker AS symbol,
round(avg(20000 * toFloat64(ask_price - bid_price) / toFloat64(ask_price + bid_price)), 3) AS avg_spread_bps,
round(quantileDeterministic(0.9)(20000 * toFloat64(ask_price - bid_price) / toFloat64(ask_price + bid_price), toUInt64(sequence_number)), 3) AS p90_spread_bps
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'VOO', 'IVV', 'QQQ', 'DIA', 'IWM')
AND sip_timestamp >= toDateTime('2026-09-15 14:00:00')
AND sip_timestamp < toDateTime('2026-09-15 14:05:00')
AND ask_price > bid_price
AND bid_price > 0
GROUP BY ticker
ORDER BY avg_spread_bpsSPY show the tightest average spread among the 6 funds at 0.273 basis points, while DIA get the widest at 0.798. The 90th percentile column na the one wey worth studying. For that same fund, 0.96 basis points show the wider moments wey market order fit land. Mutual fund no get spread at all. Na this be the one genuine pricing advantage of the NAV clock.
ETF price fit also stay small above or below wetin the basket worth, either premium or discount. The machinery wey dey control this gap dey described for ETF creation and redemption, and ETF premium and discount to NAV dey measure am.
You fit day trade index fund?
You fit mechanically trade an index ETF as often as your account rules allow, but pattern day trader rule still apply if na margin account. You no fit day trade index mutual fund at all. Since e get only one price every day, nothing dey for you trade against during the day. Fund companies still dey block round trips through frequent-trading restrictions. The wrapper-by-wrapper detail dey for you fit day trade index fund, while broader comparison of the two containers dey for mutual funds vs ETFs.
FAQ
Index mutual fund order dem dey execute what time?
After market close. If order reach fund before 4:00 p.m. ET cutoff, e go receive that day NAV, wey dem normally calculate and publish for evening. If order enter later, e go receive next business day NAV. Your broker own deadline often dey earlier than the fund own deadline.
I fit buy index fund after hours?
Index ETF dey trade for pre-market and post-market sessions when your broker route order there. Volume dey thinner and spreads dey wider for those sessions. You fit enter index mutual fund order any time, but e go queue for next NAV instead of filling when you send am.
Why my index mutual fund price dey update only once every day?
Mutual fund no get intraday market for its shares, and e no get quote wey fit move. The number wey dey your screen na the last NAV wey dem strike. E go remain there until dem process the next market close.
Index ETFs dey trade at NAV?
E dey trade close to NAV, but no be exactly. ETF dey trade at the price wey order book prints. That price fit dey slightly above NAV, as premium, or slightly below am, as discount. Authorized participants dey arbitrage big gaps through creation and redemption. This one dey keep liquid index ETFs within a few basis points of fair value most of the time.
Data notes
The intraday and spread panels dey tied to September 15, 2026, so their numbers no dey change for each regeneration. The minute-bar panels cover the full New York calendar day, from midnight reach midnight, instead of one hardcoded session window. Na why pre-market and post-market buckets dey show. Spreads come from the national best bid and offer, after filtering quotes wey ask pass bid. The rolling panels stop one day before today because the latest session fit still dey fill in.
Every panel here come with the SQL wey produce am, inside an expander under each chart. If you wan run the same counts on fund wey you hold, ask the question for plain English on the Strasmore terminal.