Блог им. uralpro

Алгоритмы маркетмейкера. Часть 3

    • 02 апреля 2015, 09:46
    • |
    • uralpro
  • Еще

Алгоритмы маркетмейкера. Часть 3

Продолжаем разбирать работу JIANGMIN XU «Optimal Strategies of High Frequency Traders». Чтобы составить уравнение оптимального контроля, сначала сформулируем проблему оптимизации алгоритма при используемых стратегиях θ,  как достижение максимума следующего матожидания:

\max_{\theta^{mk},\theta^{tk}}\mathbb{E}_0[X_T-\gamma\int^T_0 Y^2_{t-}d[P,P]_t],

где интеграл\gamma\int^T_0 Y^2_{t-}d[P,P]_tпредставляет собой штрафную функцию удержания ненулевой открытой позиции рискованного актива, γ- постоянный коэффициент, d[P,P]t- квадратичное изменение средней цены P, X_T — кэш трейдера на момент времени окончания торговли T.

 

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

Q(x,y,p,f,s)=x+py-|y|(\frac{s}{2}+\epsilon),

где x — кэш трейдера,

p- средняя цена (в стакане),

y — открытая позиция,

s — спред,

f — дисбаланс объемов в стакане,

ϵ- комиссия. 

С учетом функции Q  дадим определение так называемой функции владения, которую мы и будем максимизировать на всем протяжении работы алгоритма:

V(t,x,y,p,f,s)=\sup_{\theta^{mk},\theta^{tk}}\mathbb{E}_t[X_T+P_T Y_T-|Y_T|(\frac{S_T}{2}+\epsilon)-\gamma\int^T_0 Y^2_{t-}d[P,P]_t]

Проблема оптимального контроля решается с применением динамически программируемых уравнений, и для  составления первого уравнения для котировочных стратегий θmk представим инфинитезимальный оператор второго порядка L:

\mathcal{L}\circ V(t,x,y,p,f,s)=(\mathcal{L}^P+\mathcal{L}^S+\mathcal{L}^F)\circ V(t,x,y,p,f,s)+

g^a(f,s,\theta^{mk,b}_t)\cdot V(t,x-(p-s/2+\delta \theta^{mk,b}_t,y+1,p,f,s)+

g^b(f,s,\theta^{mk,a}_t)\cdot V(t,x+(p+s/2-\delta \theta^{mk,a}_t,y-1,p,f,s)

\mathcal{L}^P,\mathcal{L}^F,\mathcal{L}^S — инфинитезимальные операторы процесса изменения средней цены P, дисбаланса объема в стакане F  и спреда S соответственно. Несмотря на страшное название данные операторы просто обозначают воздействие изменяющихся в течение времени процессов цены, дисбаланса объема  и спреда на функцию владения — то есть на активы, которыми владеет трейдер. Функции

g^a(f,s,\theta^{mk,b}_t)=\theta^{mk,b}_t \lambda^a+(1-\theta^{mk,b}_t) \lambda^a h(f)

g^b(f,s,\theta^{mk,a}_t)=\theta^{mk,a}_t \lambda^b+(1-\theta^{mk,a}_t) \lambda^b h(-f)

являются ни чем иным, как ожидаемой частотой исполнения лимитных ордеров на биде и аске соответственно. Здесь h(f)- вероятность взятия лимит ордера на лучшем аске(биде) в очереди заявок, в зависимости от дисбаланса f, имеет форму h(u)=1/(1+\exp(\varsigma_0+\varsigma_1 u)), \varsigma_0, \varsigma_1 — положительные константы. \lambda^a,\lambda^b —  частоты прихода маркет ордеров на бид и аск.

Для составления вторoго уравнения  стратегии с маркет ордерами (take strategy) θtk , нам понадобится оператор импульсного управления M:

\mathcal{M}\circ V(t,x,y,p,f,s)=\sup_{\zeta\in\{-\zeta_{max},\zeta_{max}\}}(V(t,x-\zeta p-|\zeta|(s/2+\epsilon),y+\zeta,p,f,s))

Этот оператор отражает воздействие на функцию V(t,x,y,p,f,s) стратегии θtk, с целью максимизации функции владения во время применения этой стратегии.

С операторами L и M мы сможем составить неравенство, которое называется квазивариационное неравенство Хамильтона-Якоби-Беллмана (HJB-QVI):

\max\left\{\frac{\partial V}{\partial t}+\sup\{\mathcal{L}\circ V\}-\gamma y^2\frac{\mathbb{E}_t[P,P]_t}{dt},\mathcal{M}\circ V-V\right\}=0, на промежутке[0,T), (T- время ликвидации открытых позиций (окончание торговли)), и составляет систему уравнений с терминальным условием:

V(T,x,y,p,f,s)=x+py-|y|(s/2+\epsilon)

Решением этой системы уравнений и будет набор стратегий θmk ,θtk, вычисленные на каждый момент времени в промежутке [0,T), и на каждую величину спреда s, как изображено на графиках в заглавии статьи. Обратите внимание, что там появилась новая область в связи с размером спреда S больше одного шага цены — Pinging on bid\ask side. В этой области значения θmk равны 1 для бида/аска, что означает, что лимитные ордера выставляются в стакане на тик больше бида (тик меньше аска) — см. часть 2 цикла статей.

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

816 | ★46
34 комментария
надеюсь дальше полегче будет
avatar
Макс, в итоге все очень просто — увидите по коду
avatar
Это что за хрень? ТС, давай побольше диффур еще.
avatar
Для кого он этот пост создаёт? ))))
Умников здесь не любят, до и понторезов тоже)))
avatar
Alex_Volume, для тех, кто реально хочет зарабатывать на бирже, а не чертить линии на ценовых графиках
avatar
uralpro, а ты не думал, что «на не рабочих линиях» делаются большие деньги, а на математике — только рушат реальность уверенного на все 100 математика?
avatar
Alex_Volume, я вообще не думаю, за меня давно роботы думают:)
avatar
Alex_Volume, математика обычно как раз и уверена на все 100%, или вы сомниваетесь что самолеты, например, реально летают? :-) Шутка.
avatar
uralpro, кинематика описывает движение геометрически, но та не кинематика и не геометрия. :-)
avatar
Нужны матрицы! Матрицы — наше всё…
avatar
Автор молодец!
avatar
uralpro, а кроме текста ваш материал никак не послушать? разобрать на кошках так сказать.
формулы конечно хорошо, но на втором этапе, сначала бы общий принцип понять.
записали бы видео, я бы с удовольствием посмотрел. в любом случае спасибо.
avatar
Алексей, к сожалению, видео не делал, боюсь, будет легче текст понять, чем слушать мои косноязычные объяснения:))
avatar
Алексей, общий принцип представлен очень наглядно на картинках к постам автора и заключается в расчете матриц оптимального входа и контроля позиции. Алгоритм основан на предположении о зависимости направления движения цены от изменения объема заявок в стакане.
avatar



avatar
Оверинжениринг

А на самом деле кто поймёт как и что тут, тот сможет с ММОМ заходить в позицию и будет красавчик
Вот видно что автор суперпрофи!
Не то что «уровень с запасом хода берем» и что дальше школьной арифметики — то слом мозга))
===========
С увлечением детально по формулам разбираю эту трилогию по-тиху сейчас. Спасибо за пост!
avatar
Автор, трейдинг настолько сложная термодинамика в обществе, что никакой аналитикой ее не описать. Только численное моделирование и разведка боем. А если я не прав, то целиться надо гораздо выше — на нобелевскую премию по экономике.
avatar
uralpro, на чем собираетесь писать код? :-) Только, не Хамильтона-Якоби, а Гамильтона-Якоби.
avatar
Zangpo, на C#
avatar
uralpro, статью смотрел «по диагонали», но в вашем посте, мне кажется, не все уравнения записаны, наверное ур-я в оригинале статьи. Точно всех формул хватает ?:-) Формулы для операторов, например, имеются? и всех E,T,V и пр.?
avatar
Zangpo, да вроде бы основные формулы все должны быть. Может не увидели те, что во 2 части? И еще будут 4 и 5 часть
avatar
uralpro, если вы вычислите все на С# :-) можете считать что «получили 5 за трудолюбие». Если еще и все последующие ваши проекты на нем решите, будете, наверное, известным на весь интернет самым трудолюбивым разработчиком для С# который перевел все уже ранее написанное на С++ на платформу Микрософт. Надеюсь не обидились за небольшое количество шутки. С# относительно новый язык программирования, что-бы довести его фукции до уровня С++ уйдут еще годы(можете посмотреть например расширение Boost для С++ что-бы оценить отличия). Все imho.
avatar
Спасибо!
avatar
Интересные статьи, спасибо автору.
Интересно только он на практике их уже пробовал ?
т.е. был уже ММ или только собирается ?
И для себя собирается котировать или так сказать за деньги биржи?
кстати, у вас весьма интересный сайт получается. продолжайте в том же духе.
avatar
Ivor, спасибо, я стараюсь сделать его максимально полезным для настоящих алготрейдеров
avatar
uralpro, а у пользователей будет возможность делать свои топики? только по теме ессно.
avatar
Ivor, да, я. наверное, сделаю так в ближайшее время. Но модерация будет строгой, я не хочу от заданной темы отступать
avatar
uralpro, ну и правильно.
avatar
Кому интересены научные методы алготрейдинга велкам u.to/OoXpCg место «без багов» для работы. ;-)
avatar
Какой смысл выкладывать работы по маркет-мейкингу для физиков… у физиков одна комиссия брокерская всю идею порушит)))) я тупой мне можно говорить что угодно)))))))
avatar

Читайте на SMART-LAB:
Фото
Промышленная автоматизация — один из ключевых трендов 2026 в ИТ #SOFL_тренды
Сегодня промышленность все чаще смотрит на ИТ как на инструмент для наращивания мощностей. Для российской экономики отрасль играет ключевую роль,...
Фото
Не оливье единым: итоги 2025 года и новая иерархия на рынке готовых салатов
Российский рынок готовых салатов в 2025 году продемонстрировал смену лидера: традиционный фаворит «Оливье» уступил первое место «Сельди под...
5 идей в российских акциях. Индекс МосБиржи снова на грани 2700
Индекс МосБиржи опять торгуется на грани значимого уровня 2700 п. Сейчас не исключен очередной отскок от указанного уровня. Кроме того, рынок...
Фото
Хэдхантер. Ситуация на рынке труда в декабре идет ко дну - хуже не было никогда
Вышла статистика рынка труда за декабрь 2025 года, которую Хедхантер публикует ежемесячно, что же там интересного: Динамика...

теги блога uralpro

....все тэги



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