Обучение
Fill ratio и rejection rate: два числа, которые раскрывают вашего контрагента
Что именно они измеряют, почему низкая доля отказов может быть плохим знаком, как манипулируют обеими метриками и что просить, чтобы они что-то значили.
Если бы вам пришлось оценивать контрагента всего двумя числами и ничем больше, это были бы они. И всё же их почти никто не просит — отчасти потому, что их легко истолковать неверно: есть конфигурации, где низкая доля отказов — новость хуже, чем высокая.
Что измеряет каждое
Fill ratio — это доля заявок, которые исполняются, от общего числа отправленных. Если вы отправляете 1000 заявок и исполняется 970, ваш fill ratio равен 97%.
Rejection rate — это его дополнение со стороны контрагента: доля заявок, которые он отклоняет. В примере — 3%.
До сих пор это арифметика. Польза кроется в деталях, которые почти никогда не сопровождают цифру.
Ошибка чтения числа в отрыве от контекста
Доля отказов в 3% звучит приемлемо. Но не все отказы стоят одинаково.
Если ваши отказы распределены случайно, издержки в основном операционные: вы повторяете заявку и идёте дальше. Если же они концентрируются ровно тогда, когда цена движется в вашу пользу, издержки экономические и системные: вам отказывают именно в тех сделках, которые вышли бы удачными.
Вот тот паттерн, который нужно искать, и в среднем значении его не видно. Случайные 3% и асимметричные 3% — это совершенно разный бизнес с одной и той же цифрой в презентации.
Запросите вот это: распределение отказов с сегментацией по движению цены в окне принятия решения, а не только агрегированный процент.
Почему низкий уровень отказов может быть плохим знаком
Вот контринтуитивная часть.
Если ваш контрагент исполняет против реального рынка, какой-то процент отказов неизбежен: цена движется, ликвидность выбирается, upstream отклоняет. Площадка, подключённая к банкам Tier-1, в нормальных условиях что-то отклоняет.
Доля отказов, устойчиво близкая к нулю, при спредах лучше базового рынка обычно означает одно из двух: либо вас полностью интернализируют — что легитимно, но вам стоит об этом знать, — либо цена, которую вы видите, уже включает наценку, поглощающую колебания.
Ни то, ни другое не обязательно плохо. Плохо — не знать, что именно из двух.
Запросите вот это: какая доля моего потока исполняется против рынка и какая интернализируется?
Как приукрашивают эти метрики
Стоит знать эти механизмы, потому что они законны и распространены:
Считать для расчёта только принятые заявки. Если те, что отклонены по «недопустимой цене», не попадают в знаменатель, fill ratio растёт сам собой.
Исключать окна высокой волатильности. Среднее по спокойному месяцу мало говорит о том, как всё пойдёт на данных по занятости.
Агрегировать всех клиентов. Глобальный fill ratio 98% может уживаться с 91% в вашем конкретном сегменте.
Измерять не в той точке. Соотношение между агрегатором и upstream — не то же самое, что между вашей платформой и агрегатором. Отказы на последней миле могут не отображаться.
Ни одна из этих практик не является мошенничеством. Все они приводят к тому, что показываемое вам число описывает реальность, которая не является вашей.
Что делает метрику полезной
Чтобы эти числа что-то значили, они должны сопровождаться четырьмя вещами:
- Сегментация по инструменту. Ваше исполнение по EUR/USD и по экзотическому кроссу не имеют ничего общего.
- Сегментация по сессии. С явным включением окон новостей.
- Разбивка по upstream-контрагентам. Если у агрегатора шесть источников, вы хотите знать, кто отклоняет.
- Ваш собственный поток. А не агрегат по всем клиентам площадки.
С этими четырьмя измерениями цифра из маркетинга превращается в операционные данные, на основе которых можно принимать решения о маршрутизации.
Реальная цена отказа
Отказ — это не просто заявка, которая не исполнилась. Это заявка, которая исполняется позже, по другой цене.
На плоском рынке разница пренебрежимо мала. На движущемся — нет. Поэтому по-настоящему важная метрика — не сам отказ, а накопленное проскальзывание, относимое на отказы: во сколько пипсов вам обошлась вся совокупность повторных попыток.
Это число почти никто не публикует и почти никто не просит. Оно, без сомнения, самое информативное из трёх.
Запросите вот это: среднее проскальзывание по заявкам, потребовавшим повторной попытки, в сравнении с теми, что исполнились с первого раза.
Как проверить это самостоятельно
Не нужно никому верить на слово. По логам собственной платформы вы можете построить эти метрики, если фиксируете по каждой сделке:
- Timestamp отправки и ответа
- Запрошенную и исполненную цену
- Был ли отказ и сколько повторных попыток
- Референсную рыночную цену в тот момент
Если ваш контрагент даёт вам доступ к логам с такой детализацией, вы можете аудировать его цифры. Если не даёт — любое показанное им число остаётся актом веры.
Площадка с паритетом продакшена в песочнице позволяет к тому же измерить это до подписания: направьте тестовый поток во время реального окна новостей и измерьте. Это единственный способ узнать, как она ведёт себя, когда это важно.
Часто задаваемые вопросы
Какой fill ratio считается хорошим? Зависит от инструмента, сессии и модели исполнения, так что любая единственная цифра подозрительна. Полезнее порога — стабильность: устойчивый fill ratio между спокойными и волатильными сессиями говорит больше, чем высокий в среднем.
Отказ и проскальзывание — это одно и то же? Нет. Отказ — это когда ваша заявка не исполняется; проскальзывание — когда она исполняется по цене, отличной от запрошенной. Они связаны, потому что отказ обычно порождает проскальзывание при повторной попытке, но проскальзывание может быть и без отказов, и наоборот.
Могу ли я сравнить fill ratio двух провайдеров? Только если оба измеряют его одинаково: одна точка измерения, одинаковый учёт отклонённых заявок в знаменателе, один период и одни инструменты. На практике они почти никогда не совпадают, так что честное сравнение требует, чтобы вы измерили его сами на собственном потоке в песочнице.
Провайдер, который публикует свою долю отказов, надёжнее? Это хороший знак, но проверьте, что именно он публикует. Опубликовать глобальный агрегат легко; публиковать его по upstream, по инструменту и по сессии — вот что доказывает, что данные действительно существуют.
Полная рамка оценки: как брокер выбирает ликвидность. Чтобы понять, откуда берутся отказы: как работает агрегация ликвидности.
В Exura Prime доли отказов доступны по каждому upstream-контрагенту, когда применяется Last-Look, а клиенты — которые подключаются и исполняют сделки через нас — имеют логи с экспортируемыми timestamp'ами. Поговорите с институциональной командой, если хотите измерить это в песочнице до принятия решения.
