Versions Compared

Key

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

Задача поддержания дву- или односторонних котировок по опционам может возникнуть при реализации разных стратегий:

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

Для решения этих задач в Option Workshop реализован модуль Маркет-мэйкер (далее ММ). Данный автомат привязывается к одному торговому счету, к одной стратегии. Таким образом сделки будут попадать в выбранную стратегию, что позволяет локализовать позиции маркет-мэйкераММ, хеджировать их дельту отдельно от других позиций. Что тут имелось в виду?

Одновременно могут котироваться несколько контрактов по разным инструментам. Заявки маркет-мейкера ММ выставляются на определенном уровне от текущей рыночной цены. Если цена изменяется, заявки снимаются и создаются новые. 

Column
width400px
Panel
bgColor#F5F5F5
borderStyledotted

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

Table of Contents

Основные операции с маркет-мейкером

Форма Market Makers открывается нажатием кнопки  на тулбаре (рис. 1).

Рисунок 1 – форма Маркет-мэйкер

При нажатии правой кнопкой откроется меню с командами (рис. 2).

Рисунок 2 – форма Маркет-мэйкерформа Market Makers

Чтобы настроить или запустить маркет-мейкерММ, необходимо его активировать, нажав дважды на автомат или название или выбрав команду Open. В результате откроется окно настроек и управления выбранного маркет-мейкераММ

Рисунок 3 – окно настроек

Создание маркет-мейкера

Создать маркет-мэйкер ММ можно по схеме, представленной ниже.

...

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

Info

Если стратегия с указанным именем не существует, она будет создана.

Выбор контрактов

По умолчанию окно маркет мейкера настройки ММ не содержит записей. Для выбора контрактов нужно нажать кнопку Select contracts

...

Красным выделены опциона PUT, зеленым – CALL, синим – фьючерсы и акции. Перед запуском маркет-мейкераММ, следует задать параметры котирования (см. раздел Настройка маркет-мейкера).

Info

Котировать сразу все контракты не рекомендуется. Таблица будет перегруженной и неудобной для навигации. Рекомендуется создать несколько маркет-мейкеровММ.

Запуск и остановка

Способы запуска/остановки маркет-мейкера:

  1. нажать на название правой кнопкой мыши и выбрать команду Start/Stop;
  2. нажать кнопку / в окне настроек и управления или в форме Market Makers.

Удаление

Для удаления модуля ММ следует нажать кнопку  в форме Market Makers

...

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

 

Параметр
Описание
NameКод инструмента
PriceТекущая теоретическая цена (теоретическая цена формируется только для опционов?)
Enable

Определяет, разрешено ли выставление заявок по данному опциону, когда робот (котирование всей серии. А разве мы всю серию котируем, или только этот контракт из серии) запущен

Если флажки Bid и Ask не установлены, заявки не будут выставляться

Bid

Выставлять заявки на продажу (одностороннее котирование)

Ask

Выставлять заявки на покупку (одностороннее котирование)

ShooterВыбор режима Стрелок (кратко, о чем он? суть режима.)
Join

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

Параметр позволяет объединять маркет-мейкеры в группу для согласованного набора позиций 

Bid Quantity

Размер заявок на продажу. Параметр можно задать:

  • в контрактах (например, 1 или 5);
  • в суммарной дельте (например, 1d или 2.5d). Маркет-мейкер подберёт минимальное количество контрактов, у которого суммарная дельта (по модулю) будет больше или равна указанному значению
Ask QuantityРазмер заявок на покупку. Аналогично предыдущему параметру принимает значения как в контрактах, так и в дельте
Про суммарное значение дельты тоже самое? 
Replace at QuantityКоличество контрактов в заявке, при котором она снимается с торгов
Lower Limit

Нижний лимит размера позиции. Может быть задан со знаком "минус". Маркет-мейкер ММ не будет набирать позицию меньше значения данного параметра. Например, если:

  • лимит = 100
  • количество контрактов в заявке 30,
  • набранная позиция = 120,

то робот уменьшит количество контрактов в заявке на продажу до 20.

Upper Limit

Нижний лимит размера позиции. Может быть задан со знаком "минус". Маркет-мейкер ММ не будет набирать позицию больше значения данного параметра. Например, если:

  • лимит = 100
  • количество контрактов в заявке = 30
  • набранная позиция = 80

то робот уменьшит количество контрактов в заявке на покупку до 20.

Bid Spread

Размер спрэда между заявками по бидам и теоретической ценой. Параметр может быть задан в единицах цены (например, 100p или 100) или в единицах волатильности (например, 2v)

Параметр может быть задан со знаком "минус"

Ask Spread

Размер спрэда между заявками ask и теоретической ценой. Параметр может быть задан в единицах цены (например, 100p или 100) или в единицах волатильности (например, 2v)

Параметр может быть задан со знаком "минус"

SensitivityЧувствительность к изменению цены. Например, если котировка выставлялась при теоретической цене  4000, чувствительность – 10. При изменении цены более чем на 10 пунктов (<3990 или>4010) маркет-мейкер ММ перевыставит заявки по текущей теоретической цене. Данный параметр также можно задавать в единицах волатильности (например, 1v или 3v)
Shift per contract

Корректировки

мидмаркета

мидл-маркета при совершении сделок. Например, если параметр равен 5, то при совершении сделки на продажу объёмом три контракта, следующая пара заявок будет выставляться не по теоретической цене, а по теор. цена + 5*3. Заявки оттянутся вверх для уменьшения вероятности совершения дополнительных продаж. Данный параметр также можно задавать в единицах волатильности (например, 1v или 3v)

Curr. Pos.Показывает текущую набранную позицию

...

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

Рисунок 8 – настройки маркет-мэйкераММ

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

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

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

На рисунке 6 показана форма маркет-мэйкераММ, настроенного на котирование двух опционов call и трех – put.

...

Котирование контракта может производится в дувух режимах:

  • режим Стрелок;
  • связанных маркет-мейкеров ММ – объединение контрактов в группу для согласованного набора позиций.

...

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

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

  1. для каждого робота высчитывается его текущий уровень позиций относительно нуля (Cur. joint level), который равен частному от деления текущей позиции Curr. pos. на количество контрактов в заявке Quantity. Знак берется в зависимости от направления торговли и знака текущей позиции:
    • для Bid – плюс при положительной позиции, минус при отрицательной;
    • для Ask – плюс при отрицательной позиции, минус при положительной.
    Например, для контракта с 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. Если при работе у одного или нескольких маркет-мейкеров возникнут ошибки, то вся группа останавливается, заявки снимаются.

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

Просмотра дополнительных параметров контракта

...