Why Sub-Penny Rule Still Let Fill Print 4 Decimals
Rule 612 bans quotes finer than $0.01 above $1.00, but no be trade price. See why your fill fit print at four decimals with real tape data.
The sub-penny rule, Regulation NMS Rule 612, set the finest increment wey displayed stock quote fit use: one cent for price of $1.00 or more, and one hundredth of a cent below $1.00. E bind wetin venue fit display or accept. E no talk anything about price wey trade fit print at. Na why fill fit land for your confirmation at $47.3218 even when every quote for screen end with round cent.
Wetin the sub-penny rule really talk
Rule 612 enter with Regulation NMS for 2005, and the main text short. No national securities exchange, alternative trading system, vendor or broker fit display, rank or accept order, quotation or indication of interest for NMS stock priced with increment finer than $0.01 when price na $1.00 or above. Below $1.00, the floor drop to $0.0001. NMS stock na exchange-listed equity, so the rule cover almost everything wey retail brokerage account fit buy for US exchange.
The important words na display and accept. The rule reach quotes and orders. E no reach executions. No venue fit post bid at $47.3215, and your broker no fit accept limit order for that price, but trade fit lawfully print there.
The practice wey rule target na stepping ahead. Trader fit jump queue in front of resting $10.00 bid by posting $10.0001, and collect priority for one hundredth of a cent of real economic commitment. Coarse displayed grid remove that move and give price priority some weight.
Why your fill print for four decimal places
Most marketable retail orders for US stocks no dey reach exchange. Dem route am to wholesaler, an off-exchange market maker wey dey fill order against im own inventory. Wholesaler no dey display quote when e fill you, so penny grid no bind the execution price. E fill inside the national best bid and offer, often by fraction of a cent. The gap between NBBO and your fill na the price improvement figure for confirmation and inside your broker execution quality reports.
The mechanism leave sign for public tape. Every trade print for consolidated feed with the exact price, so counting prints wey price carry fraction of a cent count the fills wey happen inside the grid.
The exact SQL behind every number
SELECT
ticker,
round(100 * countIf(toUInt64(round(toFloat64(price) * 10000)) % 100 != 0) / count(), 2) AS subpenny_trade_pct,
round(100 * sumIf(size, toUInt64(round(toFloat64(price) * 10000)) % 100 != 0) / sum(size), 2) AS subpenny_volume_pct
FROM global_markets.stocks_trades
WHERE ticker IN ('MSFT', 'AAPL', 'NVDA', 'KO', 'BAC', 'T', 'F')
AND sip_timestamp >= '2026-06-17 14:00:00'
AND sip_timestamp < '2026-06-17 14:15:00'
AND price > 0
GROUP BY ticker
ORDER BY subpenny_trade_pct DESCFor fifteen-minute window on 17 June 2026, KO show the highest rate among the 7 names wey dem measure, with 46.56% of prints landing for sub-penny price. MSFT show the lowest at 31.87%. If you count shares instead of prints, you get the second view: for KO, sub-penny prints carry 24.88% of shares wey change hand.
Wholesaler fills dey lean small. The panel below split one full session of AAPL prints by trade size, so e separate retail-sized flow from institutional blocks.
The exact SQL behind every number
WITH prints AS
(
SELECT
size,
multiIf(size < 100, 'under 100 shares',
size < 500, '100 to 499 shares',
size < 1000, '500 to 999 shares',
size < 5000, '1,000 to 4,999 shares',
'5,000 shares and up') AS size_bucket,
toUInt64(round(toFloat64(price) * 10000)) % 100 != 0 AS sub_penny
FROM global_markets.stocks_trades
WHERE ticker = 'AAPL'
AND sip_timestamp >= '2026-06-17 00:00:00'
AND sip_timestamp < '2026-06-18 00:00:00'
AND price > 0
AND size > 0
)
SELECT
size_bucket,
round(100 * countIf(sub_penny) / count(), 2) AS subpenny_trade_pct,
round(100 * count() / (SELECT count() FROM prints), 2) AS share_of_prints_pct
FROM prints
GROUP BY size_bucket
ORDER BY min(size)Prints of under 100 shares make up 88.99% of that session AAPL trades, and dem carry sub-penny price 38.66% of the time. The biggest band, 5,000 shares and up, print sub-penny 18.06% of the time. Both ends of the panel carry dem.
Why penny dey act like heavier tax on cheap stock
Basis point na one hundredth of one percent, the standard unit for comparing trading costs across share prices. When you measure am in basis points, one-cent minimum tick na completely different charge on $3 stock compared with $500 stock.
The exact SQL behind every number
WITH day_prices AS
(
SELECT
ticker,
toFloat64(close) AS px
FROM global_markets.stocks_daily_aggs
WHERE date = '2026-06-17'
AND volume >= 500000
AND close >= 1
AND close < 1000
)
SELECT
multiIf(px < 2, '$1 to $2',
px < 5, '$2 to $5',
px < 10, '$5 to $10',
px < 25, '$10 to $25',
px < 50, '$25 to $50',
px < 100, '$50 to $100',
px < 250, '$100 to $250',
'$250 to $1,000') AS price_bucket,
count() AS stock_count,
round(avg(10000 * 0.01 / px), 2) AS one_cent_bps
FROM day_prices
GROUP BY price_bucket
ORDER BY min(px)Across the 8 price bands on 17 June 2026, one cent worth 71.37 basis points of share price for $1 to $2 band, and 0.28 basis points for $250 to $1,000 band. Na the same penny, but dem measure am against very different prices.
The rule already get one adjustment for this. Below $1.00, the increment drop to $0.0001, one hundredth of the tick wey apply slightly above one cent. Stock at $0.99 dey quote on grid wey fine one hundred times pass the same stock at $1.01, and the cliff dey exactly for the boundary.
That arithmetic dey show for quoted bid ask spreads. The panel below take the highest bid and lowest offer posted anywhere for the same second, then average the gap across fifteen-minute window. Dem drop seconds when book dey locked or crossed, and locked and crossed markets explain wetin those ones look like.
The exact SQL behind every number
WITH best_quote AS
(
SELECT
ticker,
toStartOfSecond(sip_timestamp) AS sec,
toFloat64(max(bid_price)) AS best_bid,
toFloat64(min(ask_price)) AS best_ask
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('MSFT', 'AAPL', 'NVDA', 'KO', 'BAC', 'T', 'F')
AND sip_timestamp >= '2026-06-17 14:00:00'
AND sip_timestamp < '2026-06-17 14:15:00'
AND bid_price > 0
AND ask_price > bid_price
GROUP BY ticker, sec
HAVING min(ask_price) > max(bid_price)
)
SELECT
concat(ticker, ' ($', toString(round(avg((best_bid + best_ask) / 2), 0)), ')') AS name,
round(avg(best_ask - best_bid) * 100, 2) AS avg_spread_cents,
round(10000 * 0.01 / avg((best_bid + best_ask) / 2), 2) AS one_cent_bps,
round(10000 * avg(best_ask - best_bid) / avg((best_bid + best_ask) / 2), 2) AS spread_bps,
if(avg(best_ask - best_bid) <= 0.015, 'at or under $0.015', 'above $0.015') AS tier
FROM best_quote
GROUP BY ticker
ORDER BY avg((best_bid + best_ask) / 2) DESCFor MSFT ($388), penny tick na 0.26 basis points of the price, and average quoted gap run 6.23 cents, or 1.61 basis points. For F ($14), the penny na 6.94 basis points, while quoted gap of 1 cents work out to 6.94 basis points. Low-priced name fit look wide on percentage screen while e dey quote one-cent gap, the narrowest wey displayed grid allow. For that point, quoted spread dey measure tick size more than market depth.
The 2024 amendment and half-cent tick
For September 2024, SEC amend Rule 612 and add second quoting increment. NMS stock wey time-weighted average quoted spread for the previous evaluation period come to $0.015 or less go quote in $0.005 increments. Everything else remain on penny. The evaluation repeat on fixed schedule, and dem republish affected symbols every round. Na why this page state threshold but leave roster to SEC.
Which names $0.015 test dey select? Na the ones wey already dey pinned to the floor: heavily traded stocks wey quoted spread dey around one cent for most of the session. Stock wey dey routinely quote three or four cents wide no dey come near the test. The panel above get tier column wey apply threshold arithmetic to the window wey e measure, so e serve as illustration, no be designation. SEC dey measure time-weighted average across full evaluation period. Fifteen minutes of one session no be that.
The same rulemaking reduce the cap on fee wey exchange fit charge to access protected quote, to $0.0010 per share for stocks priced $1.00 and above. The two numbers work together: half-cent quoting grid beside tenth-of-a-cent access fee stop the fee from taking big part of the tick.
The amendment control quoting. Everything wey we talk above about execution prices remain the same, and off-exchange fill inside quote still fit land on finer increment.
Why limit order dey reject for invalid increment
A limit order at $47.3215 ask broker to accept price wey rule forbid am to accept. So order fit return with invalid price increment message, or firm fit round am to nearest legal tick, depending on the firm. The $1.00 boundary apply to the order price itself, no be the stock last sale. So order at $0.4732 legal on $0.0001 grid, while $0.47325 no legal.
The reverse side dey for the other part of the trade. Wholesaler wey fill you at $47.3218 keep the fraction of a cent between your price and im own, and how market makers make money explain where that fraction dey go.
FAQ
Wetin be the sub-penny rule?
Regulation NMS Rule 612. E stop any exchange, alternative trading system, broker or vendor from displaying or accepting order or quote for NMS stock priced with increment finer than $0.01 when price na $1.00 or more, and finer than $0.0001 when price dey below $1.00.
Why my stock order fill for price wey get four decimal places?
The rule control quotes and orders, no be executions. Off-exchange market maker wey dey fill your order inside the national best bid and offer fit execute at fraction of a cent better than the quote. Na that difference brokers report as price improvement.
Why dem reject my limit order for invalid price increment?
The limit price use increment wey finer than wetin Rule 612 allow for that price level: finer than one cent for order priced at $1.00 or above, or finer than $0.0001 for order priced below $1.00. Enter the order again with legal increment to clear the rejection.
Wetin the 2024 SEC tick size amendment change?
E add $0.005 quoting increment for NMS stocks wey time-weighted average quoted spread for previous evaluation period measure $0.015 or less. Stocks outside that threshold continue to quote in whole cents, and the amendment control quoting increments, no be execution prices.
Every panel here come with the SQL wey produce am, so expand one to see exactly how dem take each count. You fit measure sub-penny print share and average quoted spread for any symbol and any window on the Strasmore terminal.