Блог им. 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 цикла статей.

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

★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

теги блога uralpro

....все тэги



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