Дисбаланс потока заявок (OFI) и краткосрочное влияние на цену
Как OFI суммирует изменения лучшего бида и аска, чем отличается от статического дисбаланса книги и что можно вывести о краткосрочном изменении midprice.
В этом руководствеЧто именно измеряет OFI
Краткое резюме
Дисбаланс потока заявок, или OFI, суммирует направленные изменения лучшего бида и лучшего аска за выбранный интервал. В отличие от отношения размеров в одном снимке книги, OFI учитывает, как меняются доступные очереди, включая добавления, отмены, исполнения и переход лучшей цены. В исследованиях OFI связан с краткосрочными изменениями средней котировки, а оценённая чувствительность часто выше при небольшой глубине. Это условная связь в конкретных данных и на конкретном временном масштабе; она не превращает OFI в надёжный или прибыльный сигнал.
Что именно измеряет OFI
Лимитная книга заявок показывает лучшие доступные цены покупки и продажи и количество, отображённое на каждой стороне. OFI — не отдельный тип заявки и не название конкретной биржевой команды. Это статистика, которую исследователь строит из последовательности изменений лучших котировок. Положительное значение означает, что в рамках выбранного определения и окна совокупные изменения были смещены в сторону спроса на верхнем уровне книги; отрицательное — в сторону предложения. Оно не сообщает, кто именно подал заявку и зачем.
Для расчёта нужно сравнивать состояния книги по мере поступления событий, а не только складывать завершённые сделки. Когда покупатели выставляют или наращивают интерес около лучшего бида, доступный объём со стороны покупки растёт. Если, напротив, лучшая цена покупки отступает или размер очереди сокращается, книга теряет часть видимого спроса. Аналогичные изменения на стороне аска получают противоположный знак, потому что появление большего объёма предложения усиливает давление предложения, а его снятие ослабляет его.
Именно порядок этих изменений важен. Два снимка с одинаковыми конечными размерами могут быть результатом совершенно разной последовательности: в одном случае объём добавляли и затем сняли, в другом его поглощали сделками. OFI агрегирует знаковые вклады событий на протяжении окна и тем самым сохраняет часть пути к конечному состоянию. Он не заменяет полный журнал сообщений, а сжимает выбранные события в один показатель.
Знак задают лучшие цены и размеры
Для события n обозначим лучшую цену и отображаемый размер бида как Pᵇₙ и qᵇₙ, а аска — как Pᵃₙ и qᵃₙ. Индикатор 1(условие) равен единице, если условие верно, и нулю в противном случае. Одна из стандартных записей вклада события имеет вид:
eₙ = 1(Pᵇₙ ≥ Pᵇₙ₋₁)qᵇₙ − 1(Pᵇₙ ≤ Pᵇₙ₋₁)qᵇₙ₋₁ − 1(Pᵃₙ ≤ Pᵃₙ₋₁)qᵃₙ + 1(Pᵃₙ ≥ Pᵃₙ₋₁)qᵃₙ₋₁
OFI для интервала складывает эти вклады: OFIₖ = Σ eₙ для событий n, попавших в окно k. Если цена лучшего уровня не изменилась, выражение сводится к изменению размера на соответствующей стороне. Добавление размера на биде даёт положительный вклад, его сокращение — отрицательный; рост размера на аске даёт отрицательный вклад, а его сокращение — положительный.
Когда лучшая цена меняется, формула отражает изменение верхней границы книги. Если бид поднимается, прежняя очередь по более низкой цене больше не является лучшим бидом; улучшение аска, наоборот, означает появление предложения по более низкой цене. Переход аска вверх после исчерпания старого лучшего уровня даёт положительный вклад по прежнему размеру аска. Поэтому цена, размер, сторона и направление перехода должны быть синхронизированы; нельзя подменять событие изменением только одного поля в несогласованной таблице.
Формула связывает направление с изменением лучшего отображаемого интереса, а не с намерением участника. Отмена на биде снижает OFI так же, как и любое другое уменьшение бида в выбранном событии, даже если отменивший заявку не совершал сделку. Это определение полезно для описания воздействия потока событий на книгу, но оно не доказывает, что любой отдельный участник атаковал или защищал цену.
Учебный пример: четыре события и сумма OFI
Рассмотрим полностью гипотетическую книгу с шагом цены 0,25. В начале лучший бид равен 100,00 при размере 10, а лучший аск — 100,25 при размере 8. Размеры здесь выражены в единицах отображаемой книги, например в контрактах; это не данные рынка и не результат стратегии.
Сначала к лучшему биду добавляют 4 единицы: бид остаётся 100,00, его размер меняется с 10 на 14, а вклад события равен +4. Затем на том же биде отменяют 3 единицы; размер падает с 14 до 11, поэтому вклад равен −3. После этого на лучшем аске по цене 100,25 добавляют 4 единицы; его размер растёт с 8 до 12, и вклад равен −4, поскольку дополнительное предложение на аске получает отрицательный знак.
В четвёртом событии агрессивные покупки поглощают все 12 единиц по аску 100,25. Лучший аск перемещается на 100,50, где отображено 6 единиц. Поскольку прежний лучший уровень был исчерпан и аск поднялся, вклад равен +12 по размеру прежней очереди. Суммарный OFI этих четырёх событий: +4 − 3 − 4 + 12 = +9 единиц книги.
До последнего события midpoint между бидом и аском составлял (100,00 + 100,25) ÷ 2 = 100,125. После перехода аска вверх midpoint стал (100,00 + 100,50) ÷ 2 = 100,25, то есть вырос на 0,125 — половину заданного шага цены. Это показывает, как в этой последовательности положительный OFI соседствует с повышением midpoint. Четыре события не оценивают регрессионный коэффициент и не доказывают, что OFI вызвал движение: пример лишь проверяет знаки и арифметику определения.
Если при выгрузке одно изменение книги распадается на несколько сообщений, результат может зависеть от того, какие состояния автор считает отдельными событиями и как группирует обновления. Поэтому вместе с числом следует сохранять описание правил реконструкции, а не публиковать сумму OFI без контекста.

Связь с изменением midpoint зависит от глубины
В простом эмпирическом анализе можно разбить сессию на интервалы и для каждого измерить совокупный OFI и изменение midpoint между концами окна. Затем оценивают связь вида Δmₖ = α + β·OFIₖ + εₖ. Здесь β — оценка для заданного актива, потока данных, временного окна, определения цены и единиц размера. Она не является постоянным универсальным коэффициентом и не переводит OFI автоматически в будущую цену.
Cont, Kukanov и Stoikov исследовали цену и события книги по данным NYSE Trades and Quotes для 50 акций США. В их выборке на коротких интервалах изменения цены были связаны с OFI приблизительно линейно, а наклон связи был обратно связан с глубиной рынка. Та же величина дисбаланса при тонкой книге может совпадать с большим изменением цены, чем при глубокой, потому что для перемещения лучшей котировки там требуется меньше встречного размера. Это вывод из указанной выборки и модели, а не закон для каждого рынка и режима. Статья Cont, Kukanov и Stoikov описывает исследование и его границы.
Связь зависит от того, как построены окно и midpoint. Если цена в начале или в конце окна устарела, выборка включает длинный перерыв торгов, либо размеры нормированы несогласованно, коэффициент будет отвечать на другой вопрос. Оценку также могут менять время суток, tick size, спред, волатильность, состав участников, размер заявок, рыночный режим и задержка между сообщениями и метками времени.
Не следует читать регрессию как утверждение о причинности. Новая информация может одновременно вызывать поток событий и пересмотр цены; маркет-мейкеры могут менять котировки в ответ на общий риск, а участники — реагировать на уже начавшееся движение. Даже если связь повторяется в выборке, ее величина, знак и экономическая полезность в другой эпохе или на другой площадке должны проверяться отдельно.
Не смешивайте OFI, дисбаланс очереди и объем сделок
Статический дисбаланс очередей обычно сравнивает размер бидовой и асковой сторон в один момент. Например, показатель (Qᵇ − Qᵃ) ÷ (Qᵇ + Qᵃ) лежит между −1 и +1, если размеры неотрицательны и знаменатель положителен. Он отвечает на вопрос о соотношении видимого размера в выбранном снимке. Руководство о размере бида и аска во фьючерсах объясняет, почему такой снимок сам по себе не является направленным прогнозом.
OFI, напротив, накапливает знаковые изменения во времени. Его размерность зависит от единиц очередей и длины окна; без нормировки он не ограничен интервалом от −1 до +1. Два рынка могут иметь одинаковое отношение bid/ask сейчас, но совершенно разные OFI за последнюю секунду: на одном очередь выросла после новых лимитных заявок, на другом она сокращалась из-за исполнений и отмен, а затем восстановилась.
Подписанный объем сделок — еще один показатель. Он обычно суммирует объем, классифицированный как инициированный покупателем или продавцом. Для него необходимы фактические сделки и правило определения инициатора, тогда как OFI включает также добавление и снятие неисполненных заявок и изменения лучшей котировки. Сделка на аске не обязательно означает, что весь поток событий был покупательским; столь же неверно считать отмененные заявки совершенными сделками. В рыночной микроструктуре это разные поля наблюдения, а не синонимы.
Очередной дисбаланс также отличается от микропрайса. В микропрайсе текущие bid и ask взвешиваются размерами очередей или иной моделью, чтобы получить альтернативную оценку текущей справедливой цены на коротком горизонте. OFI агрегирует изменения книги за период. Работа Стоикова о microprice рассматривает отдельный высокочастотный ценовой ориентир, поэтому его нельзя подменять суммой OFI или трактовать как подтверждение эффективности любого сигнала. Статья Стоикова о microprice.
Восстановите книгу и выровняйте исходные данные
Для OFI нужен упорядоченный поток обновлений, из которого можно восстановить лучшие bid и ask и размеры до и после каждого изменения. Одной таблицы OHLCV, дневного объёма или набора сделок для этого недостаточно: в них нет последовательности лимитных добавлений и отмен. Nasdaq TotalView-ITCH, например, описывает последовательные сообщения, связанные с добавлением, исполнением, удалением и изменением заявок; это конкретная семантика ленты Nasdaq, а не общий стандарт всех бирж. Спецификация Nasdaq TotalView-ITCH 5.0.
Книга должна быть восстановлена без пропусков и в порядке, заданном последовательностью сообщений. Если обнаружен разрыв sequence numbers, период потери данных или неизвестное состояние восстановления, показатели до полной синхронизации лучше исключить или явно пометить. Пропущенная отмена оставит завышенный размер, а пропущенное исполнение может сохранить в реконструкции очередь, которой уже не было. Ошибку нельзя исправить тем, что к ней применяют формулу аккуратнее.
Сначала определите, что является отдельным инструментом и площадкой, затем зафиксируйте поток, сессию, торговую дату, временную зону, поля времени и единицу количества. Рыночное время сообщения, время обработки поставщиком и время получения клиентом могут различаться. Смешивание времени биржевого события с временем получения, равно как и сведение нескольких площадок без синхронизации, может поменять порядок при одновременных событиях. Это изменит OFI, даже если конечная книга окажется похожей.
Market by Price обычно агрегирует размер по цене, а Market by Order даёт более детальную последовательность отображаемых заявок. Для изменения суммарного лучшего размера агрегированная лента может быть достаточной, если она полностью и последовательно передаёт необходимые обновления; при этом она не раскрывает внутренний состав очереди. Сверяйте точный охват и условия ленты с документацией площадки. Сравнение книги заявок и Time and Sales помогает не подменять состояние книги отчётом о сделках.
Окно и нормировка меняют смысл числа
OFI можно суммировать за фиксированное календарное окно, например одну секунду, за заданное число событий или между заранее определёнными обновлениями midpoint. Эти решения дают разные выборки. В окне по числу событий периоды высокой активности охватывают меньше календарного времени; в окне по часам будет разное количество событий и разный объём обновлений. Нельзя сравнивать уровни OFI из этих схем так, будто они имеют одинаковый масштаб.
Сумма в контрактах или акциях возрастает при увеличении окна. Деление на число событий, длительность, типичную глубину или средний размер может помочь ответить на конкретный вопрос, но меняет определение показателя. Например, OFI на один контракт глубины не тождественен ненормированной сумме, а логарифмическая или процентная нормировка может особенно нестабильно вести себя при малом знаменателе. Укажите формулу, частоту, единицу и правило обработки нулевой или очень малой глубины.
Midpoint тоже требует договорённости: это среднее лучшего bid и ask для одной площадки, либо NBBO/консолидированная котировка, либо другое поле поставщика. Если OFI рассчитан по книге конкретной площадки, а результат сопоставлен с консолидированной ценой, исследователь связывает показатели с разным охватом. Укрупнённые бары могут скрывать внутрибиновый порядок, который необходим для восстановления состояния. Спецификацию нельзя заменить предположением, что все поля с названием «mid» означают одно и то же.
До анализа задайте длину интервала, способ обработки перехода через закрытие/перерыв, правило нормировки и горизонт изменения midprice. Меняя их после просмотра результатов, можно незаметно поменять исследовательский вопрос. Любое сравнение инструментов требует сопоставимых часов, единиц размера и режима торговли; у фьючерсов это могут быть контракты разной стоимости и множители, у акций — разные количества акций и режимы дробления.
Почему связь не становится готовой стратегией
Отображаемая книга не равна всей доступной ликвидности. Скрытые или резервные заявки, внутренние пересечения, внебиржевые сделки, агрегирование потоков, лимиты глубины и особые правила площадки могут быть не видны в выбранной ленте. Отмена и добавление показывает изменение отображаемого размера, но не мотив участника. Показатель также чувствителен к задержке, очередности обновлений, потере сообщений и правилам восстановления книги.
Даже надежно измеренный OFI может быстро потерять связь с последующим изменением цены, когда меняются глубина, спред, tick size, конкуренция и режим. В таблице с результатами важно различать статистическую связь с изменением midpoint и реализуемую доходность позиции. Последняя дополнительно зависит от стороны входа, времени реакции, исполнения, комиссий, ребейтов, проскальзывания, позиции и выхода. На горизонте в один или несколько тиков эти величины могут быть сопоставимы с самой наблюдаемой закономерностью.
Нельзя выводить будущую прибыль из того, что OFI совпадал с направлением midpoint в исторической регрессии. Вневыборочная проверка должна сохранять временной порядок, применять признаки только после того, как соответствующие события доступны, и учитывать затраты и неизменность правил в тестовом периоде. Если показатель используется вместе с множеством других вариантов, отдельная проверка OFI не устраняет отбор по результатам. Работа Gould и Bonart изучает статическую очередь bid/ask как признак для следующего движения midpoint в конкретных акциях Nasdaq и показывает различия между крупно- и мелкотиковыми акциями; это не доказательство прибыльности торгового правила или универсального OFI. Их исследование дисбаланса очереди полезно именно как пример ограниченности контекста.
Корректная формулировка вывода обычно узкая: для этого инструмента, источника данных, периода и определения OFI наблюдалась такая-то связь с изменением выбранной котировки за указанный горизонт, при таких-то правилах включения и нормировки. Затем нужно описать устойчивость по времени и чувствительность к настройкам. Это гораздо информативнее, чем назвать высокий OFI бычьим, а низкий — медвежьим сигналом.
Что зафиксировать в исследовательском журнале
Запишите источник данных, площадку, идентификатор контракта, временную зону, точное поле timestamp, единицы размера, правила синхронизации и восстановления книги. Зафиксируйте, какие обновления считаются событиями, как обработаны пропуски, reset и crossed/locked состояние, учитываются ли только лучшие котировки и что происходит при изменении их цены. Иначе другой исследователь не сможет понять, совпадает ли его показатель с вашим.
Также публикуйте формулу event contribution, длину и тип окна, как именно суммировались или нормировались события, начальное и конечное состояние midpoint, метрику результата, способ оценки неопределённости и горизонт. Если оценивается связь, поясните, является ли оценка по одному инструменту, объединённой панели или разным режимам. Агрегированный коэффициент может скрыть, что он возникает только в часы высокой активности или на инструментах с малой глубиной.
Любой учебный числовой пример нужно отделять от наблюдений рынка. В примере выше размеры 10, 8, 14 и другие заданы для проверки знаков; они не взяты из Nasdaq, CME, брокерского стакана или исторической стратегии. Источник на спецификацию ленты подтверждает только правила сообщения этой ленты, а академическая статья — вывод для описанных авторами данных и метода. Ни один источник не превращает придуманный пример в бэктест или индивидуальную инвестиционную рекомендацию.
Частые вопросы
Q1Можно ли рассчитать OFI по дневным OHLCV-барам?
Нет, дневной OHLCV не содержит последовательности изменений лучших bid и ask, отмен и лимитных добавлений. Для OFI нужна подходящая лента обновлений книги с известной временной и площадочной областью.
Q2Значит ли положительный OFI, что цена обязательно вырастет?
Нет. Положительное значение описывает суммарный знак изменений книги в выбранном окне. Оно не гарантирует изменение midpoint, а тем более исполнимую прибыль после затрат и задержки.
Q3Чем OFI отличается от объёма покупок минус объём продаж?
Подписанный объём складывает сделки, классифицированные по предполагаемому инициатору. OFI учитывает изменение отображаемых лучших очередей, включая добавления и отмены, и может включать обновление лучшей цены.
Источники и дополнительное чтение
Сообщить о проблеме
Мы подготовим письмо со ссылкой на эту статью. Mark получит сообщение только после отправки
Быстрая проверка
Прочитали руководство? Проверьте себя в 3 вопросах
Вопрос 01
Что даст положительный вклад OFI при неизменной лучшей цене?
Выберите ответ, чтобы увидеть объяснение
Словарь опционов
Понятные определения ключевых терминов — от коллов, путов и опционной цепочки до подразумеваемой волатильности, греков и бид-аск спреда
Открыть словарь опционов