Блог им. uralpro
Для v система уравнений выглядит следующим образом:
с терминальным условием:
Переходим к численному решению. Зададим на интервале [0,T] дискретную сетку времени t с равными интервалами :
Также дискретизируем открытую позицию и дисбаланс объема
, с максимальными значениями
и шагами дискретизации
, где
Далее, для вычисления численных производных по дисбалансу объема F, определим две дифференциальные матрицы — D1 для вычисления производной первого порядка и D2 — для вычисления производной второго порядка, на сетке :
Обозначим оператор выбора для любой действительной функции :
Оператор выбора имеет простой смысл: если некая функция ϕ максимальна при воздействии оператора (что для функции владения соответствует использованию лимитных ордеров) или оператора
(использование маркет ордеров), то при текущих параметрах t,y,f,s выбирается именно эта политика (то есть лимитные или маркет-ордера).
Выражения для операторов в фигурных скобках:
.
здесь — матрица идентичности размерностью
(матрица, где по главной диагонали расположены единицы, остальные элементы 0),
— столбец значений дисбаланса,
— единичный вектор размерностью
,… означает поэлементное произведение векторов и матриц. Таким образом,
представляет собой вектор размерностью
на сетке
.
Аппроксимируем сокращенную функцию владения v численным решением w:
Полное решение для функции владения можно получить методом обратной индукции, который состоит из следующих последовательных шагов:
1. На конечный момент времени: для каждой комбинации значений (y,f,s) вычисляем
.
2. Начиная с момента времени tk+1 до момента tk, где k пробегает значения отдо 0 для каждой комбинации (y,f,s) делаем следующее:
Таким образом, для всех значений времени t, всех значений открытой позиции y, всех значений дисбаланса объемов f и всех значений спреда s — (t,y,f,s)- мы определяем, какие ордера нам ипользовать в каждом случае, и формируем области, подобные указанным на графике в заглавии, где изображены политики при значениях спреда, равному шагу цены, и значению времени, меньше на 3 единицы (например, секунды) времени окончания торговли, для всех значений открытой позиции и спреда. Что означают эти области, вы можете посмотреть в части 2 и части 3 данного цикла статей. В следующей статье обсудим, как находить параметры в уравнении для, основываясь на реальных биржевых данных, и начнем составлять код на C# для численного решения методом обратной индукции.
Продолжение смотрите на моем сайте (см. профиль) или через некоторое время на смарт-лабе. Прошлые части статьи — в моем блоге.
Хотя вы абсолютно правы, зарабатывать мм-алгоритмами можно и без денег, рибейтов, без прямого подключения. Но требуется серьезная адаптация алгоритмов. И это уже будет не маркетмейкерство в сути, а просто предоставление ликвидности.