Обнаружение ценового воздействия в реальном времени

7/10

Илия И. Зовко · algoquants.co.uk · черновик, 11 июня 2026

Оригинал: Zovko, I. I. «Realtime price impact detection», 2026 — arxiv.org/abs/2606.13419 (PDF).

Рисунки воспроизведены из оригинальной публикации. Оригинал распространяется по лицензии CC BY-NC-ND 4.0, которая распространение производных произведений не разрешает: все права на оригинальный текст принадлежат автору, перевод выполнен для личного ознакомления с указанием источника.

Ключевые слова: рыночное воздействие, обнаружение в реальном времени, метод Фишера, пуассоновский процесс, оптимальное исполнение, утечка информации, микроструктура рынка.

Аннотация

Важный вопрос для алготрейдера, исполняющего заявку, — понять, двигают ли его действия рынок против него, то есть вызывают ли рыночное воздействие. Обычный ответ сводится к одному из двух: (i) отслеживать проскальзывание в реальном времени, снижая активность при его росте, либо (ii) отказаться от динамических подстроек и опираться на полустатические правила, построенные на посмертных оценках проскальзывания по большой выборке событий.

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

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

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

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

Мы аккуратно представляем это как предложение потенциально полезной метрики, а не как проверенную. Вклад опирается на предполагаемую связь: неожиданность в тайминге «действие → событие» есть сигнатура и предиктор неблагоприятного ценового воздействия. Статистический аппарат (калибровка и мощность обнаружения) может быть — и будет — продемонстрирован симуляцией, но сама эта связь симуляцией установлена быть не может. Любой смоделированный рынок просто закодировал бы это предположение. Проверка требует реальных данных исполнения; мы намечаем эмпирические тесты, которые бы её выполнили.

Трактуя рыночные события как пуассоновский процесс с локально оцениваемой, меняющейся во времени интенсивностью, каждое действие трейдера и последующие рыночные события дают $p$-значение, количественно выражающее, насколько «неожиданно» наблюдать рыночное событие так скоро после действия.

Мы выводим предиктивную плотность длительности с байесовской и с частотной точек зрения, показываем их совпадение и используем метод Фишера для оптимального объединения $p$-значений последовательных действий так, чтобы надёжные свидетельства накапливались всего за несколько действий.

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

1. Введение

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

Обширная литература посвящена тому, как заранее спланировать заявку, чтобы минимизировать ожидаемое воздействие, — во многих случаях в предположении статичной ликвидности. В реальности же доступная ликвидность крайне динамична: маркетмейкеры с разными позициями и уровнями запасов, ручные трейдеры, алгоритмы, исполняющие TWAP или VWAP, — все входят на рынок и уходят с него в разные моменты. Есть и краткосрочные трейдеры, пытающиеся распознать присутствие крупных заявок, чтобы заработать на их (почти) неизбежном ценовом воздействии.

Та же площадка или тип заявки, что были безобидны минуту назад, теперь могут быть заняты участниками, которые реагируют на действия трейдера неблагоприятно. Алгоритм исполнения, не способный чувствовать воздействие по мере его возникновения, не может на него реагировать и вынужден откатываться к статичным, заранее зафиксированным расписаниям или консервативным действиям, которые жертвуют доступом к ликвидности или попросту убыточны.

Термины «рыночное воздействие», «торговые действия» и «события» можно понимать широко. Например, снятие ликвидности с дальней стороны вследствие того, что трейдер выставил лимитную заявку на ближней стороне, — пример действия, вызвавшего воздействие. Однако для простоты изложения далее мы определим рыночное воздействие — реакцию рынка на действия трейдера — как «неблагоприятные движения цены, вызванные исполнениями трейдера».

Операционно насущный вопрос, стало быть, таков: пока заявка жива, как трейдеру понять, действительно ли воздействие происходит вследствие его исполнений?

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

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

Если неблагоприятные движения вызваны исполнениями, уместной реакцией может быть замедлиться — снизить темп исполнения, поднять минимальный приемлемый размер исполнения или избегать проблемной площадки. Если же неблагоприятные движения вызваны верно предсказанной альфой или посторонним участником, потребляющим ту же ликвидность, реакцией может быть ускориться. Совсем разные исходы!1

1 Постановка исполнения здесь понимается как относительно медленная альфа, дающая редкие исполнения по отношению к более частым рыночным сделкам. К высокочастотной торговле она неприменима.

1.1. Совместная вероятность длительности и воздействия

Эта работа предлагает такую статистику, отталкиваясь от того, что фактически порождает исполнение. Когда мы получаем исполнение, рынок в конце концов отвечает: следующее изменение цены приходит через некоторую задержку $\delta t$, и когда оно приходит, у него есть некоторый знаковый размер $\delta p$. Каждое исполнение, таким образом, есть событие с двумя координатами, извлекаемыми — в отсутствие воздействия — из фонового совместного закона рынка

$$p(\delta t, \delta p) \tag{1}$$

Воздействие искажает этот закон: «токсичное» исполнение обычно сопровождается неблагоприятным изменением цены, которое приходит раньше (малое $\delta t$) и движется против нас ($\delta p$). Обнаружить воздействие — значит обнаружить, что послеисполнительные события больше не согласуются с фоном.

Мы строим детектор в два шага, и одни и те же два шага работают вдоль любой из координат или обеих сразу. Сначала для каждого исполнения мы оцениваем, насколько неожиданно его событие при локально оценённой нулевой гипотезе, — это $p$-значение, вероятность при фоновом законе увидеть событие по меньшей мере столь же экстремальное. Затем, поскольку одно неожиданное исполнение мало что доказывает, мы объединяем $p$-значения нескольких исполнений методом Фишера в одну непрерывно обновляемую статистику. Вклад работы — эта двухшаговая методология; выбор оси есть модельное решение внутри неё.

Две оси не взаимозаменяемы, и асимметрия между ними — это асимметрия между временем первого достижения и ценовым уровнем. Факторизация

$$p(\delta t, \delta p) = p(\delta t)\, p(\delta p \mid \delta t) \tag{2}$$

есть естественное разложение маркированного точечного процесса — закон того, когда придёт следующее изменение, умноженный на закон того, насколько оно велико при данном тайминге. Но два операционных теста лучше рассматривать как двойственные срезы одного события. Зафиксировав ценовое движение и спросив, когда оно происходит, получаем длительность $\delta t$ до следующего изменения — время первого достижения, и именно этот объект тестируется в работе. Зафиксировав же горизонт $\tau$ и спросив, насколько цена сдвинулась к этому моменту, получаем markout — привычную меру в ценовой области.2

2 Доходность всегда указывается на горизонте, поэтому не существует безгоризонтной ценовой маргинали для тестирования: $p(\delta p)$ сама по себе — лишь закон размера следующего изменения, а не доходность.

Эти два среза отвечают на разные вопросы. Временной тест спрашивает, необычно ли синхронизирована рыночная активность с нашими исполнениями. Его нулевая гипотеза: «рынок двинулся бы тогда же, когда двинулся, независимо от нас», — и отвержение указывает на причинное эхо.

Markout спрашивает лишь, насколько неблагоприятным было движение, и сам по себе он корреляционен: движение могло быть вызвано нами, а могло — кем-то другим. Острее всего они вместе: изменение, одновременно быстрое и неблагоприятное, есть яснейшая сигнатура вызванного воздействия. Грубо говоря, время поставляет причинность, а цена — величину.

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

В этой работе мы берём временну́ю ось. Ключевое допущение: воздействие и утечка информации оставляют временну́ю сигнатуру — когда наши собственные исполнения информативны для рынка, рыночные сделки склонны следовать за ними необычно быстро.

Поскольку воздействие двигает цену против нас, мы с самого начала строим тест на неблагоприятных событиях: далее «рыночная сделка» (print) означает изменение цены, движущееся против исполнения — вверх после покупки, вниз после продажи, — а не любое изменение цены. Удивительно быстрая неблагоприятная сделка тогда и есть искомая сигнатура воздействия; подсчёт всех изменений цены обнаруживал бы лишь общую рыночную активность.

Для ясности: «сделки» — это неожиданные неблагоприятные эффекты «исполнений» (действий трейдера). Ожидаемое сокращение ликвидности на дальней стороне вследствие рыночной заявки трейдера «сделкой» в этом смысле не является.

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

Объединение этих вероятностей по исполнениям методом Фишера даёт единую, непрерывно обновляемую меру того, насколько сильно активность трейдера отражается эхом рынка.

1.2. Оговорки

Нужно с самого начала быть честными относительно статуса этого вклада, поскольку от этого зависит, как читать остальную часть работы. Работа объединяет два логически различных утверждения.

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

Второе — экономическое: что такое временно́е отклонение есть подлинная сигнатура и предиктор неблагоприятного ценового воздействия, вызванного исполнением.

Первое утверждение — свойство оценки, и мы проверяем его симуляцией. Второе, предполагаемая связь между неожиданностью в тайминге и воздействием в цене, — это то, где лежит настоящая суть метода.

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

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

1.3. Связанные работы

Эта работа обобщает более раннее предложение для частного случая исполнений в тёмных пулах (Зовко, 2017), где были введены «неожиданность» в длительности, измеряемая $p$-значением, и объединение по Фишеру для обнаружения утечки информации из тёмных исполнений. Настоящая работа переформулирует ту конструкцию для рыночного воздействия вообще — любая рыночная активность, тёмная или светлая, любая площадка или класс активов. В приложении также намечается, как выглядело бы расширение с использованием самовозбуждающихся процессов Хоукса вместо пуассоновского процесса с переменной интенсивностью.

Операционная цель — обнаруживать неблагоприятные условия исполнения, пока заявка жива, — общая с литературой по токсичности потока заявок. Известная метрика — VPIN, синхронизированная по объёму вероятность информированной торговли (Исли и соавторы, 2012), оценивающая токсичность по дисбалансу объёма, накопленному в объёмном времени. Недавно Картеа и соавторы (2026) предсказывают токсичный клиентский поток онлайновой байесовской нейросетью. Токсичность потока также центральна в практике электронного дилинга на FX, где ею скорее управляют, чем просто измеряют, — через окно принятия «last look» и интернализацию клиентского потока (Оомен, 2017a, b; Бутц и Оомен, 2019).

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

Совместная вероятность цен и длительностей (1) не нова. Её факторизация (2) — разложение маркированного точечного процесса, стоящее за высокочастотной эконометрикой длительностей и доходностей: авторегрессионная модель условной длительности (Энгл и Расселл, 1998) для длительности и сверхвысокочастотный GARCH (Энгл, 2000) для доходности при заданной длительности, чей центральный вывод — что короткие длительности сопровождаются более высокой волатильностью — есть в точности «разогрев рынка», сжимающий длительности по мере движения цен.

Та же связка движет субординацией, или картиной «делового времени», где доходности суть броуновское движение по стохастическим часам, задаваемым торговой активностью (Кларк, 1973; Ане и Жеман, 2000), а также само- и взаимовозбуждающимися (маркированными хоуксовскими) моделями сделок и цен (Бакри и Мюзи, 2014).

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

Локальность тихо поглощает медленный разогрев и остывание активности, которые те модели представляют явно, — ценой того, что она их не эксплуатирует; версия с явной связкой (приложение о Хоуксе) есть шаг в эту сторону.

2. Почему проскальзывание — неверная статистика для реального времени

Стандартный способ динамического мониторинга воздействия — измерять среднее послеисполнительное проскальзывание. Для исполнения в момент $t$ со знаковым направлением $\epsilon_t \in \{\text{продажа} = -1,\ \text{покупка} = +1\}$ и логарифмической средней ценой $p_t$ среднее воздействие на горизонте $\tau$ равно

$$R(\tau) = \mathbb{E}_t\left[\epsilon_t \cdot (p_{t+\tau} - p_t)\right] \tag{3}$$

где ожидание усредняется по исполнениям, возможно с разбиением по площадке, размеру или типу заявки. Положительное $R(\tau)$ означает, что цена систематически движется против трейдера после исполнения. Будучи интуитивной и повсеместной, эта мера плохо приспособлена к применению в реальном времени по двум разным причинам: она статистически медленна и причинно неоднозначна.

2.1. Проскальзывание статистически медленно

Трудность оценки воздействия — в относительных величинах проскальзывания и дисперсии ценовых доходностей. Чтобы надёжно установить, что $R(\tau)$ отлично от нуля, обычно применяют $t$-тест, сравнивая среднее проскальзывание после исполнения $\mu$ со стандартным отклонением безусловных доходностей $\sigma$. То, что среднее растёт линейно по числу исполнений $T$, а стандартное отклонение — как корень, накладывает нижнюю границу на число точек, нужных для обнаружения значимости:

$$\frac{T\mu}{\sqrt{T}\sigma} \ge 1 \tag{4}$$

что при решении относительно $T$ даёт

$$\sqrt{T} = \frac{1}{\mu/\sigma} \tag{5}$$

Трактуя это как время, требуемое для обнаружения сигнала проскальзывания в шумной рыночной среде, минимальное время составляет по меньшей мере $(\sigma/\mu)^2$, или $1/\text{Sharpe}^2$ (Фармер, 2002). Чем меньше коэффициент Шарпа, тем дольше придётся значимо обнаруживать сигнал; обнаружение вдвое более слабого сигнала занимает вчетверо дольше.

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

Порядок величины воздействия на одно исполнение — $\mu = 0{,}5$ б.п., тогда как стандартное отклонение доходности составляет около $\sigma_1 = 3$ б.п. Грубые оценки по рыночным данным дают около 3 изменений цены на одну рыночную сделку. Торгуя заявку с очень высокой 20-процентной долей участия, мы ожидали бы исполнение на каждые 5 сделок, что соответствует $3 \cdot 5 = 15$ изменениям цены. Стандартное отклонение рыночных доходностей на этом горизонте $\sigma_{15} = \sigma_1\sqrt{15} \sim 12$ б.п. Подставляя:

$$T = \frac{1}{(\mu/\sigma_{15})^2} = \left(\frac{12}{0{,}5}\right)^2 \sim 570 \text{ исполнений} \tag{6}$$

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

Число (5) — щедрая нижняя граница: оно использует порог в одно стандартное отклонение, тогда как настоящий уровень значимости (например, $t \approx 2$, как мы используем далее для временно́го теста) увеличивает требуемое $T$ в несколько раз — до тысяч в приведённом примере. Сравнение с временны́м детектором, таким образом, консервативно против нашего же аргумента.

2.2. Проскальзывание причинно неоднозначно

Вторая и более тревожная проблема в том, что даже чисто измеренное $R(\tau) > 0$ не говорит трейдеру, что делать. Неблагоприятное проскальзывание после исполнения согласуется с двумя противоположными состояниями мира.

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

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

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

3. Воздействие оставляет временну́ю сигнатуру

Теперь разовьём первый шаг подхода — $p$-значение отдельного исполнения — на временно́й оси, оценивая длительность $\delta t$ до следующей рыночной сделки относительно её фонового закона. Посылка проста. В отсутствие воздействия приход рыночных сделок управляется преобладающим фоновым темпом торговли и статистически независим от точных моментов, в которые трейдер получает исполнения. Если же исполнение несёт информацию, рынок отвечает, и сделки склонны скучиваться сразу после исполнения. Каждое собственное исполнение поэтому есть маленький естественный эксперимент: мы наблюдаем длительность от исполнения до следующей рыночной сделки и спрашиваем, насколько эта длительность неожиданна при данном темпе сделок вокруг этого момента.

Предположим, фоновый темп в момент исполнения — одна сделка в секунду. Рыночная сделка, пришедшая через 10 мс после нашего исполнения, тогда крайне неожиданна при фоновом темпе и правдоподобно объясняется как реакция на исполнение. Сделка, пришедшая через полсекунды, ничем не примечательна и свидетельств воздействия не даёт. Сила свидетельства в каждом исполнении градуирована — она непрерывно зависит от того, насколько наблюдённая длительность коротка относительно локального среднего, — и мы количественно выразим её как $p$-значение. Рисунок 1 иллюстрирует конструкцию.

Рисунок 1
Рисунок 1. Временна́я сигнатура воздействия. Верхняя ось — временна́я шкала событий изменения цены; при нулевой гипотезе отсутствия воздействия они приходят пуассоновским процессом с экспоненциальными межсобытийными длительностями $p(\delta) = \frac{1}{\lambda}e^{-\delta/\lambda}$ со средним $\lambda$. Отмечены два собственных исполнения трейдера. Для каждого измеряется длительность $\delta$ до следующей рыночной сделки и оценивается относительно локально оценённого фонового темпа. Сделка, следующая за исполнением через типичную длительность (слева, «нет неожиданности»), свидетельств воздействия не несёт; сделка, следующая необычно быстро при данном темпе (справа, «неожиданность»), есть свидетельство того, что исполнение её спровоцировало. Нижняя панель показывает идеализированную соответствующую ценовую траекторию; неожиданное исполнение — то, за которым следует немедленное неблагоприятное движение (на иллюстрации исполнения — покупки).

Одна удивительно быстрая сделка мало что доказывает — это может быть совпадением. Но свидетельства последовательных исполнений можно объединить, и как только несколько исполнений внесут каждое свою долю неожиданности, их совместная невероятность при гипотезе отсутствия воздействия становится решающей. Число нужных исполнений не фиксировано: чем неожиданнее каждое, тем меньше их требуется.

4. Неожиданность отдельного исполнения

4.1. Модель и обозначения

Мы моделируем рыночные сделки (исключая собственные исполнения трейдера) как неоднородный пуассоновский точечный процесс с интенсивностью $\lambda(t)$, медленно меняющейся по отношению к межсделочным длительностям. На коротком окне вокруг данного исполнения интенсивность приблизительно постоянна, так что длительности между последовательными сделками независимы и экспоненциально распределены:

$$p(\delta \mid \lambda) = \frac{1}{\lambda}e^{-\delta/\lambda}, \qquad \delta \ge 0 \tag{7}$$

со средней межсделочной длительностью $\lambda$ (эквивалентно, темпом сделок $1/\lambda$). Кумулятивная вероятность длительности короче $d$:

$$P(\delta \le d \mid \lambda) = \frac{1}{\lambda}\int_0^d e^{-\delta/\lambda}\,d\delta = 1 - e^{-d/\lambda} \tag{8}$$

Уместно замечание о пуассоновском допущении, поскольку оно несёт оговорку конструкции. Реальные сделки не в точности пуассоновские; они скучиваются. Полезно разделить три источника этого скучивания, поскольку тест обращается с ними совершенно по-разному.

Экзогенное изменение темпа — дрейф темпа с новостями, временем суток или общим сигналом, на который реагируют многие участники, — обрабатывается. Локально оценённая $\hat\lambda$ «едет» вместе с активным или спокойным периодом, так что быстрая сделка, пришедшая лишь потому, что рынок активен, справедливо не считается неожиданной.

Самовозбуждение, запущенное самим исполнением — наше исполнение есть сделка, а на отзывчивом рынке сделка порождает новые сделки. Это, по нашему определению из раздела 3, и есть воздействие. Его пометка — истинное обнаружение, а не ложная тревога.

Единственный подлинный конфаундер — третий: существующий всплеск активности, в который попадает исполнение. Например, алгоритм, размещающий лимитную заявку на продажу во время всплеска покупок. Пуассоновский тест не может отделить это от воздействия, поскольку и то и другое выглядит как быстрая сделка после исполнения. Оконная $\hat\lambda$ — запаздывающее среднее; мгновенная интенсивность сразу после события выше. Поэтому $p$-значение отдельного исполнения завышает значимость, когда исполнения попадают в активные периоды.

Средство — заменить $\hat\lambda$ условной интенсивностью Хоукса $\lambda(t \mid \mathcal{H}_t)$, вычисленной в момент исполнения. Это переносит ровно ту часть послеисполнительного ускорения, которую недавняя история уже предсказывает, в ожидаемый фон, оставляя лишь избыток — часть, наиболее правдоподобно вызванную исполнением. Шаг с Хоуксом и есть то, что делает оценку «неожиданности» по-настоящему валидной на реалистичном рынке. Тем не менее мы развиваем пуассоновский случай: он обладает полезными упрощающими свойствами и допускает решения в замкнутой форме, которых случай Хоукса не даёт.

Полезное следствие свойства отсутствия памяти пуассоновского процесса: длительность от внешне выбранного момента — такого как момент нашего исполнения — до следующей сделки имеет то же экспоненциальное распределение (7), что и сами межсделочные длительности. При нулевой гипотезе отсутствия воздействия длительность «исполнение → сделка» извлекается ровно из того закона, который мы оцениваем по окружающим межсделочным длительностям. Это и делает её напрямую сопоставимой с фоном и составляет формальное основание теста.

4.2. Предиктивная плотность следующей длительности

Мы наблюдали $n$ недавних межсделочных длительностей $\delta = (\delta_1, \ldots, \delta_n)$ прямо перед исполнением. Поскольку истинный темп $\lambda$ не наблюдался, нужно учесть неопределённость его оценки по короткому окну. Нам нужна предиктивная плотность следующей длительности $\delta' \equiv \delta_{n+1}$ — длительности «исполнение → сделка» — при данных наблюдённых длительностях, $p(\delta' \mid \delta)$. Выведем её двумя способами.

4.2.1. Байесовский вывод

Правдоподобие наблюдённых длительностей при (7):

$$L(\lambda; \delta) = \prod_{i=1}^{n}\frac{1}{\lambda}e^{-\delta_i/\lambda} = \lambda^{-n}e^{-n\bar\delta/\lambda} \tag{9}$$

где $\bar\delta \equiv \frac{1}{n}\sum_{i=1}^{n}\delta_i$ — наблюдённая средняя длительность. Поскольку $\lambda$ — масштабный параметр, подходящим неинформативным априорным распределением (Джеффриса) является $\pi(\lambda) \propto 1/\lambda$ (Джеффрис, 1946).3 Апостериорное распределение тогда

$$\pi(\lambda \mid \delta) \propto \pi(\lambda)L(\lambda; \delta) \propto \lambda^{-(n+1)}e^{-n\bar\delta/\lambda} \tag{10}$$

что есть ядро обратно-гамма-плотности по $\lambda$. Нормировочный интеграл заменой переменных $\lambda = n\bar\delta/x$ становится

$$\int_0^\infty \lambda^{-(n+1)}e^{-n\bar\delta/\lambda}\,d\lambda = (n\bar\delta)^{-n}\int_0^\infty x^{n-1}e^{-x}\,dx = \frac{\Gamma(n)}{(n\bar\delta)^n} \tag{11}$$

что даёт апостериорную плотность4

$$\pi(\lambda \mid \delta) = \frac{(n\bar\delta)^n}{\Gamma(n)}\lambda^{-(n+1)}e^{-n\bar\delta/\lambda} \tag{12}$$

3 Априорное $1/\lambda$ — стандартный неинформативный выбор для масштабного параметра: оно инвариантно относительно перепараметризации (например, между средним $\lambda$ и темпом $1/\lambda$) и относительно перемасштабирования единицы времени.
4 Счётчики событий $n$, разумеется, целые, так что $\Gamma(n) = (n-1)!$, но мы сохраним запись $\Gamma(n)$, поскольку она далее сократится.

Предиктивная плотность следующей длительности получается усреднением экспоненциального правдоподобия $\delta'$ по апостериорному распределению $\lambda$:

$$p(\delta' \mid \delta) = \int_0^\infty p(\delta' \mid \lambda)\,\pi(\lambda \mid \delta)\,d\lambda = \frac{(n\bar\delta)^n}{\Gamma(n)}\int_0^\infty \lambda^{-(n+2)}e^{-(n\bar\delta + \delta')/\lambda}\,d\lambda \tag{13}$$

Аналогичной заменой переменных интеграл равен $\Gamma(n+1)/(n\bar\delta + \delta')^{n+1}$, что после использования рекурсии $\Gamma(n+1) = n\,\Gamma(n)$ даёт предиктивную апостериорную плотность

$$p(\delta' \mid \delta) = \frac{n^{n+1}\bar\delta^{\,n}}{(n\bar\delta + \delta')^{n+1}} \tag{14}$$

Это плотность Ломакса (Парето второго рода) по $\delta'$ с параметром формы $n$ и масштабом $n\bar\delta$. У неё более тяжёлые хвосты, чем у экспоненциальной (7): маргинализация по неизвестному темпу расширяет предиктивное распределение — ровно так, как и должно быть, когда $\lambda$ оценивается по конечному окну. При $n \to \infty$ имеем $\bar\delta \to \lambda$, и (14) схлопывается в экспоненциальную $\lambda^{-1}e^{-\delta'/\lambda}$, восстанавливая случай известного темпа.

4.2.2. Частотный вывод

Та же плотность возникает без априорного распределения — как частотное предиктивное правдоподобие, в котором мешающий параметр $\lambda$ устраняется максимизацией, а не интегрированием (Лоулесс и Фредетт, 2005; Бьёрнстад, 1990; Шмидт и Макалич, 2009). Оценка максимального правдоподобия из (9):

$$\hat\lambda_{ML}(\delta) = \arg\max_\lambda L(\lambda; \delta) = \bar\delta \tag{15}$$

Предиктивная плотность $\delta'$ строится трактовкой $\delta'$ как ещё одного наблюдения и перемаксимизацией совместного правдоподобия по $\lambda$:

$$p(\delta' \mid \delta) = \frac{p\left(\delta', \delta \mid \hat\lambda_{ML}(\delta', \delta)\right)}{\displaystyle\int_0^\infty p\left(y, \delta \mid \hat\lambda_{ML}(y, \delta)\right)dy} \tag{16}$$

где совместная ОМП по всем $n+1$ точкам есть $\hat\lambda_{ML}(\delta', \delta) = (n\bar\delta + \delta')/(n+1)$. Подставляя её в совместное экспоненциальное правдоподобие, числитель равен

$$p\left(\delta', \delta \mid \hat\lambda_{ML}\right) = \hat\lambda_{ML}^{-(n+1)}\exp\left(-\frac{n\bar\delta + \delta'}{\hat\lambda_{ML}}\right) = \left(\frac{n+1}{e}\right)^{n+1}(n\bar\delta + \delta')^{-(n+1)} \tag{17}$$

Нормировочный знаменатель интегрируется как

$$\int_0^\infty \left(\frac{n+1}{(n\bar\delta + y)e}\right)^{n+1}dy = \left(\frac{n+1}{e}\right)^{n+1}\frac{(n\bar\delta)^{-n}}{n} \tag{18}$$

Деля (17) на (18), множители $\left((n+1)/e\right)^{n+1}$ сокращаются, и мы восстанавливаем в точности

$$p(\delta' \mid \delta) = \frac{n^{n+1}\bar\delta^{\,n}}{(n\bar\delta + \delta')^{n+1}} \tag{19}$$

что тождественно байесовской предиктивной плотности (14). Согласие обнадёживает, хотя и ожидаемо: при сделанном выборе модели байесовский и частотный пути дают одну и ту же статистику.

4.3. $p$-значение исполнения

Релевантная хвостовая вероятность — вероятность увидеть длительность не длиннее наблюдённой длительности «исполнение → сделка». Интегрируя (14),

$$u(\delta') \equiv P(\delta_{n+1} \le \delta' \mid \delta) = \int_0^{\delta'}\frac{n^{n+1}\bar\delta^{\,n}}{(n\bar\delta + \delta)^{n+1}}\,d\delta = 1 - \left(\frac{n\bar\delta}{n\bar\delta + \delta'}\right)^n \tag{20}$$

Это $u(\delta')$ есть одностороннее (левохвостовое) $p$-значение для нулевой гипотезы о том, что длительность «исполнение → сделка» порождена тем же локальным пуассоновским процессом, что и окружающие рыночные сделки. Малое $u$ означает, что сделка пришла неправдоподобно скоро после исполнения, — сильное свидетельство того, что исполнение её спровоцировало.

При нулевой гипотезе $u(\delta_{n+1})$ равномерно распределено на $[0, 1]$ — свойство, которое мы эксплуатируем далее.

5. Объединение исполнений: метод Фишера

Одно исполнение даёт одно $p$-значение $u$, которое само по себе слабо из-за большой неопределённости оценки параметра темпа по нескольким точкам. Однако мощность можно повысить, объединив свидетельства $k$ последних исполнений в одну статистику способом, который предсказателен даже когда ни одно отдельное исполнение не решающее. Поскольку $p$-значения отдельных исполнений независимы и равномерны при нулевой гипотезе, их можно объединить методом Фишера (Фишер, 1925).

Пусть $u_1, \ldots, u_k$ — $p$-значения $k$ исполнений. Рассмотрим преобразование $-2\ln u_i$. При нулевой гипотезе каждое $u_i \sim \text{Uniform}(0,1)$, так что для $x \ge 0$

$$P\left(-2\ln u_i \le x\right) = P\left(u_i \ge e^{-x/2}\right) = 1 - e^{-x/2} \tag{21}$$

что есть в точности функция распределения случайной величины $\chi^2_2$. Каждый член $-2\ln u_i$ поэтому распределён как $\chi^2_2$, и, поскольку исполнения независимы, их сумма есть $\chi^2$ со сложением степеней свободы:

$$X_k \equiv -2\sum_{i=1}^{k}\ln u_i \sim \chi^2_{2k} \tag{22}$$

при нулевой гипотезе отсутствия воздействия. Объединённое свидетельство против неё есть верхняя хвостовая вероятность $P(\chi^2_{2k} \ge X_k)$, доступная в замкнутой форме для $\chi^2$ с чётным числом степеней свободы:

$$P(\chi^2_{2k} \ge X_k) = e^{-X_k/2}\sum_{j=0}^{k-1}\frac{(X_k/2)^j}{j!} \tag{23}$$

так что текущее объединённое $p$-значение можно обновлять инкрементально с приходом каждого исполнения, без вычисления специальных функций.

Метод Фишера — естественное правило объединения здесь, поскольку он взвешивает каждое исполнение логарифмом его $p$-значения: одно очень неожиданное исполнение (крошечное $u_i$, большое $-2\ln u_i$) вносит большой объём свидетельства, тогда как многие ничем не примечательные накапливаются медленно. Число исполнений, требуемое для достижения заданной уверенности, тем самым адаптивно — оно определяется тем, насколько информативны исполнения на самом деле.

Когда ликвидность действительно безобидна, $X_k$ держится вблизи своего нулевого среднего $2k$ и никогда не срабатывает. Когда же исполнения отзываются эхом рынка, небольшого числа неожиданных длительностей достаточно, чтобы загнать $X_k$ глубоко в хвост. В предельном случае двух-трёх резко неожиданных исполнений уже может хватить для решающего свидетельства — в разительном контрасте с несколькими сотнями, требуемыми для обнаружения по проскальзыванию (раздел 2).

Рисунок 2
Рисунок 2. Метод достигает значимой мощности за несколько исполнений. Мощность теста как функция числа исполнений $k$, объединённых методом Фишера (22). Результаты получены симуляцией Монте-Карло, в которой рыночные сделки пуассоновские, а длительности после исполнения укорочены относительно фона, так что сделки приходят удивительно быстро. Семейства кривых отвечают разным уровням неожиданности. Цвет обозначает число предшествующих длительностей $n$, использованных для оценки локального темпа ($n = 5, 10, 20$). При сильной неожиданности мощность приближается к единице за пять — десять исполнений, что на порядки быстрее требования в несколько сотен исполнений для оценки проскальзывания.

Рисунок 2 проверяет это симуляцией. Мы генерируем рыночные сделки как пуассоновский процесс, затем внедряем ту сигнатуру, которую воздействие предположительно оставляет: послеисполнительные длительности укорочены относительно фона, так что сделки приходят удивительно быстро. Мы запускаем тест Фишера (22) на фиксированном уровне значимости и фиксируем его мощность по мере роста числа исполнений $k$. Более длинное окно $n$ точнее определяет фоновый темп и слегка повышает мощность — ценой более медленной адаптации при изменении этого темпа.

6. Предлагаемая эмпирическая проверка

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

Статистическое утверждение состоит в том, что тест послеисполнительных длительностей из раздела 4, объединённый методом Фишера в разделе 5, обнаруживает отклонение послеисполнительного тайминга от локально оценённого фонового процесса всего по нескольким исполнениям. Это продемонстрировано на рисунке 2.

Экономическое утверждение состоит в том, что такое временно́е отклонение есть подлинная сигнатура и предиктор неблагоприятного ценового воздействия, вызванного исполнением. Всё операционно интересное в методе зависит от экономического утверждения, а одни лишь симуляции его подтвердить не могут.

Проверка, которая действительно относится к экономическому утверждению, коррелирует две величины, измеряемые независимо и из разных каналов данных. Статистика неожиданности вычисляется исключительно по временны́м меткам событий — длительностям «исполнение → сделка» и окружающим фоновым длительностям. Мера реализованного воздействия — например, знаковое послеисполнительное проскальзывание на коротком горизонте, как в (3), — вычисляется исключительно по ценовому ряду. Поскольку обе выводятся из непересекающихся входных данных, систематическая связь между ними не может быть артефактом построения.

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

Два дополнительных теста уточняют вывод. Плацебо контролирует возможность того, что быстрые сделки и ценовой дрейф просто сопутствуют друг другу по причинам, не связанным с нашей торговлей: пересчитать ту же самую статистику неожиданности в случайно выбранные моменты, не являющиеся нашими исполнениями (или в моменты исполнений других участников, где они опознаваемы), и убедиться, что связь «неожиданность — проскальзывание» присутствует вокруг наших собственных исполнений и отсутствует в плацебо-моменты.

Наконец, единственный тест, говорящий о причинности и полезности, а не о корреляции, — это живой контролируемый эксперимент: направить рандомизированное подмножество заявок с детектором, управляющим, скажем, темпом торговли, и сопоставленное контрольное подмножество без него, и сравнить реализованное проскальзывание. Это операционно затратно и лежит за пределами методологического изложения, но это решающий эксперимент, и метрика спроектирована так, чтобы такое A/B-сравнение было легко провести.

7. Заключение

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

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

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

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

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

Возвращаясь к полной картине: каждое событие трейдера порождает рыночную реакцию с двумя координатами — одной на оси времени $\delta t$ (когда происходит следующее рыночное событие) и одной на оси цены $\delta p$ (насколько событие сдвигает рынок). В отсутствие воздействия эти координаты порождаются фоновым совместным законом $p(\delta t, \delta p) = p(\delta t)\cdot p(\delta p \mid \delta t)$. Воздействие и токсичность искажают этот закон, и задача — обнаружить искажение в реальном времени.

Эта работа проработала одну ось — тайминг $p(\delta t)$, где живёт причинный вопрос: спровоцировало ли наше собственное действие реакцию? Другая ось, ценовое воздействие $p(\delta p \mid \delta t)$, может мыслиться как привычный markout и несёт величину. Ни одна из них по отдельности не составляет полной картины. Естественный объект — совместная неожиданность: тест, читающий обе оси сразу, где изменение цены, одновременно удивительно скорое и удивительно неблагоприятное, есть острейшее свидетельство вызванного воздействия.

С отбором по неблагоприятным событиям разработанный здесь детектор во временно́й области есть первый экземпляр этой более широкой программы: обнаружения воздействия и токсичности в реальном времени по осям времени и цены совместно.

Литература

Оригинал статьи: Zovko, I. I., «Realtime price impact detection», arXiv:2606.13419 · лицензия CC BY-NC-ND 4.0