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


автоматическое закрытие большой позиции с учетом текущей ликвидности
Atom Ответить
11.01.2014


Доброго времени суток,

Предположим, что имеется открытая позиция по инструменту Х объемом 1000 контрактов и ее надо как можно быстрее закрыть. В стакане при этом на каждой строчке стоит по 20-50 контрактов. То есть, позиция достаточно тяжелая для рынка.
По маркету закрывать боимся, хотим "торговаться". Всю тысячу на первую строчку тоже ставить не будем, напугаем каких-нибудь арбитражеров.
Грубо говоря, это можно назвать стратегией выхода из рынка с учетом текущей ликвидности. Тут многие параметры могут приняты во внимание.

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

P.S.: как открылась позиция - совершенно не важно
P.S.: язык на котором есть (если есть) какие-то наработки неважен вдвойне :)
Спасибо.



Спасибо:




4 Ответов
Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 11.01.2014
Ответить


Любая стратегия котирования объема. Самая популярная - VWAP. Так как раньше занимался ММ, то в стокшарпе есть несколько реализаций стратегий.
Спасибо:

devruss

Фотография
Курсы
Дата: 20.01.2014
Ответить


Надо определить понятние "не давить на рынок". Большинство институциональных клиентов уже решили для себя, что это значит - обычно это значит идти в определенном ритме с рынком (ритм = объем), обычно торгуя 25%-33% от объема. Т.е. как только вы решили закрыть или открыть позицию, вместо 1 транзакции "по рынку", вы покупаете продаете N% от проторгованного объема каждые 15 секунд например, либо ждете когда проторгуется M объема и продаете 0.33*M - например на каждые 200 контрактов вы продаете 100. Таким образом уменьшается market impact
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 20.01.2014
Ответить


devruss Перейти
вы покупаете продаете N% от проторгованного объема каждые 15 секунд например


TWAP

devruss Перейти

либо ждете когда проторгуется M объема и продаете 0.33*M - например на каждые 200 контрактов вы продаете 100.


VWAP

Этому всему есть стандартные названия.

Есть и другие подходы.

Стратегия мгновенной ликвидности. Ничего не выводится - анализируется стакан. Появилась ликвидность - быстрый удар по рынку. Минус - подходит только, если канал толстый (не меньше 9 см в диаметре).

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

Лесенка. Выставляется заявка на разные уровни. Удовлетворяется верхний уровень - все остальные смещаются вниз. Минус - требует нереальной комиссии. Это и скальперы используют и ММ-ы. Последним и цену дает выгодную и возможность присутствовать постоянно в стакане, и защиту от быстрого пролива есть.

Стратегий - тьма. Я своим даже модификации придумывал в свое время. Самое главное - понимать какой рынок и какой объем. Потому что на споте и срочке нужны разные алгоритмы, так как участники торгов разные. На срочке шума много, там некоторые алгоритмы не работают. На споте - комисс больше.
Спасибо:

devruss

Фотография
Курсы
Дата: 22.01.2014
Ответить


Михаил,

TWAP и VWAP - это метрики. Я говорил про упрощенные алгоритмы для их реализации

TWAP (https://www.tradestation.com/education/labs/analysis-concepts/time-weighted-average-price) никакого отнощения к проторгованному объему не имеет. Time Weighted алгоритм: вы просто покупаете/продаете одинаковое количество в равные промежутки времени.

VWAP - Volume Weighted Avg Price (http://en.wikipedia.org/wiki/Volume-weighted_average_price). Оба предложенных метода - есть реазация Inline with volume алгоритма, в пределе они дают один и тот же результат - цену очень близкую к VWAP, скорректированный на bid/ask spread

Если задача не давить на рынок, то VWAP стратегии практически единственный выход, все остальные оставляют большой footprint который алго и отслеживают
Спасибо:


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy