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

Mutual Fund Forward Pricing Rule Explained

Under the forward pricing rule, a mutual fund order is priced at the next NAV struck after it arrives. Here is what that means for your buy or sell.

The forward pricing rule is why you cannot know the price of a mutual fund trade at the moment you place it. Under SEC Rule 22c-1, a mutual fund order is priced at the next net asset value computed after the fund or its agent receives the order. The NAV showing on your screen when you click buy was struck after the previous close. It is history, not your price.

What the forward pricing rule actually says

Net asset value, or NAV, is everything a fund owns minus what it owes, divided by the number of shares outstanding. Funds strike it once a day, after the close of regular trading, on every day the exchange is open. The arithmetic behind that single number is covered in how mutual fund NAV is calculated.

Rule 22c-1, in force since 1968, governs the other half of the transaction: which NAV your order gets. The fund and any intermediary carrying the order must transact at the NAV next computed after receipt. Two things follow from that one word, "next".

  1. An order received before the day's cut-off is priced at the NAV struck that evening.
  2. An order received after the cut-off waits, and is priced at the following business day's NAV.

Cut-off times are set by the fund and, separately, by the broker or platform carrying your order. An intermediary's deadline often sits earlier than the fund's own, since it has to batch and forward orders before the fund closes its books. Both appear in the prospectus and in the platform's order terms, and both change from time to time, so the only reliable cut-off is the one published where you actually trade. For the wider timing picture, see when mutual funds trade.

Why the NAV on your screen is not your price

Every NAV you can look up has already happened. The distance between that last published NAV and the one your order will receive is a full session of price movement in whatever the fund holds.

Mutual fund NAVs are not quoted on a public tape through the day, so the panels here use the closing prices of SPY, a large S&P 500 exchange-traded fund, as a stand-in for the holdings of a diversified US stock fund. The mechanism is the same either way: a fund's NAV moves with the closing prices of what it owns.

QueryHow far one closing value lands from the last (SPY daily closes, 2023 onward)
move_bucketobservationsshare_of_sessions_pct
under 0.25%26328.7
0.25% to 0.5%19421.2
0.5% to 1%26228.6
1% to 2%17118.6
over 2%272.9
The exact SQL behind every number
WITH d AS
(
    SELECT
        toFloat64(close)                                    AS px,
        lagInFrame(toFloat64(close)) OVER (ORDER BY date
            ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING)       AS prev_px
    FROM global_markets.stocks_daily_aggs
    WHERE ticker = 'SPY'
      AND date >= '2023-01-01'
      AND date <  '2026-09-01'
),
moves AS
(
    SELECT abs(px / prev_px - 1) * 100 AS move_pct
    FROM d
    WHERE prev_px > 0
)
SELECT
    multiIf(move_pct < 0.25, 'under 0.25%',
            move_pct < 0.5,  '0.25% to 0.5%',
            move_pct < 1,    '0.5% to 1%',
            move_pct < 2,    '1% to 2%',
                             'over 2%')                     AS move_bucket,
    count()                                                 AS observations,
    round(100.0 * count() / sum(count()) OVER (), 1)        AS share_of_sessions_pct
FROM moves
GROUP BY move_bucket
ORDER BY min(move_pct)
Run this yourself

About 28.7% of sessions in that window closed within 0.25% of the prior close. That is the comfortable case: the NAV you looked at and the NAV you were given are nearly the same number. The tail is the part worth knowing about. 2.9% of sessions moved more than 2%, and on those days the two numbers are not close at all.

How far the value travels between your click and the strike

An order placed at lunchtime is not priced at the lunchtime value. It sits until the close. The panel below measures the distance still to travel: for each half-hour mark of the regular session, the average absolute move from that moment to that day's final print.

QueryAverage distance from each ET clock mark to the closing print (SPY, trailing months)
et_timeavg_move_to_close_pctobservations
09:300.401104
10:000.366104
10:300.334104
11:000.31104
11:300.31104
12:000.277104
12:300.249104
13:000.237104
13:300.198103
14:000.179103
14:300.15103
15:000.126103
15:300.104103
The exact SQL behind every number
WITH bars AS
(
    SELECT
        toDate(toTimeZone(window_start, 'America/New_York'))   AS session_date,
        toTimeZone(window_start, 'America/New_York')           AS et,
        toFloat64(close)                                       AS px
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= today() - 150
      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
),
final_print AS
(
    SELECT
        session_date,
        argMax(px, et) AS closing_px
    FROM bars
    GROUP BY session_date
)
SELECT
    formatDateTime(b.et, '%H:%i')                             AS et_time,
    round(avg(abs(f.closing_px / b.px - 1)) * 100, 3)         AS avg_move_to_close_pct,
    count()                                                   AS observations
FROM bars AS b
INNER JOIN final_print AS f ON f.session_date = b.session_date
WHERE toMinute(b.et) IN (0, 30)
GROUP BY et_time
ORDER BY et_time
Run this yourself

At the 09:30 ET open, the closing value averages 0.401% away in absolute terms. By 15:30 ET the remaining average distance is 0.104%. The curve slopes down all day, which is the shape of uncertainty draining out of an order that was already submitted. Placing the order earlier does not get you a better price, and placing it at 3:59 p.m. does not get you a worse one. Every order in before the cut-off receives the identical NAV.

Why a limit price does nothing on a fund order

A limit order names a maximum you will pay or a minimum you will accept. It works on a stock, which trades continuously against a live bid and offer. A mutual fund has neither. There is one price per day, computed by the fund after the close, and Rule 22c-1 requires every order received before the cut-off to transact at it. A price condition attached to a fund order has nothing to test itself against, and brokers do not accept one. The order-entry mechanics are laid out in can you place a limit order on a mutual fund.

You commit dollars, not a share count

A stock order is usually written in shares. A fund order is usually written in dollars, and forward pricing is the reason: the share count cannot be computed until the NAV exists. Put $10,000 in, and what lands in the account is $10,000 divided by that evening's NAV, whatever it turns out to be, less any applicable sales charge.

QueryShares a $10,000 order buys at the screen NAV versus the struck NAV, ten sharpest sessions
session_labelshares_at_screen_navshares_at_struck_navmove_pct
Apr 9, 202520.1418.2310.5
Apr 4, 202518.6319.795.85
Apr 3, 202517.7118.634.93
Apr 10, 202518.2319.064.38
May 12, 202517.7217.153.3
Dec 18, 202416.5517.062.98
Aug 5, 202418.7719.332.91
Mar 31, 202615.8215.382.91
Oct 10, 202514.915.312.7
Mar 10, 202517.3617.842.66
The exact SQL behind every number
WITH d AS
(
    SELECT
        date,
        toFloat64(close)                                    AS px,
        lagInFrame(toFloat64(close)) OVER (ORDER BY date
            ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING)       AS prev_px
    FROM global_markets.stocks_daily_aggs
    WHERE ticker = 'SPY'
      AND date >= '2023-01-01'
      AND date <  '2026-09-01'
)
SELECT
    formatDateTime(date, '%b %e, %Y')                       AS session_label,
    round(10000.0 / prev_px, 2)                             AS shares_at_screen_nav,
    round(10000.0 / px, 2)                                  AS shares_at_struck_nav,
    round(abs(px / prev_px - 1) * 100, 2)                   AS move_pct
FROM d
WHERE prev_px > 0
ORDER BY abs(px / prev_px - 1) DESC
LIMIT 10
Run this yourself

These are the ten sharpest single-session moves in the window. On Apr 9, 2025, the last published value implied 20.14 shares for a $10,000 order, while the value struck at that session's close delivered 18.23. The two counts differ by the size of that session's move, 10.5%. Days like these are rare, as the distribution above shows, and they are the days when the gap between the screen and the strike is impossible to ignore.

Until the strike, a confirmation typically shows the dollar amount and a pending status with no share count. The count appears once the NAV is set and the trade is priced. Redemptions run the same way in reverse: you name shares or dollars, and the proceeds are fixed by the NAV computed after your order is received. The sell-side timing questions are covered in the best time of day to sell mutual funds.

Days when no NAV is struck

Funds value their holdings on each day the exchange is open. On a full-day closure there are no closing prices and no NAV, so the queue simply waits. An order that arrives Friday after the cut-off ahead of a Monday holiday is priced at Tuesday evening's NAV, days after it was placed. The forward calendar below lists the closures ahead.

QueryUpcoming exchange closures, the days a fund NAV is skipped or shortened
holiday_dateday_labelholidayday_statusdays_away
2026-11-26Thu Nov 26Thanksgivingclosed63
2026-11-27Fri Nov 27Thanksgivingearly-close64
2026-12-24Thu Dec 24Christmasearly-close91
2026-12-25Fri Dec 25Christmasclosed92
2027-01-01Fri Jan 1New Years Dayclosed99
2027-01-18Mon Jan 18Martin Luther King, Jr. Dayclosed116
2027-02-15Mon Feb 15Washington's Birthdayclosed144
2027-03-26Fri Mar 26Good Fridayclosed183
2027-05-31Mon May 31Memorial Dayclosed249
2027-06-18Fri Jun 18Juneteenthclosed267
2027-07-05Mon Jul 5Independence Dayclosed284
2027-09-06Mon Sep 6Labor Dayclosed347
The exact SQL behind every number
SELECT
    toString(date)                       AS holiday_date,
    formatDateTime(date, '%a %b %e')     AS day_label,
    any(name)                            AS holiday,
    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
LIMIT 12
Run this yourself

The soonest entry is Thanksgiving on Thu Nov 26, 63 days out, and the panel carries 12 dated entries in all. Rows marked closed are days with no NAV at all. Rows marked early-close are still NAV days: the fund values its holdings at the shortened 1:00 p.m. close rather than 4:00 p.m. There is more on the queue behaviour in whether mutual funds trade on holidays.

Forward pricing is not settlement

Forward pricing decides which NAV your order receives. Settlement decides when the money and the shares actually change hands, which for a mutual fund is typically one business day after the trade date. A purchase priced at tonight's NAV still has a settlement date sitting after it, and a redemption priced tonight pays out on its own schedule. The two clocks are separated in mutual fund settlement time.

FAQ

What is the forward pricing rule?

It is SEC Rule 22c-1, which requires a mutual fund order to be priced at the next net asset value computed after the fund or an authorized intermediary receives it. Nobody, including the fund, knows that price at the moment the order is placed.

Do I get today's NAV if I buy a mutual fund in the morning?

If the order reaches the fund or its intermediary before that day's cut-off, it is priced at the NAV struck after that day's close. An order arriving after the cut-off is priced at the following business day's NAV. Cut-offs are set by the fund and by the platform carrying the order, and the platform's is often the earlier of the two.

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

No. A fund carries one price per day, calculated after the close, and every order received before the cut-off transacts at it. There is no continuous quote for a limit condition to test itself against.

Why does my fund order show no share count until the next day?

The share count is your dollar amount divided by a NAV that has not been computed yet. It appears once the fund strikes the NAV after the close and the order is priced at it.


Every panel above ships with the exact SQL beneath it, expandable in place. To measure how far a fund's holdings typically travel between one close and the next, ask the question in plain English on the Strasmore terminal.