Блог им. nilysenok

Как работает маркетмейкер: модель Авельянеды–Стоикова на пальцах

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

Сегодня зайдём с другой стороны баррикад.

Не как забрать спред у маркетмейкера, а как он вообще решает, где поставить bid и ask.

И здесь начинается уже нормальная математика, а не история в духе «поставил две заявки и печатаю деньги» 🧮

Как работает маркетмейкер: модель Авельянеды–Стоикова на пальцах

Кто такой маркетмейкер

Обычный направленный трейдер чаще всего отвечает на вопрос:

куда пойдёт цена?

Маркетмейкер решает другую задачу.

Он одновременно выставляет:

bid — цену покупки;

ask — цену продажи.

И пытается снова и снова зарабатывать на расстоянии между ними — спреде.

В идеальной конструкции ему не особенно важно, вырос рынок или упал.

Но есть один большой нюанс.

Главный враг — позиция на руках

Маркетмейкер хочет оставаться примерно нейтральным.

Не сидеть огромным лонгом.

Не сидеть огромным шортом.

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

Но каждая исполненная заявка автоматически создаёт позицию.

Представим:

выставили bid;

кто-то продал вам актив;

теперь вы в лонге.

Или:

выставили ask;

у вас купили;

теперь вы в шорте.

То есть рынок буквально насильно складывает вам актив на склад 🙂

В математике этот склад называется inventory, или инвентарь.

И одна из главных задач маркетмейкера — постоянно возвращать его к нулю.

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

Авельянеда–Стоиков

В 2008 году Марко Авельянеда и Саша Стоиков формализовали эту задачу в ставшей классической модели маркетмейкинга.

Оригинальная работа:

Avellaneda M., Stoikov S. High-frequency trading in a limit order book

В упрощённом виде маркетмейкеру нужно ответить на два вопроса:

1. Где находится моя «правильная» цена с учётом позиции?

2. Насколько далеко от неё ставить bid и ask?

Формула №1. Резервная цена

Резервная цена:

r = s − q·γ·σ²·(T−t)

Где:

s — текущая mid-price, середина между лучшим bid и ask;

q — текущий inventory, то есть позиция;

γ — насколько сильно маркетмейкер не любит риск;

σ — волатильность;

T−t — оставшийся временной горизонт.

Смысл проще самой формулы.

Если позиции нет:

q = 0

тогда:

r ≈ s

Маркетмейкер считает текущую середину своей справедливой ценой.

Теперь предположим, что он набрал лонг.

q становится положительным.

Тогда резервная цена смещается ниже рынка.

Почему?

Потому что покупать ещё ему уже не особенно хочется.

Зато продавать накопленную позицию — хочется.

Если маркетмейкер оказался в шорте, происходит обратное: его внутренняя справедливая цена смещается выше.

То есть модель буквально говорит:

чем сильнее тебя перекосило в одну сторону, тем активнее котировками выталкивай себя обратно к нулю.

Формула №2. Оптимальный спред

В классической постановке полный оптимальный спред записывается как:

δ = γ·σ²·(T−t) + (2/γ)·ln(1 + γ/k)

Здесь появляется ещё один параметр:

k — условно, насколько быстро уменьшается вероятность исполнения заявки по мере удаления от рынка.

Но главный смысл опять довольно простой.

Если волатильность выросла, котировать нужно шире.

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

Если рынок спокойный, можно стоять ближе к середине.

Спред меньше, зато сделок больше.

Поэтому маркетмейкинг — это постоянный компромисс:

шире спред → больше прибыль с одной сделки, но меньше исполнений;

уже спред → больше исполнений, но выше риск adverse selection и меньше прибыль на одну операцию.

Как работает маркетмейкер: модель Авельянеды–Стоикова на пальцах

Как из этого рождаются реальные заявки

Возьмём максимально простой пример.

Акция стоит около:

100,00

Позиции у маркетмейкера нет.

Значит его резервная цена находится примерно там же:

r = 100,00

Допустим, модель говорит, что нормальный полный спред сейчас — 0,20.

Он ставит:

Bid: 99,90

Ask: 100,10

Пока всё симметрично.

По ask прошла сделка

Кто-то купил у маркетмейкера по 100,10.

Теперь маркетмейкер продал актив и оказался, условно, −1 в шорте.

Но направленную ставку он не хотел.

Ему нужно вернуть inventory к нулю.

Поэтому резервная цена сдвигается вверх.

И вместе с ней двигаются котировки.

Например:

Bid: 100,00

Ask: 100,20

Что произошло?

Маркетмейкер теперь предлагает более привлекательную цену покупки.

Вероятность, что кто-то продаст ему актив, стала выше.

Если это происходит, шорт закрывается.

Inventory снова около нуля.

А разница между продажей и обратной покупкой остаётся маркетмейкеру.

Вот, собственно, вся логика.

Не:

«я думаю, рынок пойдёт вниз».

А:

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

Рынок начало трясти

Допустим, волатильность резко выросла.

Старая конструкция:

99,90 / 100,10

становится слишком опасной.

Одно сильное движение легко переедет заявки.

Модель расширяет спред.

Например:

99,70 / 100,30

Сделок станет меньше.

Но за каждое исполнение маркетмейкер теперь требует большую компенсацию за риск.

И этот цикл повторяется постоянно:

получил market data → оценил середину → посмотрел inventory → оценил волатильность → пересчитал резервную цену → пересчитал spread → переставил заявки.

У высокочастотных систем — много раз в секунду.

Вот здесь и начинается настоящий market making.

Не нарисованный оборот.

Не wash trading.

А управление котировками, inventory и риском.

Почему низкая комиссия критична

Теперь хорошо видно, почему в таких стратегиях комиссии имеют огромное значение.

Маркетмейкер может зарабатывать несколько базисных пунктов на одной операции.

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

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

А в крипте особенно интересны площадки и пары с очень низкой maker-комиссией.

Потому что здесь комиссия — не мелкая техническая деталь.

Она буквально входит в математическое ожидание стратегии.

Где классическая модель ломается

Модель Авельянеды–Стоикова очень красивая.

Но рынок не обязан соблюдать её предположения.

Например, волатильность в базовой версии модели ведёт себя значительно спокойнее, чем в реальной жизни.

А реальный рынок живёт режимами:

тихо → шок → снова тихо.

Именно на переходе между режимами классический маркетмейкер часто отдаёт то, что долго собирал маленькими спредами.

Резко выросла волатильность.

Котировки ещё не успели расшириться.

Рынок ударил по одной стороне.

Inventory накопился.

Цена продолжила движение.

И несколько часов аккуратного market making исчезают за минуту.

Поэтому современная задача становится сложнее:

не просто оценить σ, а заранее понять, что режим волатильности меняется.

Ещё один нюанс крипты — funding

На perpetual futures появляется дополнительный денежный поток — funding.

Его механику я подробно разбирал в отдельном материале на Smart-Lab.

Если маркетмейкер держит inventory через бессрочный фьючерс, funding начинает влиять на стоимость этой позиции.

То есть к классической задаче добавляется ещё один элемент:

inventory + volatility + order flow + funding.

Поэтому механически перенести формулы 2008 года на современный crypto perpetual и ждать идеального результата не получится.

А дальше начинается Financial Engineering 🎓

До этого места интуицию модели, на мой взгляд, реально понять самостоятельно.

Но дальше уже появляется полноценная математика.

Вывод оптимальной стратегии через уравнение Гамильтона–Якоби–Беллмана.

Моделирование потока заявок.

Калибровка параметров исполнения.

Динамическая оценка volatility.

Adverse selection.

Inventory constraints.

И затем — реальная инфраструктура исполнения.

Я сам выпускник магистратуры НИУ ВШЭ «Финансовый инжиниринг» и с выпускниками программы работаю с удовольствием.

Страница программы

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

Финансисты.

Математики.

Программисты.

У меня даже староста по первому образованию был химиком 🙂

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

Мы попробовали закрыть одну из дыр модели

В одной из выпускных работ, которую я соруководил, научным руководителем был Александр Берзон.

Взяли классическую Avellaneda–Stoikov и задали простой вопрос:

а что, если σ не считать почти статичной, а прогнозировать?

То есть market-making модель начинает заранее адаптировать spread к ожидаемой волатильности.

Для прогноза использовали несколько подходов:

HAR;

GARCH;

LightGBM.

Дальше прогноз волатильности подавался непосредственно в market-making модель.

Логика простая:

ожидаем спокойный режим → котируем уже;

видим рост будущей волатильности → заранее расширяем spread.

В результате стратегия становится адаптивной к режимам рынка.

Работа тестировалась на данных криптовалютного, американского и российского рынков.

По результатам получилась более устойчивая конструкция по сравнению с базовой реализацией модели, в том числе по Sharpe и просадке.

Работа опубликована на сайте ВШЭ

Вот это мне уже особенно нравится.

Не просто:

«вот знаменитая формула».

А:

«вот её ограничение → вот гипотеза → вот модификация → вот проверка».

Именно так, на мой взгляд, и должна выглядеть нормальная количественная работа.

Для тех, кто хочет копнуть глубже 📚

Оригинальная статья:

Avellaneda M., Stoikov S. High-frequency trading in a limit order book

Пример развития модели через ML на Bitcoin:

Исследование в открытом доступе

Разбор математического вывода модели:

Видео

Практический разбор реализации стратегии:

Hummingbot — Avellaneda–Stoikov strategy

Главная мысль

Мне нравится модель Авельянеды–Стоикова за одну вещь.

Она очень быстро разрушает представление о маркетмейкинге как о:

«купил чуть дешевле, продал чуть дороже».

На самом деле задача выглядит так:

где находится моя справедливая цена с учётом inventory?

какой spread компенсирует текущую волатильность?

как изменится вероятность исполнения, если отойти от mid-price?

как не накопить направленную позицию?

что произойдёт, если режим рынка резко изменится?

И только потом:

где ставить bid и ask.

Вот это уже серьёзная математика, а не wash trading.

Образование получаем, инфраструктуру развиваем. Всем добра 😄

P.S. Если кому интересна эта область профессионально — отдельно рекомендую посмотреть программу ВШЭ «Финансовый инжиниринг».

Условия поступления

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

Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
5.7К | ★29
62 комментария
Спасибо, подписался.
Хорошо бы еще разобрать случаи, когда цены берутся с потолка и держатся продолжительное время не взирая на арбитражи.
avatar
Йоганн, обязательно :)
avatar
Никита Лысенок, для кого это написано, для институционалов? Они и так это все знают. Физики не имеют такого преимущества в железе перед ними, платят комис брокерне, а любая рыночная неэфективность выявленная тобой — временна. Только ты статью напишешь, а она уже исчезла. 
Маркетмейкеры — вечны. Новые торговые системы опишешь? Не HFT.
умно, но бестолково, маркетмекеры разные и задачи у них разные,
avatar
Михаил Беляев, ну, модель основная такая 
avatar
Клиент покупает акцию — я ему продаю, он продаёт я у него выкупаю, итд. По отношению к клиенту я ММ, предоставляю ликвидность в стакане. Позиция клиента + моя позиция = 0. Позиция фирмы нейтральна. На криптобиржах всё еще проще, она сама себе ММ, сводит всё внутри себя. 1000 клиетов занесли деньги на биржу, через годик 50 забрали))) И не нужно как Цитадель централизовать на себя все заявки, выплачивать брокерам, покупать данные, плодить «Робингудов» итп.
«Кухни» делают еще проще, сразу прикарманивают 90% средств клиентов себе…
avatar
22022022, кухни творят чудеса 
avatar
Отмечусь, потом прочитаю
avatar
Ho_Chu, хихик
avatar
Да вы ученый, месье.
Требониус Арториус, базара ноль 
avatar
получается чем больше инвесторов  скармливают шортов маркетмэйееру тем  более отрицательая у него позиция тем меньше у него желания катировать цену выше? 
Константин Дубровин, именно :)
avatar
Никита Лысенок, и что дальше?, математика, какой будет патерн.
Константин Дубровин, под "скармлеванием шортов" вы подразумевает рыночные покупки?
Дмитрий Александров, да
 @Тимофей Мартынов Тимофей пригласи данного человека выступить на конфу как-нибудь. тема  влияния маркетмейкеров на рынок не раскрыта совсем.
 там где то рядом тема манипулирования котировками… механизм такой же
Константин Дубровин, спасибо!
avatar
Константин Дубровин, вместо дубины
avatar
Константин Дубровин, пригласить чат гпт что ли?
avatar
Весьма похвально)
avatar
MatrixLis, спасибо 
avatar
С появлением на бирже Маркетмейкерства суть биржи, как рыночного  механизма формирования цены на основе реального спроса и предложения, полностью извратилась и стала чисто манипулятивной. А брокеры-маркетмейкеры теперь финансово заинтересованы в игре против своих же клиентов и в сливе их депозитов ради своей прибыли. 
В этом плане форекс намного честнее 
avatar
Translator, ну, тут же цена просто ходит за спросом и предложением, просто получается стаканы немного нереалистичные 
avatar
Велика статья а толку мало
avatar
Карабас, а чего не хватает?
avatar
Никита Лысенок, не читаема… формула формулой а как эта формула на практике, визуализация на графике. Или вы увидите влияние накопления маркета на цену и соответственно сброса его и опять таки влияния
Хорошая статья, по крайней мере для базового понимания логики действий. Она, правда, немного упрощенно объясняет действия маркетмейкера, и он представляется неким пассивным игроком, который в такой моделе вообще никак на цену не влияет, кроме потенциального снижения волатильности. Из производных инструментов упоминается только вечный фьчерс с фандингом. Однако в реальности маркетмейкеры очень часто прибегают к опционам (а иногда и внутри опционов занимаются ММ). И тогда не обязательно при накоплении направленной позиции происходит изменение тактики бид-аск, а позиция «обнуляется» через опционы. Использование опционов, которые регулярно экспирируются, в свою очередь приводит к повышенной волатильности вблизи дат экспирации. Поэтому все не так просто, как описано, хотя отправная точка правильная. Маркетмейкер, присуствующий во многих активах, обязан учитывать корреляцию (например вы ММ в нескольких нефтяных акциях). Идея, что маркетмейкер никогда не занимает сторону и всегда хочет иметь нулевую экспозицию, тоже не всегда правда. Во-первых ММ-подобные подходы часто используются для того, чтобы набрать-раздать позу для крупного клиента без улета цены. Во-вторых, если вы занимаетесь маркетмейкингом в валютах, например, то на определенных ценовых уровнях вы можете решить, что при цене рубля Х, для меня допустима или даже желательна нетто-лонговая позиция, либо наоборот, я точно не хочу иметь никакой шортовой позиции в долларе в данный момент, поэтому я не буду вставать бидом и аском одновременно, а сначала выставлять небольшие позиции бида, и только при срабатывании выставлять аск.
avatar
DDav, очень много интересного подсветили, спасибо!
avatar
DDav, DDav корректно уточняет упрощённую модель маркетмейкера, но часть его аргументов требует оговорок. Главное верно: ММ — не пассивный участник, он управляет балансом))
avatar
DDav, 
что при цене рубля Х, для меня допустима или даже желательна нетто-лонговая позиция, либо наоборот, я точно не хочу иметь никакой шортовой позиции в долларе в данный момент

маркетосовский договор запрещает так делать на долгое время на мос бирже. Но возможно есть какие то уникальные условия, о которых пока не знаю
avatar
Андрей К, я не уверен, что происходит на Мосбирже с точки зрения юридических договоров, но все таки классика маркетмейкинга происходит на других зарубежных рынках. Если интересно, почитайте историю прошлого года про Jane Street — это одна из крупнейших ММ-компаний мира, и она занималась маркетмейкингом в индийских опционах. Я не знаю, какая фактически там ситуация, но они утверждают, что просто занимались маркетмейкингом, и их механическое занятие однонаправленных трейдов это просто неизбежность того, что у тебя одна нога должна так стоять. Регулятор сказал, что они заработали миллиарды долларов через манипуляцию рынка. Чтобы не было недопонимания, в моем понимании маркетмейкером может выступать даже частное лицо без договора, если он применяет техники зарабатывания на спреде. Боты, которые пишутся для этого у нас в низколиквидных акциях, фьючерсах и облигациях, например, выполняют эту функцию (для меня).
avatar
маркетмейкер управляет не «направлением цены», а балансом между спредом, инвентарём и риском)) ну и конечно видит ваши стопы…
avatar
PeptideNovaru, ну, единственное, стопы не видит
avatar
Никита Лысенок, Стопы не видит?  А тех анализ зачем? 

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

Типа: в кустах затаилась стая зайцев, в количестве 1000 особей. Тощие как бобики.   Будем плющить? Или пока их оставим, чтобы жирком обросли чуток,  а поедем воооон на тот остров и одним махом накроем  сотню тысяч хомяков и сусликов. 
avatar
NOT A HAMSTER, да, согласен, предполагать может, но видеть сомневаюсь
avatar
Никита Лысенок, Когда делается заявка, она уходит на сервер. А затем она обрабатывается и фиксируется под таким-то номером. Который высвечивается в стакане, ну или в истории, если это внебиржа. 

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

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

Деньги у таких мейкеров всегда есть. Ведь они же не простые мейкеры, а например от Морган Стенли или Парибас, Дойче или Джей пи Морга, банков америка тд.  Ну или от крупных хедж-фондов. 

А потом возвращаются, маркеруются и всё.  И вновь приступают к своим прямым обязанностям. Поддерживать волу там где она снижается и сдерживать там, где она повышенная.
avatar
NOT A HAMSTER, спасибо!
avatar
PeptideNovaru, да. не хватает того что у мм все данные есть. а у нас нет. игра в нечестную игру. 
avatar
Балаган, так и есть… просто дети с еврейского института- высшая школа экономики, еще это не поняли… мы с мгу и мифи, могем. Да, у маркетмейкера структурное преимущество: он видит поток заявок, лимиты, дисбалансы и исполняет сделки быстрее. Но это не означает, что частный трейдер обязан «играть против ММ» — разумнее не пытаться обыграть его в его же игре, а торговать только свои сетапы с заранее заданным риском))
avatar
PeptideNovaru, поток заявок да, лимиты нет? как? а против кого играть? 
avatar
Никита Лысенок, поток заявок — да, лимиты — нет. А играть не «против кого-то», а по своей модели: вход, размер позиции, стоп, сценарий выхода))
avatar
Балаган, Балаган, так и есть… просто дети с еврейского института- высшая школа экономики, еще это не поняли… мы с мгу и мифи, могем. Да, у маркетмейкера структурное преимущество: он видит поток заявок, лимиты, дисбалансы и исполняет сделки быстрее. Но это не означает, что частный трейдер обязан «играть против ММ» — разумнее не пытаться обыграть его в его же игре, а торговать только свои сетапы с заранее заданным риском))
avatar
Это лучшее на СЛ за последние 10 лет, пишите еще)
avatar
robomakerr, <3
avatar
 это все годно на суперликвиде
avatar

HAR; GARCH; LightGBM

Это всё модели по историческим ценам. А есть ли у ММ способы оценить внешнее воздействие в текущем моменте? Ну типа, «по возросшей частоте заявок понимаем что еще секунда и вола взорвется»?
avatar
Все практически верно, кроме одной ложки дегтя, которая все портит.
ММ не подстраивает заявки под прогнозируемую волатильность, т.к. она может быть определена только ПОСЛЕ определенного промежутка, в течение которого его биды или аски будут съедены, и этот факт потребует гораздо большего времени для нейтральной позиции, чем упомянутая «минута» (если почитать договор между биржей и ММ, то там все доступно описано, в какие периоды и с какой целью последний должен предоставлять ликвидность).
В этой связи упоминание прогноза волатильности ММ в данном посте — ложно.
Кстати, именно этот момент является краеугольным камнем для похожих алгосистем, основанных на сеточной торговле обычными трейдерами.
avatar
RoboScalp, очень интересно, спасибо!
avatar
Никита Лысенок, ввиду витиеватости формулировок в вашем посте, чуть выше я дал комментарий, который выглядит ошибочно на фоне общей фабулы вашей статьи.
Хочу уточнить свою мысль во избежание разногласий: математический расчёт уровней, на которых ММ должен выставить ордера справедлив для вялотекущей торговли других участников (агентов), и абсолютно верно подмечено, что резкий всплеск волатильности, сопровождаемый соответствующим изменением цены, сводит на нет такую математику ввиду последующего долговременного и затратного приведения совокупной позиции ММ к нулю (нейтрали).
Я хочу отметить, что в представленной формуле опущена главная переменная, учитывающая активность контрагентов, а именно: намерения тех участников, съевших ордера ММ (вне зависимости от уровня их размещения) и их потенциал в будущем развитии движения котировок?
avatar
RoboScalp, и как решить вопрос?
avatar
zhorzh, добить формулу математическим пределом допустимой просадки
avatar
RoboScalp, ММ управляет не одним риском, а несколькими сразу.
В опционах это дельта (направление), гамма (ускорение), вега (волатильность) и тета (время). Поэтому «подстройка под прогноз волатильности» — не единственная задача))
avatar
PeptideNovaru, я бы не переоценивал значение опционов, учитывая объемы в стаканах. Вне зависимости от типа участников (ММ или розничный трейдер), все видят одну и ту же картину на досках
avatar
RoboScalp, согласен опцики в россии тоска
avatar
Пост — разбор, как научиться крутить наперстки быстрее шулера.
Вы никогда не заработаете на этом!
Учите лучше фундаментал!
avatar
Петрович, а где тут шулерство? модель известна открыта и шулерства нет
avatar
В математике этот склад называется inventory, или инвентарь.
 может все же запасы

Интересненько, спасибо!

avatar
Quik Admin, <3
avatar
Если придерживаться абсолютной точности формулировок, то не «каждая исполненная заявка автоматически создаёт позицию»
avatar

Читайте на SMART-LAB:
Фото
Геополитический вестник недели. Обзор гео событий Россия-Украина-США 12-19 октября
Российский рынок продолжает расти, предположительно на смягчении отношений Россия — США. Предыдущая сводка была тут:...
Фото
От дата-центров до акций: как бизнес справляется с атаками на инфраструктуру
Один сбой — и привычные такси, доставка, платежи и файлы в облаке становятся недоступны. За всеми этими сервисами стоят дата-центры, о...
Фото
Нефть дешевеет, но евро остается под давлением
Евро начинает неделю без уверенности. Отскок EUR/USD от 1,1180 быстро выдохся, и пара держится около 1,12. Даже снижение нефти пока не помогает...
Фото
Аленка капитал набирает обороты - с момента прошлого поста ПИФ сделал +10%. Какие ключевые изменения в сентябре?
Традиционно продолжаем следить за ПИФ Аленка Капитал от Элвиса Марламова Предыдущий пост про ПИФ Alenka Capital был месяц назад тут...

теги блога Никита Лысенок

....все тэги



UPDONW
Новый дизайн