Skip to content
Все руководства по опционам и фьючерсам
Микроструктура рынка12 минут чтения

Как определить инициатора сделки: котировка, тик-тест и Lee–Ready

Разберите, как котировка, тик-тест и алгоритм Lee–Ready оценивают сторону, инициировавшую сделку, почему вывод внутри спреда ненадёжен и где помогают данные биржи.

В этом руководствеЧто именно означает «покупка» в классификации сделок

Краткое резюме

Каждая сделка одновременно имеет покупателя и продавца. Классификация направления отвечает на более узкий вопрос: кто агрессивно пересёк котировку и тем самым инициировал исполнение. Тик-тест использует изменение цены относительно предыдущей сделки, котировочное правило сравнивает цену сделки с серединой спреда, а Lee–Ready сочетает сравнение с котировкой и тик-тест для сделок на середине. Это вывод из данных, а не запись о позиции участника.

Что именно означает «покупка» в классификации сделок

В микроструктуре запись «покупка» обычно означает сделку, в которой покупатель был инициатором: он отправил рыночную или рыночно-лимитную заявку, которая забрала ликвидность продавца. Запись «продажа» означает, что инициативу проявил продавец и он исполнился против стоящей заявки покупателя. В каждом исполнении всё равно есть обе стороны; алгоритм не утверждает, что один участник был покупателем, а второго не существовало.

Это различие важно для биржевого потока сделок. Если покупатель пересёк спред и ударил по ask, его часто называют агрессором или taker, а продавца с лимитной заявкой — пассивной стороной или maker. Однако классификатор не сообщает, открыл ли агрессор длинную позицию, закрыл короткую, хеджировал риск или торговал от имени клиента. Он также не раскрывает личность, мотив или конечную экспозицию сторон.

Поля транзакции и котировки часто не содержат прямой отметки о направлении инициатора. Поэтому исследователь выводит его из цены, соседних сделок и котировок. Такой ярлык следует считать оценкой по определённому правилу, особенно если используются агрегированные исторические данные, в которых нет биржевого поля стороны-агрессора.

Тик-тест выводит сторону из движения цены

Тик-тест сравнивает цену текущей сделки с ценой предыдущей. Если последняя цена выше предыдущей, это uptick, или повышение, и сделку помечают как покупку. Если цена ниже, это downtick, или понижение, и сделку помечают как продажу. Метод может работать без данных книги заявок, поэтому он применим к некоторым наборам, содержащим только цены сделок.

Когда цена не изменилась, возникает zero tick. Обычно знак наследуют от последнего ненулевого изменения: после повышения неизменившаяся цена получает знак покупки, после понижения — знак продажи. Это правило распространения последнего направления помогает не терять каждый повторяющийся уровень, но может переносить устаревший сигнал через несколько одинаковых сделок. Если до серии нулевых тиков нет предыдущего ненулевого движения, направление остаётся неразрешённым; не следует автоматически выдумывать buy или sell.

Простота не означает точность. Цена может повышаться из-за изменения котировки, а не потому, что последняя сделка была инициирована покупателем. Редкие сделки, несинхронные сообщения, сделки вне очереди, аукционы и специальные условия печати также нарушают простую последовательность. Lee и Ready описывают тик-тест как полезное средство, особенно когда котировка не даёт ясного ответа, но любой ярлык всё равно зависит от времени и охвата исходных данных (Lee и Ready, 1991).

Котировочное правило сравнивает цену со серединой спреда

При известной лучшей котировке вычислите midpoint как среднее bid и ask. Сделку выше midpoint относят к покупкам, а ниже midpoint — к продажам. Цена точно на середине сама по себе не задаёт направление: нужна дополнительная договорённость, например тик-тест, либо отметка «не классифицировано». Цена на ask обычно согласуется с покупателем-агрессором, а на bid — с продавцом-агрессором, если котировки и исполнение правильно сопоставлены по времени.

Правило особенно неуверенно внутри спреда. Сделка, прошедшая между bid и ask, могла исполниться по улучшенной лимитной заявке, в результате скрытой ликвидности, внутреннего сопоставления или особенности обработки данных. Одно только расстояние до midpoint не устанавливает, какая сторона направила заявку. Если спред широк или midpoint округляется к шагу цены, разница в один тик может изменить ярлык, хотя экономическая ситуация почти та же.

Ключевое условие — котировка должна быть той, которая была актуальна в момент исполнения, и относиться к тому же инструменту и месту торговли. Запоздалая, агрегированная или относящаяся к другому venue котировка может оказаться после сделки, вызванной ею самой. Сначала сверяйте источник и временные метки; сравнение книги заявок и Time and Sales объясняет, почему состояние книги и запись о сделке — разные виды рыночных данных.

Lee–Ready соединяет сравнение с котировкой и fallback

Классический Lee–Ready сначала сопоставляет сделку с котировкой: на ask или выше — покупка, на bid или ниже — продажа. Если цена внутри спреда, но не на midpoint, исходный метод относит её к более близкой котировке; точно на midpoint он использует tick test. Если и у тик-теста нет предыдущего ненулевого движения, наблюдение можно оставить неклассифицированным. Определение «точно на середине» в программе должно учитывать точность ценовых данных и шаг цены.

Авторы также корректировали время сопоставления котировок. В их работе котировка, записанная непосредственно перед сделкой, могла уже отражать саму эту сделку; на данных NYSE 1988 года они использовали последнюю котировку, возникшую не менее чем за пять секунд до сделки. Эта исходная задержка была исследовательским решением для исторических данных и проблем синхронизации той эпохи, а не универсальной настройкой для современных электронных рынков. В высокочастотном потоке пять секунд могут отнести исследователя к совершенно другому состоянию книги.

Пользовательская реализация должна не просто скопировать число 5, а определить порядок событий и качество временных меток. Какие часы стоят у сделок и котировок? Общие ли они для биржи, или один источник выдаёт время приёма? Как обрабатываются равные метки, более одной котировки между сделками, пропущенные сообщения и периоды без котировки? В зависимости от конкретной ленты лучше использовать её документированный порядок сообщений или допустимую меньшую задержку. Обоснуйте выбор до анализа, а не подбирайте его так, чтобы улучшить желаемую метрику.

Один пример показывает, почему правила расходятся

Предположим, лучшая котировка — bid 100,00 и ask 100,04, поэтому midpoint равен 100,02. Предыдущая сделка прошла по 100,00. Эти цены условны и предназначены только для иллюстрации классификаторов, а не для описания рынка или результата торговли.

Следующая сделка проходит по 100,01. Поскольку 100,01 выше предыдущей цены 100,00, тик-тест даёт знак покупки. Но цена ниже midpoint 100,02, поэтому котировочное правило даёт знак продажи. Это не арифметическая ошибка: алгоритмы отвечают на вопрос разными способами. Внутри спреда наблюдаемой цены недостаточно, чтобы безусловно выбрать правильную сторону.

Затем сделка проходит по 100,02, точно на середине. Для чистого котировочного правила направление не определено, а Lee–Ready обращается к тик-тесту. Цена 100,02 выше последней сделки 100,01, поэтому fallback даёт покупку. Если следующая сделка проходит по 100,04, то есть по ask, она обычно классифицируется как покупка по сравнению с котировкой. Реальная реализация должна также обработать округление, нулевые тики, устаревшие котировки и несовпадающие временные метки.

Пример не утверждает, что любой midpoint-print был покупкой или что продажа по 100,01 обязательно ошибочна. Он показывает конфликт доступных косвенных сигналов и необходимость документировать правило разрешения конфликта. При наличии биржевой информации об агрессоре она может быть предпочтительнее вывода из одной цены, но и её следует трактовать по спецификации конкретной ленты.

Если для трёх сделок задать количества 4, 3 и 2, знаки Lee–Ready будут −, + и +: подписанный объём составит −4 + 3 + 2 = +1. Только тик-тест даст три положительных знака и сумму +9. Выбор классификатора изменил итог на 8 единиц при неизменных ценах и объёмах. Если часть сделок не имеет знака, укажите её долю и способ учёта; это условный расчёт, а не рыночный результат.

Схема без надписей: уровни bid и ask образуют спред с отметками сделок у bid, внутри, на midpoint и у ask; временная линия сопоставляет ближайшую котировку с более ранней.
Условная схема, а не наблюдаемые данные рынка; отметки показывают логику классификации и не гарантируют направление инициатора или последующее движение цены.

Опубликованная точность относится к конкретным выборкам

Ellis, Michaely и O’Hara сравнили разные способы классификации на закрытых данных Nasdaq. В их выборке точность составляла 76,4% для котировочного правила, 77,66% для тик-правила и 81,05% для Lee–Ready. Эти числа полезны как описание их сравнения, но не как обещание точности на любом рынке. Результат зависит от периода, инструментов, качества временных меток, эталона классификации и доли сделок внутри спреда; последняя группа была особенно трудной (исследование Ellis, Michaely и O’Hara).

Jurkatis предложил метод классификации с полной информацией, который сопоставляет сделки и котировки с использованием более детального набора данных. В исследовании он работал лучше сравниваемых стандартных правил, особенно когда временные метки имели низкую точность. Это эмпирический вывод конкретной работы, а не гарантия преимущества на другой бирже, для другого инструмента или при ином протоколе. Сопоставление по полному потоку требует точной реконструкции книги и не всегда возможно для пользователя, получающего только агрегированные ленты (Jurkatis, 2022).

При оценке методов используйте доступную независимую метку стороны, если площадка её предоставляет, и отдельно показывайте долю классифицированных, неопределённых и исключённых сделок. Общая точность может скрыть сильную ошибку внутри спреда или на малоликвидных инструментах. Если эталон сам является выводом из другой версии того же правила, сравнение не подтверждает истинную сторону.

Прямое биржевое поле отличается от выведенного ярлыка

Некоторые потоки публикуют поле стороны-агрессора. В документации CME MDP 3.0 Trade Summary поле AggressorSide описано как направление агрессора или отсутствие агрессора: значение 1 означает агрессора со стороны bid, значение 2 — со стороны ask. Значения и трактовку нужно читать в контексте текущего формата сообщения; отсутствие определённого агрессора нельзя превращать в сторону наугад (спецификация CME MDP 3.0).

Nasdaq TotalView-ITCH передаёт сторону отображаемого resting order в сообщениях добавления и связывает сообщения исполнения с идентификатором такого ордера. Если исполнена стоящая заявка продавца, встречная рыночная сторона обычно была покупателем-агрессором; для стоящей заявки покупателя логика обратная. Но это вывод из полей и связи сообщений, а не универсальное поле агрессора. У ITCH есть отдельные типы сообщений и специальные правила: например, поле Buy/Sell Indicator в сообщении Non-Cross Trade по спецификации может быть всегда «B» независимо от стороны resting order. Нельзя читать одноимённый байт как инициатора; декодируйте точный тип сообщения по актуальной спецификации Nasdaq (TotalView-ITCH 5.0).

Поле конкретной площадки обычно надёжнее эвристики только в пределах его документированной семантики, версии, типа сообщения и условий публикации. Другой рынок может вообще не раскрывать сторону агрессора. OFI и изменения книги заявок также не являются тем же самым: OFI суммирует изменения котировок и очередей во времени, тогда как классификация стороны присваивает знак отдельной исполненной сделке. Подписанный объём строят уже после присвоения меток сделкам.

Как проверить классификацию на своём наборе данных

Сначала зафиксируйте источник сделок, источник котировок, точный инструмент, торговое место, временную зону, частоту временных меток и правила сортировки сообщений. Затем определите, берёте ли вы лучшую котировку площадки или агрегированный NBBO, какое событие считается предыдущей сделкой для тик-теста и как обрабатываете повтор цены, midpoint, закрытый рынок, аукционный принт, задержанный отчёт и цену вне котировки. Такие решения меняют метки и должны быть воспроизводимы.

Не заставляйте алгоритм классифицировать всё. Направление может остаться неизвестным, если котировка отсутствует или заблокирована, время не согласуется, данные не в последовательности или у тик-теста ещё нет предыдущего ненулевого изменения. Доля неопределённых наблюдений сама по себе описывает пригодность данных. Заполнение каждой пропущенной метки ближайшей сделкой или направлением следующего движения может незаметно внести информацию из будущего.

Для проверки вручную выберите небольшую выборку с исходными сообщениями до и после каждого исполнения. Сопоставьте best bid/ask, midpoint, цену сделки, последнюю ненулевую разницу цен, тип сообщения и доступное биржевое поле. Отдельно рассмотрите сделки на ask, bid, внутри spread и точно на midpoint. Проверьте, не обновилась ли котировка вследствие самой сделки, и повторите расчёт с несколькими обоснованными вариантами тайминга. Такая чувствительность показывает устойчивость результата, но не позволяет выбрать наиболее выгодную версию без предписанного критерия.

Направление сделки не раскрывает позицию и не создаёт торговый сигнал

Один из вариантов агрегирования — подписанный объём S = Σ sᵢvᵢ: для предполагаемой покупки sᵢ = +1, для продажи sᵢ = −1, а vᵢ обозначает количество. Результат меняется в зависимости от окна, площадок, единиц количества и того, исключаются ли неопределённые сделки или учитываются отдельным образом. Поэтому вместе с итогом укажите покрытие и правило обработки неизвестных значений.

Покупка-агрессор могла закрывать шорт, продавец мог уменьшать длинную позицию, а одна сторона могла выполнять хедж или часть более крупного пакетного ордера. Классификация не показывает, кто владеет риском после сделки, какой у него горизонт и что произошло на другой площадке. Группа подписанных покупок за минуту — это уже агрегат с выбранным окном и способом суммирования, а не прямой перечень новых длинных позиций.

Даже корректное описание стороны не доказывает будущую доходность. Цена могла измениться до того, как данные стали доступны, сделка могла исполниться частично, а спред, комиссии, задержка, влияние на рынок и цена выхода могут поглотить краткосрочное движение. Для изучения фактической стоимости исполнения нужен другой объект анализа: руководство по implementation shortfall рассматривает отличие между ценой решения, фактическими исполнениями и неисполненным остатком.

В исследовательском отчёте назовите правило классификации, точный протокол времени, долю неразрешённых меток, характеристики выборки и способ проверки. Не называйте оценку прямым фактом о намерениях участника, если данные лишь позволяют предположить инициатора. Микроструктурный ярлык может пригодиться для описания потоков, но не является гарантией сигнала, прогноза или результата.

Частые вопросы

Q1Почему сделка «покупка» всё равно имеет продавца?

Покупка в классификации означает, что покупатель агрессивно пересёк котировку и инициировал исполнение. Продавец предоставил встречную ликвидность; обе стороны есть у каждой завершённой сделки.

Q2Всегда ли цена на ask доказывает покупку-агрессор?

Обычно это указывает на покупателя-инициатора, если котировка и сделка сопоставлены правильно. Устаревший или неверно синхронизированный feed, аукционное исполнение и специальные типы сообщений могут изменить интерпретацию, поэтому проверяйте спецификацию данных.

Q3Можно ли использовать Lee–Ready как торговый сигнал?

Алгоритм присваивает оценку стороне прошлой сделки. Он не устанавливает позицию участника и не обещает будущую доходность; прежде чем использовать метки в исследовании, проверьте ошибки, неопределённые случаи, временную синхронизацию и издержки.

Источники и дополнительное чтение

Сообщить о проблеме

Мы подготовим письмо со ссылкой на эту статью. Mark получит сообщение только после отправки

Быстрая проверка

Прочитали руководство? Проверьте себя в 3 вопросах

Вопрос 1 / 3

Вопрос 01

Что означает метка «покупка» в классификации инициатора сделки?

Выберите ответ, чтобы увидеть объяснение

Словарь опционов

Понятные определения ключевых терминов — от коллов, путов и опционной цепочки до подразумеваемой волатильности, греков и бид-аск спреда

Открыть словарь опционов
Руководство по рыночным данным фьючерсовСтакан фьючерсов и Time and Sales: в чем разницаСравните стакан и Time and Sales по тому, фиксируют ли они состояние рынка или событие, охвату потока, времени и уровню детализации, а также по выводам, которые из этих данных нельзя сделатьПоток заявок и микроструктура рынкаДисбаланс потока заявок (OFI) и краткосрочное влияние на ценуКак OFI суммирует изменения лучшего бида и аска, чем отличается от статического дисбаланса книги и что можно вывести о краткосрочном изменении midprice.Анализ издержек исполненияImplementation shortfall: полная стоимость торгового решенияРазберите, как цена решения, цена при поступлении заявки, исполнения, неисполненный остаток и комиссии складываются в implementation shortfall, и чем он отличается от проскальзывания и VWAP.Оценка эффективного спреда по разворотам доходности цен сделокОценка спреда bid–ask по методу Ролла: формула, пример и ограниченияУзнайте, как оценка Ролла выводит эффективный спред bid–ask из отрицательной автоковариации доходности, разберите гипотетический пример и ограничения допущенийМикроструктура рынкаВероятность информированной торговли (PIN): формула, пример и ограниченияУзнайте, как модель PIN использует потоки заявок на покупку и продажу для оценки торговли на основе информации, и разберитесь в формуле, допущениях и ограничениях оценки