Strasmore Research
Learn Matt ConnorBy Matt Connor · data as of September 22, 2026 · refreshed weekly

Can You Use a Limit Order on a Mutual Fund?

A mutual fund order ticket has no price box: every buy and sell strikes at the next computed NAV. What a limit order cannot do, and the two levers you have.

You cannot place a limit order on a mutual fund, and the missing price box on the order ticket is not a broker oversight. A mutual fund order is an instruction to transact at the next net asset value the fund computes, which for most US funds happens once per trading day after the 4 p.m. ET close. A price you name in advance has nothing to attach to, and the same is true of stop orders and market-on-close orders.

Can you put a limit order on a mutual fund?

No, and the mechanism is worth knowing. Fund shares do not change hands between buyers and sellers on an exchange. You transact with the fund itself, which issues new shares to buyers and redeems shares from sellers at a single price per day. That price is the net asset value, or NAV: total assets minus liabilities, divided by shares outstanding. Our guide to how mutual fund NAV is calculated walks through the arithmetic.

The rule that removes the price box is forward pricing. Every order, whenever it arrives during the day, is filled at the NAV computed after it arrives. Nobody who places an order knows the price yet. A limit order says fill me at $47.50 or better; a fund ticket has no live quote to measure $47.50 against, and the one price of the day is not published until hours later. The same mechanics leave the other fields empty: no day or good-til-canceled duration, no routing choice, no partial fill, and no queue position to fight for.

What the mutual fund order ticket actually collects

Strip a fund ticket down and it asks for very little:

  • the fund, by name or symbol
  • the direction: buy, sell, or exchange
  • the amount, entered in dollars or in shares, with "all shares" available on a sell
  • the account, plus a cost basis method on a taxable sell

That is the entire instruction. Dollars are the native unit. Fractional shares are ordinary here: $1,000 buys $1,000 of the fund to several decimal places rather than a whole number of shares with cash left over. When mutual funds trade covers the cutoff clock in more detail.

A $1,000 order at 11 a.m. and one at 3:59 p.m.

Take two hypothetical buys of the same fund on the same day, one entered at 11 a.m. and one at 3:59 p.m. Both arrive before the 4 p.m. cutoff. Both strike at that evening's NAV. Both receive the identical price per share, and nothing that happened on the tape between 11 a.m. and 3:59 p.m. separates them. If the NAV strikes at $47.20, each $1,000 buys 21.1864 shares.

Move the second order 90 seconds later, to 4:01 p.m., and it is a different trade: it strikes at the next day's NAV, roughly 28 hours after the button was pressed.

Now hold that against an exchange-traded fund covering the same index. An ETF trades all session at whatever price the market is making for it. Here is one broad-market ETF, averaged into half-hour buckets, through a single session.

QueryOne index ETF's price through a single session, in half-hour ET buckets
et_timeetf_priceasof_label
09:30760.7Sep 18
10:00759.31Sep 18
10:30759.41Sep 18
11:00759.76Sep 18
11:30759.3Sep 18
12:00758.84Sep 18
12:30759.13Sep 18
13:00759.37Sep 18
13:30759.66Sep 18
14:00760.02Sep 18
14:30760.86Sep 18
15:00761.16Sep 18
15:30761.25Sep 18
The exact SQL behind every number
WITH
    (
        SELECT max(toDate(toTimeZone(window_start, 'America/New_York')))
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY'
          AND window_start >= today() - 20
          AND window_start <  today() - 2
    ) AS charted_session
SELECT
    formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,
    round(avg(toFloat64(close)), 2)                                                                             AS etf_price,
    min(formatDateTime(toTimeZone(window_start, 'America/New_York'), '%b %e'))                                  AS asof_label
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
  AND toDate(toTimeZone(window_start, 'America/New_York')) = charted_session
  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_time
ORDER BY et_time
Run this yourself

Between the 09:30 bucket and the 15:30 bucket on Sep 18, the average traded price of one share moved from $760.7 to $761.25 across 13 buckets. On that ticket, 11 a.m. and 3:59 p.m. are two different prices, and the limit order is the tool for naming which one you will accept.

The same index exposure on an ETF ticket, where limit orders do apply

The intraday travel above is not an unusual session. The panel below measures, one row per session, how far the price ranged inside each day and how far the close finished from the open.

QueryHow far one index ETF travelled inside each recent session
29 rows (showing 20)
session_dateasof_labelhigh_low_range_pctopen_to_close_move_pct
2026-08-10Aug 100.440.06
2026-08-11Aug 110.70.51
2026-08-12Aug 120.470.29
2026-08-13Aug 130.680.39
2026-08-14Aug 140.430.28
2026-08-17Aug 170.550.45
2026-08-18Aug 180.340.16
2026-08-19Aug 190.570.17
2026-08-20Aug 200.80.44
2026-08-21Aug 210.480.04
2026-08-24Aug 240.410.17
2026-08-25Aug 250.490.03
2026-08-26Aug 260.450.18
2026-08-27Aug 270.680.34
2026-08-28Aug 280.910.31
2026-08-31Aug 310.430.04
2026-09-01Sep 10.680.03
2026-09-02Sep 20.620.36
2026-09-03Sep 30.860.69
2026-09-04Sep 40.50.24
The exact SQL behind every number
SELECT
    toString(date)                                                                     AS session_date,
    formatDateTime(date, '%b %e')                                                      AS asof_label,
    round((toFloat64(max(high)) / toFloat64(min(low)) - 1) * 100, 2)                   AS high_low_range_pct,
    round(abs(toFloat64(any(close)) / toFloat64(any(open)) - 1) * 100, 2)              AS open_to_close_move_pct
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'SPY'
  AND date >= today() - 45
  AND date <= today() - 3
GROUP BY date
ORDER BY date
Run this yourself

Across the 29 sessions between Aug 10 and Sep 18, each row is the width of one trading day. On Sep 18 the session high sat 0.53% above the session low, while the close finished 0.05% away from the open. Every one of those gaps is a decision a fund investor never has to make and an ETF investor cannot avoid.

Even the closing price is not one obvious number on an exchange-traded ticket. The panel below compares the last regular-session minute against the official closing print for several large index ETFs. A basis point is one hundredth of a percentage point.

QueryGap between the last regular-session minute and the official close
tickeravg_gap_bpswidest_gap_bpsobservations
IVV0.94.251
VTI0.93.751
VOO0.82.851
QQQ0.8351
SPY0.72.951
DIA0.61.551
The exact SQL behind every number
WITH last_regular_minute AS
(
    SELECT
        ticker,
        toDate(toTimeZone(window_start, 'America/New_York')) AS d,
        argMax(toFloat64(close), window_start)               AS minute_close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('SPY', 'IVV', 'VOO', 'QQQ', 'VTI', 'DIA')
      AND window_start >= today() - 75
      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 ticker, d
)
SELECT
    a.ticker                                                                AS ticker,
    round(avg(abs(toFloat64(a.close) / m.minute_close - 1) * 10000), 1)     AS avg_gap_bps,
    round(max(abs(toFloat64(a.close) / m.minute_close - 1) * 10000), 1)     AS widest_gap_bps,
    count()                                                                 AS observations
FROM global_markets.stocks_daily_aggs AS a
INNER JOIN last_regular_minute AS m ON m.ticker = a.ticker AND m.d = a.date
WHERE a.ticker IN ('SPY', 'IVV', 'VOO', 'QQQ', 'VTI', 'DIA')
  AND a.date >= today() - 75
  AND a.date <= today() - 3
GROUP BY a.ticker
ORDER BY avg_gap_bps DESC
Run this yourself

Over 51 sessions, IVV carried the widest average distance between its last-minute price and its official close, 0.9 basis points, with a single-session maximum of 4.2. At the other end of the 6 funds compared, DIA averaged 0.6 basis points. A mutual fund buyer never meets this question. One NAV, computed once, identical for everyone who made the cutoff.

That is the real trade between the two wrappers. A market order versus a limit order is a choice you only get where a live quote exists. An investor adding a fixed dollar amount each month, indifferent to the price inside the session, meets fewer moving parts on the fund ticket, where the dollar amount is the whole instruction. An investor who wants to cap the price paid, or to transact while the market is open, needs the exchange-traded wrapper, where every order type applies. Mutual funds versus ETFs compares the two side by side.

Which NAV your order strikes, and when it settles

Two dates matter on a fund order. The strike date is the day whose NAV sets your price. The settlement date is when cash and shares actually change hands, one business day after the strike date at most US fund families, matching the T+1 standard that US stocks and ETFs moved to in May 2024. Mutual fund settlement time has the full walk-through.

Both dates walk forward whenever the market is shut. The exchange calendar below lists the closures ahead.

QueryUpcoming market closures that move a fund order's strike date
holiday_dateclosure_labelweekdayclosureday_statusdays_away
2026-11-26Nov 26ThuThanksgivingclosed65
2026-11-27Nov 27FriThanksgivingearly-close66
2026-12-24Dec 24ThuChristmasearly-close93
2026-12-25Dec 25FriChristmasclosed94
2027-01-01Jan 1FriNew Years Dayclosed101
2027-01-18Jan 18MonMartin Luther King, Jr. Dayclosed118
2027-02-15Feb 15MonWashington's Birthdayclosed146
2027-03-26Mar 26FriGood Fridayclosed185
2027-05-31May 31MonMemorial Dayclosed251
2027-06-18Jun 18FriJuneteenthclosed269
2027-07-05Jul 5MonIndependence Dayclosed286
2027-09-06Sep 6MonLabor Dayclosed349
The exact SQL behind every number
SELECT
    toString(date)                 AS holiday_date,
    formatDateTime(date, '%b %e')  AS closure_label,
    formatDateTime(date, '%a')     AS weekday,
    any(name)                      AS closure,
    any(status)                    AS day_status,
    dateDiff('day', today(), date) AS days_away
FROM global_markets.stocks_market_holidays
WHERE date >= today()
GROUP BY date
ORDER BY date
Run this yourself

The next scheduled closure is Thanksgiving on Nov 26, 65 days from today, and the forward calendar holds 12 dated closures. An order entered after the cutoff on the session before one of these strikes at the NAV computed on the next open session, and settlement follows from there. Rows tagged as an early close end regular trading at 1 p.m. ET, and fund cutoffs commonly move with them rather than staying at 4 p.m. The fund prospectus is where that rule is written.

The two levers a fund investor has

No price box does not leave you without control. Two levers remain, and both are about timing.

  1. The cutoff. An order in good order before the cutoff strikes at tonight's NAV; after it, tomorrow's. That deadline is the only one that decides which day's valuation you get, and brokers often set their own cutoff earlier than the fund's.
  2. The exchange order. Inside one fund family, an exchange sells one fund and buys another on the same NAV date, keeping the money invested rather than parked in cash for a day. A sell today followed by a buy tomorrow is a different transaction with a different pair of prices.

FAQ

Can you set a limit price on a mutual fund order?

No. Mutual fund orders fill at the next NAV the fund computes after the order arrives, a price that is unknown when you place it. Fund tickets have no price field, and stop and stop-limit orders are unavailable on the same grounds.

What happens if I place a mutual fund order at 3:59 p.m.?

It strikes at that day's NAV, the same price as an order placed at 11 a.m. the same morning, as long as your broker's cutoff has not already passed. Many brokers set an internal cutoff a few minutes ahead of the fund's own.

Do mutual funds have stop losses?

No. A stop order triggers off a live market price, and a fund publishes one price per day instead of a continuous quote. Stop orders live on exchange-traded instruments.

Can I use a limit order on an ETF that tracks the same index?

Yes. ETFs trade on an exchange throughout the session. Limit, stop, stop-limit, and market-on-close orders all apply, alongside a bid and an ask you can read before entering.

How many decimal places does a mutual fund order buy?

Fund orders are entered in dollars, and the resulting share count runs to three or four decimal places depending on the fund. The whole-share convention familiar from stock tickets does not apply.


Every panel here ships with the SQL that produced it, expandable underneath the table. To run the same intraday comparison on a fund or ETF you actually hold, ask the question in plain English on the Strasmore terminal.