Как дробные акции отражаются в ленте сделок
Дробные акции отображаются в ленте как целые, а изменение правил от двадцать третьего февраля две тысячи двадцать шестого года создало разрыв в статистике объемов торгов.
Дробные акции попадают в консолидированную ленту сделок как принты целых акций, и до 23 февраля 2026 года это преобразование работало одновременно в двух направлениях. Сделка объемом менее одной акции округлялась до целой. У сделки объемом более одной акции дробная часть отсекалась. Любой ряд данных по объему торгов, охватывающий эту дату, содержит «шов», и по инструментам, где дробные ордера встречаются часто, старые показатели были неверны в обоих направлениях одновременно.
Как дробный ордер становится принтом?
Если вы подаете заявку на покупку акций на 50 долларов при котировке 180 долларов, вы заказываете 0,2778 акции. Ни одна книга ордеров биржи не принимает такой объем. Биржи сопоставляют заявки в целых акциях, а котировка, формирующая национальную лучшую цену покупки и продажи (NBBO) — самую высокую цену покупки и самую низкую цену продажи, доступную всем, — учитывает только лоты по 100 акций. Наша страница котировок неполных лотов описывает это второе правило.
Брокер закрывает разрыв за счет собственных книг. Он неттирует дробные доли между своими клиентами, отправляет часть, составляющую целые акции, на рынок как единый ордер, а дробные части распределяет по счетам как сделки с принципалом, то есть брокер сам выступает контрагентом по вашей дробной доле. Принт, попадающий в публичную ленту, содержит объем целых акций, исполненный брокером. Ваши 0,2778 акции отражаются в выписке по счету, а не в опубликованном дневном объеме торгов.
Запомните этот факт: большая часть дробных операций никогда не была видна в публичном объеме торгов. Виден лишь агрегированный ордер на целое число акций, который его замещает, плюс небольшое количество дробных отчетов, отправленных в ленту напрямую.
Что изменилось 23 февраля 2026 года
Изменился формат поля объема. Отчеты о сделках теперь содержат количество акций с шестью знаками после запятой, причем с отсечением, а не округлением, поэтому отчет о сделке объемом 0,142857 акции может быть опубликован в исходном виде. До этой даты каждое заявленное количество должно было быть целым числом, а правило округления не было симметричным.
- При объеме менее одной акции количество округлялось до 1. В объем попадали сделки, которых фактически не было.
- При объеме одна акция и более дробная часть отсекалась. Отчет о сделке объемом 2,7 акции публиковался как 2.
Оба искажения попадают в одно и то же поле, но в противоположных направлениях. Количество сделок унаследовало первое из них: округленный до целого принт дробной части учитывается как полноценная сделка в дневном подсчете. Если суммировать это по инструменту с высокой долей дробных сделок за несколько лет, опубликованный ряд может быть завышен, занижен или случайно оказаться верным, при этом в самом ряду нет данных, позволяющих определить, какой вариант перед вами.
Изменение заметно в распределении размеров мелких принтов. На панели ниже подсчитаны все принты AAPL объемом менее 26 акций за два пятидневных периода: в начале января 2026 года и в начале июля 2026 года. В строке «ноль» отражены все принты объемом менее одной акции.
Точный SQL-код для каждого числа
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В корзине «одна акция» содержится 1360015 принтов в январском периоде и 331200 в июльском, против 132674 принтов объемом две акции в июле. В строке «менее одной акции» — 2 в январе и 1191620 в июле. Все, что было меньше одной акции и отчитывалось в январский период, находится строкой выше, учитываясь как полная акция.
Дробные акции против неполных лотов
Эти понятия постоянно путают, но это разные исключения. Неполный лот (odd lot) — это ордер на целое число акций объемом менее 100. Стандартный лот (round lot) — это 100 акций, единица, из которой строится защищенная котировка. Неполные лоты отражаются в публичной ленте, имеют свой код условия сделки и учитываются в объеме. Они просто не обновляют национальную лучшую цену покупки и продажи. Дробный объем — это иная концепция: менее одной акции.
Каждый дробный принт также является неполным лотом. Почти никакой неполный лот не является дробным. На панели ниже шесть известных акций отсортированы по доле принтов, являвшихся неполными лотами, за три торговые сессии в июле 2026 года.
Точный SQL-код для каждого числа
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Список, отсортированный по доле неполных лотов, идет от SPY с 74.1% принтов до KO с 39%. Последний столбец учитывает принты объемом менее одной акции: 211801 из них в SPY за те же три сессии. Неполные лоты — это обычное явление. Дробные принты — лишь малая часть сверх них.
Почему столбец объема внезапно стал десятичным
Количество акций было целым числом в течение тридцати лет, и все последующие системы привыкли к этому. Шесть знаков после запятой незаметно нарушают это допущение: программа, считывающая поле как целое число, либо отклоняет строку, либо округляет 0,5 до 0, а столбец с типом «целое число» сохраняет то же самое. Если вы ведете собственный архив данных о сделках, поле объема должно иметь тип с как минимум шестью знаками после запятой, и каждая сумма, построенная на его основе, требует такой же точности.
Самый простой способ проверки качества ряда объема — средний размер принта: объем в акциях, деленный на количество сделок за день. Этот показатель стабилен для инструмента на коротких отрезках, что позволяет легко заметить резкий скачок. Ниже приведен AAPL за две недели, охватывающие момент изменения.
Точный SQL-код для каждого числа
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Средний размер принта AAPL составил 61.3 акций Feb 9 при объеме 44.6 млн акций и 66.2 акций Mar 6. Дневные колебания такого масштаба — обычное дело. 23 февраля изменился способ записи количества, а не объем торгуемых акций.
Какие показатели меняются при пересечении «шва» в ряду данных
Все, что нормализуется по объему, наследует этот «шов». Четыре показателя, которые стоит проверить:
- Относительный объем: сегодняшний объем по сравнению со средним значением за предыдущие сессии. Когда период сравнения охватывает дату до 23 февраля 2026 года, две стороны соотношения были подсчитаны по разным правилам. Наша страница относительного объема содержит формулу.
- VWAP (средневзвешенная по объему цена): каждый принт взвешивается по его количеству. Округленные до целого дробные принты имели больший вес, чем заслуживали. См. как рассчитывается VWAP.
- Минутные и дневные бары, которые строятся путем суммирования размеров принтов внутри окна. Как строятся OHLCV-бары описывает этот процесс агрегации.
- Показатели оборота и неликвидности, которые делят изменение цены на долларовый объем в многолетних историях.
Относитесь к 23 февраля 2026 года так же, как к корпоративному действию в истории цен: это обозначенный разрыв, а не ошибка, которую нужно сглаживать. История цен имеет ту же проблему в другом виде, описанную на нашей странице истории цен с поправкой на сплиты. Никогда не размещайте объем до и после изменения на одной оси, не отметив, где проходит граница.
Средний размер принта на более длинном горизонте подтверждает последний пункт. Он дрейфует вместе со структурой рынка для каждого инструмента по своему собственному графику.
Точный SQL-код для каждого числа
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Средний размер принта AAPL составил 91.4 акций в Sep 2025 и 54.9 в Jul 2026, в то время как у KO показатель был 61.8 в том же последнем месяце. Три ряда находятся на разных уровнях без общего шага по всему диапазону. Месячный ряд объема не покажет, где изменилось правило отчетности. Это делает календарь, поэтому дату стоит зафиксировать.
Окна и исключения
- Январское окно охватывает пять сессий: с 5 по 9 января 2026 года. Июльское окно охватывает пять сессий: с 6 по 10 июля 2026 года. Оба закреплены в SQL, поэтому панель не меняется при поступлении новых данных.
- Панель из шести инструментов охватывает три сессии: с 8 по 10 июля 2026 года и учитывает каждый принт независимо от площадки или условия.
- Данные о сделках поступают с небольшой задержкой, поэтому каждое окно здесь находится в прошлом.
Часто задаваемые вопросы
Можно ли купить дробную часть акции на бирже?
Нет. Книги ордеров биржи принимают только целые акции. Дробный ордер исполняется вашим брокером из его собственного инвентаря после того, как он неттирует спрос клиентов и отправляет часть, составляющую целые акции, на рынок. Дробная часть — это сделка с принципалом между вами и брокером.
Когда дробные количества начали появляться в ленте?
23 февраля 2026 года. С этой даты отчеты о сделках содержат количества с шестью знаками после запятой, с отсечением, а не округлением. До этого каждое заявленное количество было целым числом.
Были ли исторические данные об объеме неверными?
По инструментам с высокой долей дробных операций — да, в обоих направлениях одновременно. Отчеты объемом менее одной акции округлялись до целой, что добавляло объем, а отчеты объемом более одной акции усекались, что его уменьшало. Эти два процесса не компенсируют друг друга по какому-либо предсказуемому графику.
Является ли сделка с дробной акцией тем же, что и неполный лот?
Нет. Неполный лот — это количество целых акций менее 100, и неполные лоты печатаются в ленте десятилетиями. Дробное количество — это менее одной акции. Каждый дробный принт является неполным лотом; обратное почти никогда не верно.
Какой самый безопасный способ построения графика объема через границу февраля 2026 года?
Обозначьте ее. Храните объемы в десятичном типе с достаточной точностью (шесть знаков), отметьте дату на любом ряде, который ее пересекает, и прямо указывайте на это всякий раз, когда среднее значение за период охватывает обе стороны.
Каждая панель здесь содержит свой SQL-запрос внизу. Откройте его, замените тикер или окно и подсчитайте принты самостоятельно в терминале Strasmore.