Strasmore Research
Apprendre Matt ConnorPar Matt Connor

Règle sub-penny : pourquoi votre prix d’exécution varie

La Rule 612 interdit les cotations sous le cent au-dessus de $1.00. Découvrez pourquoi votre exécution peut afficher quatre décimales, avec des données de tape réelles.

La règle des sub-penny, la Rule 612 de la Regulation NMS, fixe l’incrément minimal utilisable pour une cotation affichée : un cent pour un prix de $1.00 ou plus, et un centième de cent sous $1.00. Elle encadre les prix qu’une plateforme peut afficher ou accepter. Elle ne dit rien du prix auquel une transaction peut être exécutée. C’est pourquoi une exécution peut apparaître sur votre confirmation à $47.3218 alors que toutes les cotations à l’écran se terminaient par un nombre entier de cents.

Ce que dit réellement la règle des sub-penny

La Rule 612 a été introduite avec la Regulation NMS en 2005, et son texte opératoire est court. Aucune bourse nationale, aucun alternative trading system, vendor ou broker ne peut afficher, classer ou accepter un ordre, une cotation ou une indication d’intérêt sur une action NMS à un incrément inférieur à $0.01 lorsque le prix est égal ou supérieur à $1.00. Sous $1.00, le seuil tombe à $0.0001. Une action NMS est une action cotée en Bourse : la règle couvre donc pratiquement tous les titres qu’un compte de courtage de détail peut acheter sur une Bourse américaine.

Les mots déterminants sont « afficher » et « accepter ». La règle s’applique aux cotations et aux ordres. Elle ne s’applique pas aux exécutions. Une plateforme ne peut pas afficher une meilleure demande à $47.3215, et votre broker ne peut pas accepter un ordre à cours limité à ce prix. En revanche, une transaction peut légalement être exécutée à ce niveau.

La pratique visée par la règle était le stepping ahead. Un trader pouvait passer devant une meilleure demande existante à $10.00 en affichant $10.0001, obtenant la priorité pour un centième de cent d’engagement économique réel. Une grille d’affichage plus grossière supprime cette possibilité et donne un poids réel à la priorité au prix.

Pourquoi votre exécution apparaît avec quatre décimales

La plupart des ordres de détail exécutables sur les actions américaines n’atteignent jamais une Bourse. Ils sont dirigés vers un wholesaler, un market maker hors marché qui exécute l’ordre contre son propre inventaire. Le wholesaler n’affiche pas de cotation lorsqu’il vous exécute. La grille au cent ne s’impose donc pas au prix d’exécution. Il vous exécute à l’intérieur du meilleur bid et de la meilleure offer nationale, souvent pour une fraction de cent. L’écart entre le NBBO et votre prix d’exécution correspond au price improvement indiqué sur la confirmation et dans les rapports de qualité d’exécution de votre broker.

Le mécanisme laisse une trace sur le tape public. Chaque transaction est publiée dans le flux consolidé à son prix exact. Compter les prints dont le prix comporte une fraction de cent revient donc à compter les exécutions réalisées à l’intérieur de la grille.

RequêtePart des transactions exécutées à un prix inférieur au cent
Le SQL exact derrière chaque chiffre
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 DESC
Run this yourself

Sur une fenêtre de quinze minutes le 17 juin 2026, KO affichait le taux le plus élevé parmi les 7 noms mesurés, avec 46.56% des prints exécutés à un prix sub-penny. MSFT affichait le taux le plus faible, à 31.87%. En comptant les actions plutôt que les prints, on obtient une autre lecture : pour KO, les prints sub-penny représentaient 24.88% des actions échangées.

Les exécutions réalisées par les wholesalers sont concentrées sur les petites tailles. Le panneau ci-dessous répartit les prints d’AAPL sur une séance complète par taille de transaction. Il distingue ainsi les flux de taille détail des blocs institutionnels.

RequêteTaux de transactions sub-penny sur AAPL par taille de transaction, 17 juin 2026
Le SQL exact derrière chaque chiffre
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)
Run this yourself

Les prints de under 100 shares représentent 88.99% des transactions AAPL de la séance et affichent un prix sub-penny dans 38.66% des cas. La tranche la plus importante, 5,000 shares and up, affiche un prix sub-penny dans 18.06% des cas. Les deux extrémités du panneau en contiennent.

Pourquoi un cent représente une charge plus lourde sur une action bon marché

Un point de base correspond à un centième de pour cent. C’est l’unité standard pour comparer les coûts de transaction entre différents cours de l’action. Exprimé en points de base, un tick minimal d’un cent représente une charge totalement différente sur une action à $3 que sur une action à $500.

RequêteValeur d’un centime selon la tranche de cours de l’action
Le SQL exact derrière chaque chiffre
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)
Run this yourself

Sur les 8 tranches de cours du 17 juin 2026, un cent représente 71.37 points de base du cours dans la tranche $1 to $2, et 0.28 points de base dans la tranche $250 to $1,000. Le même cent, rapporté à des cours très différents.

La règle prévoit déjà un ajustement. Sous $1.00, l’incrément tombe à $0.0001, soit un centième du tick applicable juste au-dessus d’un cent. Une action à $0.99 est cotée sur une grille cent fois plus fine que la même action à $1.01. Le changement brutal intervient précisément à cette frontière.

Cette arithmétique se retrouve dans les bid ask spreads affichés. Le panneau ci-dessous prend la meilleure demande et la meilleure offre affichées n’importe où au cours de la même seconde, puis calcule la moyenne de cet écart sur une fenêtre de quinze minutes. Les secondes durant lesquelles le carnet était locked ou crossed sont exclues. Les marchés locked et crossed expliquent à quoi correspondent ces situations.

RequêteLe tick d’un centime et l’écart coté, en points de base
Le SQL exact derrière chaque chiffre
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) DESC
Run this yourself

Pour MSFT ($388), le tick d’un cent représente 0.26 points de base du cours. L’écart moyen affiché s’établissait à 6.23 cents, soit 1.61 points de base. Pour F ($14), le cent représente 6.94 points de base, tandis que l’écart affiché de 1 cents correspond à 6.94 points de base. Une valeur à faible cours peut sembler large sur un écran en pourcentage alors qu’elle affiche un écart d’un cent, le plus étroit que permette la grille d’affichage. À ce stade, le spread affiché mesure la taille du tick plutôt que la profondeur du marché.

La modification de 2024 et le tick d’un demi-cent

En septembre 2024, la SEC a modifié la Rule 612 et ajouté un deuxième incrément de cotation. Une action NMS dont le spread affiché moyen pondéré dans le temps sur la période d’évaluation précédente est inférieur ou égal à $0.015 est cotée par incréments de $0.005. Pour les autres titres, le cent reste la règle. L’évaluation est renouvelée selon un calendrier fixe et les symboles concernés sont republiés à chaque cycle. C’est pourquoi cette page indique le seuil, mais renvoie à la SEC pour la liste des titres.

Quels titres un test à $0.015 sélectionne-t-il ? Ceux qui sont déjà bloqués au seuil minimal : des actions très négociées dont le spread affiché reste égal ou très proche d’un cent pendant la majeure partie de la séance. Une action qui affiche régulièrement un spread de trois ou quatre cents ne s’approche jamais du seuil. Le panneau ci-dessus comporte une colonne de niveau qui applique le calcul du seuil à la fenêtre mesurée. Il s’agit donc d’une illustration, et non d’une désignation officielle. La SEC mesure une moyenne pondérée dans le temps sur une période d’évaluation complète. Quinze minutes d’une seule séance ne suffisent pas.

La même réforme a abaissé le plafond de la commission qu’une Bourse peut facturer pour accéder à une cotation protégée, à $0.0010 par action pour les titres dont le cours est égal ou supérieur à $1.00. Les deux chiffres fonctionnent ensemble : une grille de cotation d’un demi-cent associée à une commission d’accès d’un dixième de cent évite que la commission absorbe une part importante du tick.

La modification encadre les cotations. Tout ce qui précède sur les prix d’exécution reste inchangé. Une exécution hors marché réalisée à l’intérieur de la cotation peut toujours intervenir à un incrément plus fin.

Pourquoi un ordre à cours limité est rejeté pour incrément invalide

Un ordre à cours limité à $47.3215 demande à un broker d’accepter un prix que la règle lui interdit d’accepter. L’ordre revient donc avec un message signalant un incrément de prix invalide, ou est arrondi au tick légal le plus proche selon la politique de l’établissement. La frontière de $1.00 s’applique au prix de l’ordre lui-même, et non au dernier prix coté sur l’action. Un ordre à $0.4732 est donc légal sur la grille de $0.0001, tandis qu’un ordre à $0.47325 ne l’est pas.

L’image inverse apparaît de l’autre côté de la transaction. Un wholesaler qui vous exécute à $47.3218 conserve la fraction de cent située entre votre prix et le sien. L’article comment les market makers gagnent de l’argent explique où va cette fraction.

FAQ

Qu’est-ce que la règle des sub-penny ?

Il s’agit de la Rule 612 de la Regulation NMS. Elle interdit à toute Bourse, à tout alternative trading system, broker ou vendor d’afficher ou d’accepter un ordre ou une cotation sur une action NMS à un incrément inférieur à $0.01 lorsque le prix est égal ou supérieur à $1.00, et inférieur à $0.0001 lorsque le prix est inférieur à $1.00.

Pourquoi mon ordre sur une action a-t-il été exécuté avec quatre décimales ?

La règle encadre les cotations et les ordres, pas les exécutions. Un market maker hors marché qui exécute votre ordre à l’intérieur du meilleur bid et de la meilleure offer nationale peut vous exécuter à un prix amélioré d’une fraction de cent par rapport à la cotation. Cette différence correspond au price improvement déclaré par les brokers.

Pourquoi mon ordre à cours limité a-t-il été rejeté pour incrément de prix invalide ?

Le prix limite utilisait un incrément plus fin que celui autorisé par la Rule 612 à ce niveau de cours : inférieur à un cent pour un ordre à $1.00 ou plus, ou inférieur à $0.0001 pour un ordre sous $1.00. Saisir à nouveau l’ordre avec un incrément légal permet de lever le rejet.

Qu’a changé la modification de 2024 de la SEC sur la taille des ticks ?

Elle a ajouté un incrément de cotation de $0.005 pour les actions NMS dont le spread affiché moyen pondéré dans le temps sur la période d’évaluation précédente est inférieur ou égal à $0.015. Les actions qui dépassent ce seuil continuent d’être cotées en cents entiers. La modification concerne les incréments de cotation, et non les prix d’exécution.


Chaque panneau est accompagné de la requête SQL qui l’a produit. Dépliez-en un pour voir exactement comment chaque décompte a été effectué. La part des prints sub-penny et le spread affiché moyen peuvent être mesurés pour n’importe quel symbole et n’importe quelle fenêtre sur le terminal Strasmore.

#reg nms#rule 612#tick size#price improvement#limit orders