Strasmore Research
Learn Matt ConnorBy Matt Connor

What Limit Price Should I Set on a Stock?

What limit price should I set? Price it off the bid and the ask, with the tick grid, the odd lot trap and live spread data showing where the number goes.

What limit price should I set? Work from the quote rather than from a price you would like to see: the bid and the ask are the only two numbers on your screen with known fill behaviour. A buy limit at or above the ask trades on arrival against whatever the book is showing, with your limit acting as a ceiling. A buy limit below the bid joins a queue, and from that moment your place in line decides everything.

The bid and the ask are the only two prices with known behaviour

The bid is the highest price someone is currently willing to pay. The ask, also called the offer, is the lowest price someone is currently willing to sell at. The gap between the two is the bid-ask spread, and the best bid and best offer across all US exchanges together form the NBBO, the national best bid and offer.

Those two levels are the whole menu. A limit priced at or through the opposite side can trade immediately. A limit priced inside the spread becomes the best price on the book and still needs someone to take it. A limit priced beyond the spread waits for the market to come to it, with no mechanism that makes it arrive.

The width of that gap is the first input to the decision. The panel below measures it on one pinned session, September 15, 2026, over the stretch from 10:00 a.m. to 3:00 p.m. ET, a mid-session window that keeps the opening and closing minutes out of the averages.

QueryAverage quoted spread across five household names, mid-session
symbolspread_centsspread_bpsquote_count
MSFT9.922119091
KO1.151.3216089
AAPL3.040.9457894
NVDA1.590.7856384
SPY1.950.31499586
The exact SQL behind every number
SELECT
    ticker                                                           AS symbol,
    round(avg(toFloat64(ask_price) - toFloat64(bid_price)) * 100, 2) AS spread_cents,
    round(avg((toFloat64(ask_price) - toFloat64(bid_price))
              / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2)) * 10000, 1) AS spread_bps,
    count()                                                          AS quote_count
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'SPY', 'KO')
  AND sip_timestamp >= '2026-09-15 14:00:00'
  AND sip_timestamp <  '2026-09-15 19:00:00'
  AND bid_price > 0
  AND ask_price > bid_price
GROUP BY ticker
ORDER BY spread_bps DESC
Run this yourself

MSFT quoted the widest average spread of the five at 2 basis points of its own price, about 9.92 cents between bid and ask. SPY sat at the tight end of the group at 0.3 basis points. One basis point is one hundredth of one percent. The reading for an order ticket is simple: on the tightest name, crossing the spread costs a rounding error and the exact limit barely matters. On the widest one, the same choice is worth a few seconds of thought.

A buy limit at or above the ask is marketable

A limit order priced at or through the other side of the quote is called marketable, meaning it can trade the instant it arrives. A buy limit at or above the ask, or a sell limit at or below the bid, behaves like a market order with a worst-case price attached: it takes the prices available on the book and stops instead of filling beyond your number.

That is the setting for an order where the position matters more than the penny. A common way to price one is to take the current ask and add a small pad of a few cents, which absorbs normal quote movement between the click and the arrival while still capping how far the fill can slip if the book thins out. The trade-off is explicit: you pay the spread, and you keep certainty. Marketable and non-marketable limit orders walks through what each kind does once it reaches the exchange.

When the midpoint is worth the wait

A limit at the midpoint between bid and ask asks for half the spread back in exchange for giving up immediacy. It fills when the other side of the quote moves to meet it, or when a counterparty is working the same midpoint. On a one-cent spread there is nothing much to collect. On a wide one, half the spread can exceed every other cost of the trade.

The toll for crossing is also not constant through the day. The next panel tracks one stock, AAPL, in thirty-minute buckets across the whole quoted day, from the premarket through the late session.

QueryAAPL quoted spread by time of day, premarket through late session
26 rows (showing 20)
et_timespread_centsspread_bps
04:0025.47.7
04:3021.526.5
05:0019.665.9
05:3019.595.9
06:0023.587.1
06:3024.187.3
07:0019.395.9
07:3015.084.6
08:0015.984.8
08:3019.355.8
09:0027.068.2
09:306.161.9
10:004.011.2
10:304.031.2
11:003.271
11:303.191
12:002.740.8
12:302.620.8
13:002.30.7
13:302.280.7
The exact SQL behind every number
SELECT
    formatDateTime(toStartOfInterval(toTimeZone(sip_timestamp, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,
    round(avg(toFloat64(ask_price) - toFloat64(bid_price)) * 100, 2) AS spread_cents,
    round(avg((toFloat64(ask_price) - toFloat64(bid_price))
              / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2)) * 10000, 1) AS spread_bps
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'AAPL'
  AND sip_timestamp >= '2026-09-15 08:00:00'
  AND sip_timestamp <  '2026-09-15 21:00:00'
  AND bid_price > 0
  AND ask_price > bid_price
GROUP BY et_time
ORDER BY et_time
Run this yourself

The 04:00 bucket averaged 25.4 cents between bid and ask, and the 16:30 bucket 9.92 cents. The middle of the curve, the hours when the most size is quoted, sits well below both ends. The same marketable limit pays a different toll early in the morning than it does at noon, on one stock and one day.

A resting limit also inherits queue mechanics. Most venues rank the book by price first and then by the time each order arrived, so two orders at the same price trade in the sequence they were posted. Estimating queue position covers how far back that puts a late arrival, and why a limit order didn't fill covers the cases where prints happen at your price while your order sits there.

The grid of available prices is coarser than a decimal keyboard suggests. Under the sub-penny rule, Rule 612 of Regulation NMS, orders and quotes in stocks priced at or above $1 must be in whole-cent increments. A limit of $184.253 is refused before it reaches an exchange. Stocks priced under $1 quote in increments of $0.0001. A 2024 amendment to Reg NMS adds a half-cent increment for the most tick-constrained names, which half penny tick sizes tracks.

One cent is a wide step when the spread itself is one cent, since there is then no price between the bid and the ask at all. The panel below bins every MSFT quote in the same mid-session window by how many cents separated bid from ask.

QueryHow many cents separate MSFT's bid and ask, by share of quotes
spread_widthshare_of_quotes_pctquote_count
1 cent wide2.91326
2 cents wide5.22411
3 cents wide8.53955
4 cents wide13.86397
5 cents wide15.77265
6 cents wide17.58105
7 cents wide20.49437
8 cents wide15.97379
The exact SQL behind every number
WITH quotes AS
(
    SELECT toUInt32(round((toFloat64(ask_price) - toFloat64(bid_price)) * 100)) AS ticks
    FROM global_markets.cache_stocks_quotes
    WHERE ticker = 'MSFT'
      AND sip_timestamp >= '2026-09-15 14:00:00'
      AND sip_timestamp <  '2026-09-15 19:00:00'
      AND bid_price > 0
      AND ask_price > bid_price
      AND (toFloat64(ask_price) - toFloat64(bid_price)) <= 0.08
)
SELECT
    concat(toString(ticks), if(ticks = 1, ' cent wide', ' cents wide')) AS spread_width,
    round(100 * count() / (SELECT count() FROM quotes), 1)              AS share_of_quotes_pct,
    count()                                                             AS quote_count
FROM quotes
GROUP BY ticks
ORDER BY ticks
Run this yourself

Quotes 1 cent wide accounted for 2.9 percent of that window, and quotes 8 cents wide for 15.9 percent. Where the narrowest row dominates, the midpoint is not an available limit price: the menu collapses to the bid, the ask, and nothing in between.

Odd lots do not set the NBBO

A round lot is 100 shares. The NBBO is assembled from round-lot quotes only, so a 7-share buy limit priced better than the national best bid is published as odd-lot information and is not a protected quote. Another venue can trade at a worse price without breaching the order protection rule, which defends round-lot quotes alone. Trade-throughs and ISO orders has the detail.

For a small order this matters in one specific way. The top-of-book price on your screen was set by someone else's round lot, and your odd lot sitting inside the spread may never appear as the official best price. It can still trade. It simply does not get the protection. On high-priced names, odd lots are most of the tape.

QueryShare of prints under 100 shares, same mid-session window
symbolunder_100_share_pctexactly_100_share_pcttrade_count
AAPL94.72.1456268
MSFT93.63.4256609
NVDA89.56.51408104
SPY87.25.2324886
KO8610.2186969
The exact SQL behind every number
SELECT
    ticker                                       AS symbol,
    round(100 * countIf(size < 100) / count(), 1) AS under_100_share_pct,
    round(100 * countIf(size = 100) / count(), 1) AS exactly_100_share_pct,
    count()                                       AS trade_count
FROM global_markets.stocks_trades
WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'SPY', 'KO')
  AND sip_timestamp >= '2026-09-15 14:00:00'
  AND sip_timestamp <  '2026-09-15 19:00:00'
  AND size > 0
GROUP BY ticker
ORDER BY under_100_share_pct DESC
Run this yourself

Prints under 100 shares made up 94.7 percent of AAPL trades in the window, the highest share of the five, against 86 percent for KO. The second column counts prints of exactly 100 shares, the classic round lot, alongside it for comparison.

What limit price should I set: the one-line rule

The right limit price is the worst price at which you would still be happy to trade, not a price you hope the market comes back to. Everything above is a way of locating that number on a real quote.

  • Want the fill: price at or through the other side. The order is marketable and your limit is the ceiling, or the floor on a sell.
  • Can wait: the midpoint gives up immediacy and asks for half the spread in return.
  • Wide spread: resting at or just inside the far side collects that spread when trade comes to you, with no guarantee that it does.
  • Small size: an odd-lot limit is unprotected, and it can be passed over even when it is the better price.

A limit price states what you will accept. The queue decides the rest.

How these numbers were measured

Every panel is pinned to the trading day of September 15, 2026, so the figures stay fixed. The cross-name panels use the 10:00 a.m. to 3:00 p.m. ET stretch of it, which keeps the opening and closing minutes out of the averages. The clock-curve panel runs wider, 4:00 a.m. to 5:00 p.m. ET, to show both quiet ends. Spreads are quote-weighted averages, one observation per quote update rather than per second, so the most heavily quoted stretches carry the most weight. Each panel's table carries its own observation count.

FAQ

What is a good limit price for a buy order?

There is no single number. A buy limit at or above the current ask trades right away and caps how much worse than your number the fill can be. A buy limit below the bid only trades if a seller comes down to you. The useful frame is the worst price you would still accept, since that is exactly what a limit communicates to the exchange.

Why was my limit order rejected as sub-penny?

Stocks priced at or above $1 can only be quoted and ordered in whole-cent increments under Rule 612 of Reg NMS, so a limit like $12.345 is refused at entry. Rounding to the cent fixes it. Stocks priced under $1 use $0.0001 increments instead.

Does a limit order at the midpoint ever fill?

Yes. A midpoint limit fills when the opposite side of the quote moves to your price, or when a counterparty is also working the midpoint on a venue that matches there. It carries no guarantee of a fill, and on a one-cent spread there is no midpoint available on the penny grid.

Can a 10-share limit order set the best bid?

No. The national best bid and offer is built from round-lot quotes of 100 shares, so a 10-share limit is published as odd-lot information. It can still execute, and it is not a protected quote, which means another venue can trade through it at a worse price.


Every panel on this page carries the exact query underneath it, so the same measurement runs on any name and any session. To see a stock's quoted spread by time of day, ask for it in plain English on the Strasmore terminal.