Half-Penny Tick Sizes Under SEC Rule 612
Half-penny tick sizes under SEC Rule 612: see which stocks fit the $0.005 increment test and how time weighted average quoted spread dey decide eligibility.
Half-penny tick sizes na $0.005 minimum quoting increment wey amended SEC Rule 612 assign to NMS stocks wey get the tightest quotes, meaning US exchange-listed shares. Stock qualify when e time weighted average quoted spread over three-month evaluation period measure $0.015 or less. The assignment na mechanical: one defined spread statistic, measured over one defined window, go produce one increment for each stock, and e go remain valid for six months.
Wetin half-penny tick sizes dey change under Rule 612
Rule 612 na the minimum pricing increment rule inside Regulation NMS. As the rule stand today, no exchange, broker, or dealer fit display, rank, or accept order for NMS stock wey price na $1.00 or more with increment finer than $0.01. Below $1.00, the floor na $0.0001. The amendments wey Commission adopt on September 18, 2024 for Release No. 34-101070 add second increment above $1.00: $0.005 for stocks wey pass spread test.
Two boundaries no change. Stocks wey price below $1.00 still keep $0.0001 floor. And Rule 612 still control quoting and order acceptance, no be the price wey trade print at. That one use separate system wey our sub-penny rule and price improvement guide explain.
Compliance date don move two times. E first be the first business day of November 2025. Exemptive order for end of October 2025 push am to November 2026. Then Release No. 34-105656, wey come out June 11, 2026, extend compliance with the amended minimum pricing increment to the first business day of November 2027. The rule text don settle. Na the calendar dey continue to shift.
Which stocks tick constrain?
Stock dey tick constrained when penny grid, instead of buyers and sellers appetite, dey set the narrowest quote wey e fit show. The sign na spread wey dey stay for one-cent floor for most of the day. The panel below show the highest bid and lowest offer for eight familiar names on the tape once every second during regular session on Wednesday, August 5, 2026. E then measure the average width of that quote and how much of the session e spend exactly at one cent.
The exact SQL behind every number
WITH per_second AS
(
SELECT
ticker,
toDateTime(sip_timestamp) AS quote_second,
max(toFloat64(bid_price)) AS best_bid,
min(toFloat64(ask_price)) AS best_ask
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'SPY', 'KO', 'PFE', 'F', 'GS')
AND sip_timestamp >= '2026-08-05 13:30:00'
AND sip_timestamp < '2026-08-05 20:00:00'
AND bid_price > 0
AND ask_price > 0
GROUP BY ticker, quote_second
)
SELECT
ticker AS symbol,
round(avg(best_ask - best_bid) * 100, 2) AS avg_quoted_spread_cents,
round(100 * countIf(best_ask - best_bid < 0.011) / count(), 1) AS time_at_penny_floor_pct
FROM per_second
WHERE best_ask > best_bid
GROUP BY ticker
ORDER BY avg_quoted_spread_cents ASCAcross the 8 names, F show the tightest average quoted spread at 1 cents. E stay on the one-cent floor for 99.8% of the session. For the other side, GS average 69.55 cents, well away from the grid. Name wey average just above one penny no get lower place to go while grid wide by one penny. Na this population the $0.015 test dey designed to find.
Share price na the other side of the calculation. One cent na fixed money amount, but e be floating fraction of a share.
The exact SQL behind every number
SELECT
ticker AS symbol,
concat('$', toString(round(toFloat64(max(close)), 2))) AS closing_price,
round(100 / toFloat64(max(close)), 2) AS one_cent_in_bps
FROM global_markets.stocks_daily_aggs
WHERE date = '2026-08-05'
AND ticker IN ('AAPL', 'MSFT', 'NVDA', 'SPY', 'KO', 'PFE', 'F', 'GS')
GROUP BY ticker
ORDER BY one_cent_in_bps DESCOne cent on F, wey close at $14.13, na 7.08 basis points of the share price. The same one cent on GS at $1060.38 na 0.09 basis points. Basis point na one hundredth of one percent. The lower the price and the heavier the volume, the more of the trade the fixed penny represent. Na the mechanism our bid ask spread primer describe generally.
How dem dey measure time weighted average quoted spread?
The amended rule define the statistic inside one sentence:
"the average dollar value difference between the NBB and NBO during regular trading hours where each instance of a unique NBB and NBO is weighted by the length of time that the quote prevailed as the NBB or NBO"
17 CFR 242.612, as amended by Release No. 34-101070, adopted September 18, 2024
Four details inside that sentence carry the main meaning. NBB and NBO na national best bid and national best offer: the highest bid and lowest offer displayed across every exchange. Our NBBO guide explain am. Regular trading hours limit the measurement to the 9:30 a.m. to 4:00 p.m. ET session. New observation start each time either side of the quote change. And weighting dey based on elapsed time, no be number of quotes. Spread wey hold for one hour carry one hour of weight. One wey flicker for one millisecond carry one millisecond.
Average alone fit hide the shape. The panel below show where the quote actually stay, as the share of the pinned session each name spend at one cent, two cents, and wider.
The exact SQL behind every number
WITH per_second AS
(
SELECT
ticker,
toDateTime(sip_timestamp) AS quote_second,
max(toFloat64(bid_price)) AS best_bid,
min(toFloat64(ask_price)) AS best_ask
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('AAPL', 'F', 'GS')
AND sip_timestamp >= '2026-08-05 13:30:00'
AND sip_timestamp < '2026-08-05 20:00:00'
AND bid_price > 0
AND ask_price > 0
GROUP BY ticker, quote_second
),
graded AS
(
SELECT
ticker,
least(toUInt16(round((best_ask - best_bid) * 100)), 5) AS spread_cents
FROM per_second
WHERE best_ask > best_bid
),
totals AS
(
SELECT
ticker,
count() AS quoted_seconds
FROM graded
GROUP BY ticker
),
shares AS
(
SELECT
g.ticker AS ticker,
g.spread_cents AS spread_cents,
count() / any(t.quoted_seconds) AS time_share
FROM graded AS g
INNER JOIN totals AS t ON t.ticker = g.ticker
GROUP BY g.ticker, g.spread_cents
)
SELECT
if(spread_cents >= 5,
'5 cents or wider',
concat(toString(spread_cents), if(spread_cents = 1, ' cent', ' cents'))) AS quoted_spread,
round(100 * sumIf(time_share, ticker = 'AAPL'), 1) AS aapl_pct,
round(100 * sumIf(time_share, ticker = 'F'), 1) AS f_pct,
round(100 * sumIf(time_share, ticker = 'GS'), 1) AS gs_pct
FROM shares
GROUP BY spread_cents
ORDER BY spread_cents ASCRead the first row. Quoted spread of 1 cent cover 68.9% of AAPL session, 99.8% of F session, and 0.3% of GS session. Name wey get most of its weight for that first bucket dey pinned to the grid. Its time weighted average go land just above one cent, no matter wetin happen during the day. Name wey get weight for wider buckets go carry bigger average and miss the $0.015 threshold.
When the quote dey sit for the floor matter as much as how often e dey there. The same measurement, divided into 15-minute buckets and extended past both sides of the session:
The exact SQL behind every number
WITH per_second AS
(
SELECT
ticker,
toDateTime(sip_timestamp, 'America/New_York') AS quote_second,
max(toFloat64(bid_price)) AS best_bid,
min(toFloat64(ask_price)) AS best_ask
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('AAPL', 'F')
AND sip_timestamp >= '2026-08-05 13:00:00'
AND sip_timestamp < '2026-08-05 20:30:00'
AND bid_price > 0
AND ask_price > 0
GROUP BY ticker, quote_second
)
SELECT
formatDateTime(toStartOfInterval(quote_second, INTERVAL 15 MINUTE), '%H:%i') AS et_time,
round(100 * countIf(ticker = 'AAPL' AND best_ask - best_bid < 0.011)
/ countIf(ticker = 'AAPL'), 1) AS aapl_floor_pct,
round(100 * countIf(ticker = 'F' AND best_ask - best_bid < 0.011)
/ countIf(ticker = 'F'), 1) AS f_floor_pct
FROM per_second
WHERE best_ask > best_bid
GROUP BY toStartOfInterval(quote_second, INTERVAL 15 MINUTE)
HAVING countIf(ticker = 'AAPL') > 0 AND countIf(ticker = 'F') > 0
ORDER BY toStartOfInterval(quote_second, INTERVAL 15 MINUTE) ASCThe panel start at 09:00 ET, before regular session, with AAPL on the penny floor for 1.6% of the time. E end at 16:15 ET, after closing bell, at 5.1%. Between those two points, the line rise and stay near its highest level during the hours wey the rule measure. The soft patch immediately after regular trading start na familiar pattern, covered in why spreads widen at the open.
Who assign the tick, and how often e fit change
The primary listing exchange, meaning the exchange where the stock dey listed, measure the time weighted average quoted spread and assign the increment. The rule fix both calendars. Evaluation periods na January through March and July through September. Increment wey come from January through March measurement dey operate from the first business day of May to the last business day of October. Increment wey come from July through September measurement dey operate from the first business day of November to the last business day of April.
This give every stock two assignment points each year and six-month term for each assignment. Name fit move from penny to half penny in May and return in November, but e no fit change faster than that. Security wey become NMS stock during an operative period, like fresh listing, get $0.01 until the next evaluation catch am.
Wetin the 2016 to 2018 Tick Size Pilot show
The closest thing US market get to controlled test of tick size run the experiment in reverse. Commission approve Tick Size Pilot plan on May 6, 2015. Its quoting and trading requirements run from October 3, 2016 to the end of trading on September 28, 2018. Eligible names need meet all these conditions:
- market capitalization of $3 billion or less
- closing share price of at least $2.00
- consolidated average daily volume of one million shares or less
Dem divide the names into control group and three test groups of about 400 stocks each. One test group quote in $0.05 increments but continue to trade in pennies. The second quote and trade in nickels. The third add trade-at requirement. This requirement force trading centers to route to displayed quotes instead of matching orders internally at the same price.
Quoted spreads for the test groups widen during the pilot window. Assessments wey dem publish afterward measure higher trading costs and lower liquidity in the test groups than in the control group over the same period. The pilot widen the grid for names wey no dey pinned to am. The half-penny amendment narrow the grid for names wey dey pinned to am.
How half-penny assignment go look for retail screen
For stock wey get $0.005 assignment, quote at $24.315 fit display. Today, that same interest need round to $24.31 or $24.32. Visible spread for broker screen fit be half cent wide instead of full cent for affected names. The midpoint wey dem use measure price improvement go also sit on finer grid. Whether average quoted spread for those names go narrow once assignment start na empirical question. Dem fit measure am the same way the panels above measure am.
The same release reduce access fee cap, meaning the maximum fee exchange fit charge to remove displayed quote. Our maker taker fees and rebates guide cover that topic. The release also speed up publication of better-priced odd lot orders, wey why odd lots do not set the NBBO explain.
FAQ
Wetin be half-penny tick size?
Half-penny tick size na $0.005 minimum pricing increment: the smallest amount wey displayed quote or order for that stock fit change by. Amended SEC Rule 612 assign am to NMS stocks priced at $1.00 or more when their time weighted average quoted spread measure $0.015 or less during evaluation period. Every other stock wey dey at or above $1.00 remain on $0.01 grid.
Which stocks qualify for the $0.005 tick size?
Na stocks wey their quoted spread already dey close to one penny. The test na time weighted average quoted spread of $0.015 or less over evaluation period, measured by primary listing exchange. Names wey get heavy trading and lower prices na the usual candidates, as the panels above show.
When half-penny tick sizes go take effect?
Compliance with amended minimum pricing increment currently set for the first business day of November 2027, under Release No. 34-105656 wey issue June 11, 2026. The original date na the first business day of November 2025, and dem extend am two times.
Who decide stock tick size?
The primary listing exchange. E measure time weighted average quoted spread over evaluation period, January through March or July through September. Then e assign either $0.01 or $0.005 for the next six-month operative period. Newly listed NMS stock get $0.01.
Data notes and method
The three quote panels approximate national best bid and offer with the highest bid and lowest offer printed on consolidated tape inside each one-second window. Dem weight every second equally. The rule weight each distinct quote by its exact duration, so the two measurements differ in the third decimal place. Dem drop seconds when best bid and best offer dey locked or crossed.
The snapshot no consider quote size. Official NBBO dey built from round lots, so panel value fit sit inside official quoted spread. The odd lot guide wey dem link above explain the gap.
The spread panels limit the pinned session to the 9:30 a.m. to 4:00 p.m. ET window wey the rule specify. Clock panel run from 9:00 a.m. to 4:30 p.m. ET and allow the session boundary to show inside the data. All figures come from one session on Wednesday, August 5, 2026, so dem no dey change as the tape move forward.
Rule text quote come from 17 CFR 242.612 as amended. Adopting release: No. 34-101070, September 18, 2024. Compliance extension: Release No. 34-105656, June 11, 2026.
Every panel here get the exact SQL underneath am. Expand any one to see how dem count the number. To measure quoted spread for any name wey you dey follow, ask the question in plain English on the Strasmore terminal.