Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Section
Column

...

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

Для решения этих задач в

...

OptionWorkshop реализован маркет-мэйкерский блок. Также как и дельта-хеджер, этот автомат привязывается к одной стратегии, то есть все сделки, происходящие по заявкам этого автомата, будут всегда попадать в выбранную стратегию. Это позволяет локализовать позиции маркет-мэйкера и, в том числе, хеджировать их дельту отдельно от других позиций.

Column
width400px
Panel
bgColor#F5F5F5
borderStyledotted

Содержание страницы:

Table of Contents

 

 

 

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

...

Рисунок 1 – схема создания маркет-мэйкера

Выбор контрактов для котирования

По умолчанию окно маркет-мэйкера выглядит следующим образом:

...

В таблице перечислены все контракты выбранной для котирования серии. Котировать сразу все контракты не рекомендуется. Таблица будет перегруженной и неудобной для навигации, если оставить в ней все контракты. Для удобства работы нужно оставить лишь те контракты, которые необходимо котировать. Для того чтобы убрать контракт из списка, нужно убрать флажок в самой левой колонке таблицы. Чтобы показать все контракты, включая убранные, нужно выставить флажок Show all в правом верхнем углу окна маркет-мэйкера. Таким образом, появится возможность вернуть удалённые контракты и работать с ними.

Параметризация

Для каждого контракта отдельно можно задавать параметры, описанные в таблице 1.

Таблица 1 – Параметры контракта

ПараметрОписание
StrikeСтрайк контракта
TypeТип опциона, пут или колл
PriceТекущая теоретическая цена опциона
EnableОпределяет, разрешено ли выставление заявок по данному опциону, когда робот (котирование всей серии) запущен
BidЗадаёт условие роботу, выставлять ли по данному контракту бид в систему. Опция нужна для возможности выставлять односторонние котировки
OfferЗадаёт ограничения на выставление оффера в систему
ShooterЗадает режим "Стрелок" по данному контракту. Подробнее о режиме "Стрелок" - ниже
JoinПараметр позволяет объединять маркет-мейкеры в группу для согласованного набора позиций. Подробнее в разделе Режим связанных маркет-мейкеров
Bid QuantityРазмер заявок бида. Данный параметр можно задавать как в контрактах (например, 1 или 5) так и в суммарной дельте (например, 1d или 2.5d). Задание размера в дельте означает что робот подберёт минимальное количество контрактов, у которого суммарная дельта (по модулю) будет больше или равна указанному значению
Offer QuantityРазмер заявок оффера. Аналогично предыдущему параметру принимает значения как в контрактах, так и в дельте
Replace at QuantityПараметр задаёт оставшееся количество в заявке (в контрактах) при котором произойдет перевыставление заявки
Lower LimitРобот не будет набирать позицию меньше значения данного параметра. Например, если лимит указан 100, количество контрактов, выставляемых в заявке равно 30, а уже набранная позиция равна 120, то робот уменьшит количество контрактов в выставляемой заявке на продажу до 20.
Этот параметр может быть задан со знаком "минус"
Upper LimitРобот не будет набирать позицию больше значения данного параметра. Например, если лимит указан 100, количество контрактов, выставляемых в заявке равно 30, а уже набранная позиция равна 80, то робот уменьшит количество контрактов в выставляемой заявке на покупку до 20.
Этот параметр может быть задан со знаком "минус"
Bid SpreadРазмер спрэда между заявками по бидам и теоретической ценой. Если вводится с окончанием 'p'или без окончания, например 100p или 100, то спрэд задаётся в единицах цены. Если вводится с окончанием 'v', то спрэд задаётся в единицах волатильности, например 2v означает спрэд между бидом и теоретической ценой в 2 процента волатильности
Offer SpreadРазмер спрэда между заявками по офферам и теоретической ценой. Если вводится с окончанием 'p'или без окончания, например 100p или 100, то спрэд задаётся в единицах цены. Если вводится с окончанием 'v', то спрэд задаётся в единицах волатильности, например 2v означает спрэд между оффером и теоретической ценой в 2 процента волатильности
Sensitivity
Этот параметр управляет
Управляет чувствительностью робота к изменению рынка. Допустим, если мы выставили котировки в момент, когда теоретическая цена равнялась 4000, при этом чувствительность задана равной 10, то при изменении цены более чем на 10 пунктов (<3990 или>4010), робот перевыставит заявки по текущей теоретической цене. Данный параметр также можно задавать в единицах волатильности (например, 1v или 3v)
Shift per contract
Это простейший линейный параметр
Используется для корректировки мидмаркета при совершении сделок. Допустим, если параметр задан равным 5, то при совершении сделки на продажу объёмом три контракта, следующая пара заявок будет выставляться не по теоретической цене, а по теор. цена + 5*3, то есть заявки оттянутся вверх для уменьшения вероятности совершения дополнительных продаж. Данный параметр также можно задавать в единицах волатильности (например, 1v или 3v)
Curr. Pos.
Этот параметр показывает
Показывает текущую набранную позицию

Вкладка Settings

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

 Таблица 2 – Параметры настройки всех маркет-мейкеров серии

ПараметрОписание
Check price deviationУказывает на необходимость проверки отклонения теоретической цены опциона от текущего мид-маркета. В случае отклонения на величину, задаваемую параметром Deviation threshold, работа останавливается
Deviation thresholdЗадает порог отклонения теоретической цены опциона от текущего мид-маркета в процентах

Логика работы

На рисунке 3 показана форма маркетмэйкера, настроенного на котирование трёх опционов call и четырёх – put.

...

Note

Если при выставлении заявки произойдёт ошибка (нехватка средств под ГО, выпадение цены за лимиты), то робот по конкретному контракту будет остановлен, т.е. в колонке Enable флажок будет снят.

Детальное отображение

Детальное отображение маркет-мейкеров включается галочкой Details.

...

В этом режиме отображаются рассчитанные значения bid-а и offer-а, по которым маркет-мейкер будет выставлять заявки, а также мид-маркет между ними (рис. 4,1). Значения приводятся в единицах цены и единицах волатильности. Рядом показываются текущие рыночные значения по инструменту (рис. 4,2). Параметр Accumulated shift (рис. 4,3) показывает величину накопленного сдвига, то есть текущее значение позиции, умноженное на значение параметра Shift per contractВ детальном отображении также можно увидеть текущие параметры, относящиеся к связанным маркет-мейкераммейкерам  (рис. 4,4):

  • Cur. joint level – текущий уровень позиций относительно нуля;
  • Max. joint level – максимальный среди связанных маркет-мейкеров уровень позиций;
  • Cur. upper limit – текущий верхний лимит позиций для Bid, больше которого робот не набирает;
  • Cur. lower limit – текущий нижний лимит позиций для Offer, меньше которого робот не набирает.

Котирование по волатильности

Для того чтобы теоретическая цена расчитывалась по заданной пользователем волатильности, нужно перейти к настройкам модели ценообразования текущей серии, нажав на кнопку Select model в правом верхнем углу. При этом появится форма, в которой для модели Блэка-Шоулза можно задать волатильность для каждого страйка. Так на рисунке 5 показано, что для страйка 195000 вместо биржевой волатильности задана 30-я (рис. 5).

...

Подробнее о настройках моделей ценообразования.

Anchor
Стрелок
Стрелок
Режим «Стрелок»

В данном режиме робот ведет себя иначе, чем в обычном режиме. После запуска маркет-мейкера производится следующее: 

...

Note

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

Anchor
Связанный маркет-мейкер
Связанный маркет-мейкер
Режим связанных маркет-мейкеров

Начиная с версии Options Workshop OptionWorkshop 12.1, стало доступным объединение нескольких маркет-мейкеров внутри одной серии для согласованного набора позиций.

...

Рисунок 5 – работа с маркет-мейкерами 

В целом алгоритм работы связанных маркет-мейкеров выглядит следующим образом:

 

  1. Для для каждого робота высчитывается его текущий уровень позиций относительно нуля (Cur. joint level), который равен частному от деления текущей позиции Curr. pos. на количество контрактов в заявке Quantity. Знак берется в зависимости от направления торговли и знака текущей позиции:
    • для Bid-а - плюс – плюс при положительной позиции, минус при отрицательной;
    • для Offer-а - плюс – плюс при отрицательной позиции, минус при положительной.
    Например, для контракта с Quantity=5, направлением торговли Bid и Curr. pos.=20 текущий уровень позиций Cur. joint level=4.
  2. При при каждой сделке или смене количества контрактов в заявке текущий уровень позиций пересчитывается.;
  3. Для для всей группы рассчитывается максимальный уровень позиций Max. joint level.;
  4. Маркетмаркет-мейкер выставляет заявку с заданным в параметре Quantity количеством, если его текущий уровень позиций меньше максимального уровня позиций в группе или, если все маркет-мейкеры достигли одинакового уровня. При этом выполняется правило, по которому объем в заявке не должен превысить текущие лимитылимиты Lower limitUpper limit.

...

В интерфейсе отображаются текущие лимиты, больше которых робот не набирает - Cur. upper limit для Bid, и Cur. lower limit для Offer. Если при работе у одного или нескольких маркет-мейкеров возникнут ошибки, то вся группа останавливается, заявки снимаются.

...

Режим связанных маркет-мейкеров работает и для режима «Стрелок».

...