Strasmore Research
Apprendre Matt ConnorPar Matt Connor

Impact des actions fractionnaires sur le consolidated tape

Les actions fractionnaires apparaissent comme des unités entières sur le tape. La règle du vingt-trois février deux mille vingt-six crée une rupture dans les séries de volumes.

Les actions fractionnaires apparaissent sur le « consolidated tape » sous forme de transactions (« prints ») en nombre entier. Jusqu’au 23 février 2026, cette conversion s’opérait simultanément dans deux directions. Une transaction portant sur moins d’une action était arrondie à l’unité supérieure. Une transaction supérieure à une action voyait sa fraction tronquée. Toute série de volumes actions couvrant cette date présente une rupture de continuité ; sur les valeurs où les ordres fractionnaires sont fréquents, les données historiques étaient erronées dans les deux sens à la fois.

Comment un ordre sur action fractionnaire devient-il un « print » ?

Si vous demandez pour 50 dollars d’une action cotée à 180 dollars, vous passez un ordre de 0,2778 action. Aucun carnet d’ordres de bourse n’accepte cette quantité. Les bourses appariement des actions entières, et la cotation qui établit le « national best bid and offer » (NBBO) — le meilleur cours acheteur et le meilleur cours vendeur disponibles pour tous — ne comptabilise que les « round lots » de 100 actions. Notre page odd lot quote traite de cette seconde règle.

Le courtier comble l’écart sur ses propres livres. Il compense les intérêts fractionnaires entre ses clients, envoie la partie entière sur le marché sous forme d’ordre unique et rétrocède les fractions aux comptes sous forme d’exécutions en compte propre (« principal fills ») ; le courtier est donc la contrepartie de votre fraction. Le « print » qui atteint le « tape » public porte la quantité entière du courtier. Vos 0,2778 action figurent sur votre relevé, mais pas dans le volume publié de la journée.

Retenez ce premier fait : la majeure partie de l’activité fractionnaire n’a jamais été visible dans le volume public. Ce qui est visible, c’est l’ordre en nombre entier agrégé qui s’y substitue, ainsi qu’une faible proportion de rapports fractionnaires envoyés directement au « tape ».

Ce qui a changé le 23 février 2026

Le champ de quantité a lui-même changé de format. Les rapports de transaction comportent désormais des quantités avec six décimales, tronquées plutôt qu’arrondies, de sorte qu’un rapport de 0,142857 action peut être publié tel quel. Avant cette date, chaque quantité rapportée devait être un nombre entier, et la règle d’arrondi n’était pas symétrique.

  • En dessous d’une action, la quantité était arrondie à 1. Un volume apparaissait alors qu’il n’avait jamais été négocié.
  • À partir d’une action, la fraction était supprimée. Un rapport de 2,7 actions était publié comme 2.

Ces deux distorsions s’appliquent au même champ, dans des directions opposées. Le nombre de transactions a hérité de la première : un rapport fractionnaire arrondi à l’unité compte comme un « print » complet dans le décompte quotidien. Si l’on additionne ces éléments sur une valeur fortement fractionnalisée sur plusieurs années, la série publiée peut être surévaluée, sous-évaluée ou, par hasard, exacte, sans aucun moyen de le vérifier au sein de la série elle-même.

La répartition des tailles de « prints » permet d’observer ce changement. Le panneau ci-dessous comptabilise chaque « print » sur AAPL inférieur à 26 actions sur deux fenêtres de cinq séances, l’une début janvier 2026 et l’autre début juillet 2026. La ligne zéro contient tous les « prints » inférieurs à une action.

RequêteTailles de transactions AAPL : comparaison de cinq séances en janvier 2026 et juillet 2026
Le SQL exact derrière chaque chiffre
SELECT
    scaffold.shares                        AS shares,
    toUInt64(ifNull(t.jan_prints, 0))      AS prints_early_january,
    toUInt64(ifNull(t.jul_prints, 0))      AS prints_early_july
FROM
(
    SELECT toUInt32(arrayJoin(range(0, 26))) AS shares
) AS scaffold
LEFT JOIN
(
    SELECT
        toUInt32(floor(toFloat64(size)))                 AS shares,
        countIf(sip_timestamp <  '2026-02-01 00:00:00')  AS jan_prints,
        countIf(sip_timestamp >= '2026-07-01 00:00:00')  AS jul_prints
    FROM global_markets.stocks_trades
    WHERE ticker = 'AAPL'
      AND ((sip_timestamp >= '2026-01-05 00:00:00' AND sip_timestamp < '2026-01-10 00:00:00')
        OR (sip_timestamp >= '2026-07-06 00:00:00' AND sip_timestamp < '2026-07-11 00:00:00'))
      AND toFloat64(size) < 26
    GROUP BY shares
) AS t ON t.shares = scaffold.shares
ORDER BY shares
Run this yourself

Le compartiment d’une action contient 1360015 « prints » dans la fenêtre de janvier et 331200 dans celle de juillet, contre 132674 « prints » à deux actions en juillet. La ligne des fractions inférieures à une action contient 2 en janvier et 1191620 en juillet. Tout ce qui était inférieur à une action durant la fenêtre de janvier se retrouve une ligne au-dessus, comptabilisé comme une action entière.

Actions fractionnaires contre « odd lots »

Ces deux notions sont constamment confondues, alors qu’il s’agit d’exclusions différentes. Un « odd lot » est un ordre en nombre entier portant sur moins de 100 actions. Un « round lot » est de 100 actions, l’unité sur laquelle repose la cotation protégée. Les « odd lots » s’affichent sur le « tape » public, possèdent leur propre trade condition code et sont comptabilisés dans le volume. Ils ne mettent simplement pas à jour le « national best bid and offer ». Une quantité fractionnaire est une notion distincte : moins d’une action.

Chaque « print » fractionnaire est également un « odd lot ». Presque aucun « odd lot » n’est fractionnaire. Le panneau ci-dessous classe six valeurs connues selon la part de « prints » correspondant à des « odd lots » sur trois séances en juillet 2026.

RequêteOdd lots, round lots et transactions fractionnaires sur six titres, du 8 au 10 juillet 2026
Le SQL exact derrière chaque chiffre
SELECT
    ticker,
    round(100 * countIf(toFloat64(size) >= 1 AND toFloat64(size) < 100) / count(), 1) AS odd_lot_pct,
    round(100 * countIf(toFloat64(size) >= 100) / count(), 1)                         AS round_lot_pct,
    countIf(toFloat64(size) < 1)                                                      AS sub_one_share_prints
FROM global_markets.stocks_trades
WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'KO', 'PG', 'SPY')
  AND sip_timestamp >= '2026-07-08 00:00:00'
  AND sip_timestamp <  '2026-07-11 00:00:00'
GROUP BY ticker
ORDER BY odd_lot_pct DESC
Run this yourself

Classée par part d’« odd lots », la liste va de SPY à 74.1% des « prints » jusqu’à KO à 39%. La dernière colonne compte les « prints » inférieurs à une action : 211801 d’entre eux en SPY sur ces mêmes trois séances. Les « odd lots » sont courants. Les « prints » fractionnaires ne sont qu’une poussière par-dessus.

Pourquoi une colonne de volume est soudainement décimale

La quantité d’actions a été un nombre entier pendant trente ans, et tous les systèmes en aval ont intégré cette logique. Six décimales brisent cette hypothèse sans bruit : un lecteur qui analyse le champ comme un entier rejette la ligne ou arrondit 0,5 à 0, et une colonne typée comme entier stocke la même chose. Si vous conservez vos propres données de transaction, le champ de quantité nécessite un type avec au moins six décimales, et chaque somme calculée à partir de celui-ci doit avoir la même précision.

Le contrôle de cohérence le plus simple pour une série de volumes est la taille moyenne des « prints » : volume en actions divisé par le nombre de transactions de la journée. Cette mesure est stable pour une valeur sur de courtes périodes, ce qui rend une rupture brutale facile à identifier. Voici AAPL sur la quinzaine entourant le changement.

RequêteTaille moyenne des transactions AAPL autour de la limite de février 2026
Le SQL exact derrière chaque chiffre
SELECT
    toString(date)                                        AS session_date,
    formatDateTime(date, '%b %e')                         AS session_label,
    round(sum(toFloat64(volume)) / sum(transactions), 1)  AS shares_per_print,
    round(sum(toFloat64(volume)) / 1000000, 1)            AS volume_millions
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'AAPL'
  AND date >= '2026-02-09'
  AND date <= '2026-03-06'
GROUP BY date
HAVING sum(transactions) > 0
ORDER BY date
Run this yourself

AAPL a enregistré une moyenne de 61.3 actions par « print » le Feb 9, sur un volume de 44.6 millions d’actions, et 66.2 actions par « print » le Mar 6. Une variation quotidienne de cette ampleur est normale. Le 23 février a modifié la manière dont une quantité est inscrite, non le volume d’actions échangées.

Quels chiffres bougent lorsqu’une série franchit la rupture

Tout ce qui est normalisé par le volume hérite de cette rupture. Quatre indicateurs méritent d’être vérifiés :

  • Le volume relatif, le volume du jour par rapport à une moyenne des séances précédentes. Lorsque l’historique remonte au-delà du 23 février 2026, les deux côtés du ratio ont été comptabilisés selon des règles différentes. Notre page relative volume contient la formule.
  • Le VWAP (prix moyen pondéré par le volume), qui pondère chaque « print » par sa quantité. Les « prints » fractionnaires arrondis à l’unité avaient plus de poids qu’ils ne le méritaient. Voir how VWAP is calculated.
  • Les barres de temps (minutes et jours), construites en sommant les tailles des « prints » dans une fenêtre donnée. How OHLCV bars are built détaille cette agrégation.
  • Les mesures de rotation et d’illiquidité, qui divisent une variation de prix par le volume en dollars sur des historiques pluriannuels.

Traitez le 23 février 2026 comme vous traiteriez une opération sur titres dans un historique de prix : une discontinuité étiquetée, et non un bug à lisser. L’historique des prix présente le même problème sous une forme différente, traité sur notre page split adjusted price history. Ne placez jamais de volumes pré- et post-changement sur un même axe sans marquer l’endroit où se situe la limite.

La taille moyenne des « prints » sur un horizon plus long illustre ce dernier point. Elle dérive avec la structure du marché pour chaque valeur, selon son propre calendrier.

RequêteNombre moyen d'actions par transaction par mois, de septembre 2025 à juillet 2026
Le SQL exact derrière chaque chiffre
SELECT
    toString(m)                                                   AS month,
    formatDateTime(m, '%b %Y')                                    AS month_label,
    round(sumIf(vol, sym = 'AAPL') / sumIf(trades, sym = 'AAPL'), 1) AS aapl_shares_per_print,
    round(sumIf(vol, sym = 'MSFT') / sumIf(trades, sym = 'MSFT'), 1) AS msft_shares_per_print,
    round(sumIf(vol, sym = 'KO')   / sumIf(trades, sym = 'KO'), 1)   AS ko_shares_per_print
FROM
(
    SELECT
        toStartOfMonth(date)  AS m,
        ticker                AS sym,
        toFloat64(volume)     AS vol,
        transactions          AS trades
    FROM global_markets.stocks_daily_aggs
    WHERE ticker IN ('AAPL', 'MSFT', 'KO')
      AND date >= '2025-09-01'
      AND date <  '2026-08-01'
)
GROUP BY m
ORDER BY m
Run this yourself

AAPL a enregistré une moyenne de 91.4 actions par « print » en Sep 2025 et 54.9 en Jul 2026, tandis que KO affichait 61.8 au cours de ce dernier mois. Les trois séries se situent à des niveaux différents sans étape commune sur la période. Une série de volumes mensuels ne vous montrera pas où la règle de reporting a changé. Le calendrier le fait, c’est pourquoi cette date mérite d’être notée.

Fenêtres et exclusions
  • La fenêtre de janvier couvre cinq séances, du 5 au 9 janvier 2026. La fenêtre de juillet couvre cinq séances, du 6 au 10 juillet 2026. Les deux sont fixées dans le SQL, de sorte que le panneau ne bouge pas avec l’arrivée de nouvelles données.
  • Le panneau des six valeurs couvre trois séances, du 8 au 10 juillet 2026, et compte chaque « print » indépendamment du lieu ou de la condition.
  • Les données de transaction arrivent avec un léger décalage, chaque fenêtre ici se situe donc confortablement dans le passé.

FAQ

Peut-on acheter une fraction d’action en bourse ?

Non. Les carnets d’ordres des bourses n’acceptent que des actions entières. Un ordre fractionnaire est exécuté par votre courtier à partir de son propre inventaire après avoir compensé la demande des clients et envoyé la partie entière sur le marché. La fraction est une exécution en compte propre entre vous et le courtier.

Quand les quantités fractionnaires ont-elles commencé à apparaître sur le « tape » ?

Le 23 février 2026. À partir de cette date, les rapports de transaction comportent des quantités avec six décimales, tronquées plutôt qu’arrondies. Avant cela, chaque quantité rapportée était un nombre entier.

Les chiffres de volume historiques étaient-ils erronés ?

Sur les valeurs avec une activité fractionnaire importante, dans les deux sens à la fois. Les rapports inférieurs à une action étaient arrondis à l’unité, ce qui augmentait le volume, et les rapports supérieurs à une action étaient tronqués, ce qui le réduisait. Les deux ne s’annulent pas selon un calendrier prévisible.

Une transaction sur action fractionnaire est-elle la même chose qu’un « odd lot » ?

Non. Un « odd lot » est une quantité en nombre entier inférieure à 100 actions, et les « odd lots » sont inscrits sur le « tape » depuis des décennies. Une quantité fractionnaire est inférieure à une action. Chaque « print » fractionnaire est un « odd lot » ; l’inverse n’est presque jamais vrai.

Quelle est la méthode la plus sûre pour représenter le volume sur la frontière de février 2026 ?

Étiquetez-la. Conservez les quantités dans un type décimal suffisamment large pour six décimales, marquez la date sur toute série qui la franchit, et indiquez-le clairement chaque fois qu’une moyenne rétrospective couvre les deux côtés.


Chaque panneau ici contient son SQL en dessous. Ouvrez-en un, changez le ticker ou la fenêtre, et comptez vous-même les « prints » sur le terminal Strasmore.