Versions Compared

Key

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

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

классический маркет-мэйкинг с

Маркет-мейкер (далее ММ) позволяет:

  • поддерживать односторонние или двусторонние котировки фьючерсов и опционов;
  • осуществлять классический маркет-мейкинг с обязательствами перед биржей по величине спрэда, объёму заявки и продолжительности котирования;
  • набор или уменьшения позиции по заданной волатильности;
  • хеджирование одного из коэффициентов чувствительности.
Для решения этих задач в Option Workshop реализован модуль Маркет-мэйкер. Данный автомат привязывается к одной стратегии,
  • набирать или закрывать позиции по заданной волатильности, с кастомизируемыми условиями совместного исполнения заявок.

ММ привязывается к одному торговому счету. Одновременно могут торговаться несколько контрактов по разным инструментам. Заявки маркет-мейкера , к одной стратегии. Заявки выставляются на определенном уровне от текущей рыночной цены. Если цена изменяется, заявки снимаются и создаются вместо них выставляются новые. Bсе совершенные сделки будут попадать в выбранную стратегию, что  Все совершенные сделки попадают в привязанную к ММ стратегию. Это позволяет локализовать позиции маркет-мэйкера, хеджировать их дельту ММ, проводить хеджирование отдельно от других позиций. ММ может работать в режиме Стрелок и в режиме связанных ММ.

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

Вызов формы Market Makers

 

 

Column
width400px
Panel
bgColor#F5F5F5
borderStyledotted

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

Table of Contents

Работа с маркет-мейкером

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

Рисунок 1 – форма работы с маркет-мэйкеромформа Market Makers

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

Image Added

Рисунок 2 – команды ММ

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

Image Added

Рисунок 3 – окно управления выбранного ММ

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

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

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

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

Info

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

Добавление контрактов

Добавить контракт можно несколькими способами:

  • Перетащить инструмент из дерева инструментов/Доски опционов в форму настройки ММ.
  • Перетащить позицию или стратегию из Менеджера позиций в форму настройки ММ.
  • Нажать кнопку Select contracts

Image Added

Рисунок 5 – окно настройки ММ

В открывшейся форме нужно из левого списка выбрать контракты (рис. 6[1]), и перенести в правую часть формы с помощью кнопки Image Added (рис. 6[2]), затем нажать кнопку ОК (рис. 6[3]). Также инструмент можно перенести, нажав дважды на его название.

Image Added

Рисунок 6 – выбор контрактов

На рисунке показана таблица с контрактами.

Image Added

Рисунок 7 – список контрактов

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

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

Для запуска маркет-мейкера нужно нажать кнопку Image Removed. Остановить работу маркет-мейкера можно с помощью кнопки Image Removed в окне настроек и управления или в форме Market Makers.

Удаление

Для удаления модуля следует /остановки ММ первоначально нужно его открыть, нажав дважды на название или выбрав команду Open, затем:

  1. вариант: нажать на название ММ правой кнопкой мыши и выбрать команду Start/Stop;
  2. вариант: нажать кнопку Image Added/Image Added (рис. 8 [1]) в окне управления ММ или в форме Market Makers. Для остановки одновременно всех ММ нужно нажать кнопку Image Added (рис. 8 [2]).

Image Added

Рисунок 8 – остановка ММ

Удаление

Удаление недоступно, пока открыто окно управления необходимго ММ (см. рис. 7). Первоначально нужно закрыть окно, затем нажать кнопку  в форме Market Makers

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

По умолчанию окно маркет мейкера не содержит записей.

Image Removed

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

Для выбора инструментов нужно нажать кнопку Select contracts, выбрать в открывшемся

В таблице появятся контракты по выбранным инструментам.

Info

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

Параметры маркет-мейкера

...

Настройка маркет-мейкера

Параметры контракта

Anchor
Настройка ММ
Настройка ММ

ММ предназначен для поддержания котировок фьючерсов, опционов. Параметры, на основе которых ММ выставляет заявки, задаются для каждого контракта отдельно (табл. 1)

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

Параметр
Описание
Name
Тип договора и символ. Цвет фона означает: красный – опцион пут, зеленый опцион колл, синий  фьючерсный контракт
Код инструмента
PriceТекущая теоретическая цена
опциона
Enable

Определяет, разрешено ли выставление заявок по

данному опциону

контракту, когда

маркет-мейкер запущен (котирование всей серии) запущенBidУсловие: выставлять ли по данному контракту бид в систему. Опция нужна для возможности выставлять односторонние котировкиAskУсловие: выставлять ли по данному контракту бид в систему. Опция нужна для возможности выставлять односторонние котировкиShooterЗадает режим "Стрелок" по данному контракту. Подробнее о режиме "Стрелок" - нижеJoinПараметр позволяет объединять маркет-мейкеры в группу для согласованного набора позиций. Подробнее в разделе Режим связанных маркет-мейкеров

ММ запущен. Также должны быть установлены переключатели Bid и/или Ask

Bid

Выставлять заявки на покупку

Ask

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

ShooterВыбор режима Стрелок
Join

Выбор режима связанных ММ

Bid Quantity

Размер заявок

бида

на покупку.

Данный параметр можно задавать как

Значение можно задать в одном из двух форматов:

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

Если размер заявки равен или меньше данного значения, заявка снимается

Lower Limit
Робот

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

данного параметра

. Например

, если лимит указан 100, количество контрактов, выставляемых в заявке равно 30, а уже набранная позиция равна 120, то робот

:

  • нижний лимит на кол-во контрактов в позиции100
  • текущая позиция = 120,
  • количество контрактов в заявке на продажу 30.

Для того чтобы позиция осталась в пределах лимита (100), ММ уменьшит количество контрактов в

выставляемой

заявке на продажу до 20

.
Этот параметр может

Upper Limit

Верхний лимит размера позиции. Обязательный параметр. Может быть задан со знаком "минус"

Upper LimitРобот

. ММ не будет набирать позицию больше заданного значения

данного параметра

. Например, если

лимит указан 100, количество контрактов, выставляемых в заявке равно 30, а уже набранная позиция равна 80

  • верхний лимит на кол-во контрактов в позиции = 100
  • текущая позиция = 80,
  • количество контрактов в заявке на покупку = 30

Для того чтобы позиция осталась в пределах лимита (100), то робот уменьшит количество контрактов в

выставляемой

заявке на покупку до 20

.

Этот параметр может быть задан со знаком "минус"
Bid Spread

Размер спрэда между заявками

по бидам

bid и теоретической ценой.

Если вводится с окончанием 'p' или без окончания, например 100p или 100, то спрэд задаётся в единицах цены.

Если вводится с окончанием 'v', то спрэд задаётся в единицах волатильности, например 2v означает спрэд между бидом и теоретической ценой в 2 процента волатильности

Параметр можно задать:

  • в единицах цены (например, 100p или 100);
  • в единицах волатильности (например, 2v);
  • в процентах (например, 10%);
  • со знаком "минус".

Параметр используется в расчете цен заявок (см. таблицу Формулы расчета)

Ask Spread

Размер спрэда между заявками

по офферам

ask и теоретической ценой.

Если вводится с окончанием 'p'или без окончания, например 100p или 100, то спрэд задаётся в единицах цены.

Если вводится с окончанием 'v', то спрэд задаётся в единицах волатильности, например 2v означает спрэд между оффером и теоретической ценой в 2 процента волатильности

SensitivityУправляет чувствительностью робота к изменению рынка. Например, если мы выставили котировки в момент, когда теоретическая цена равнялась 4000, при этом чувствительность равна 10, то при

Аналогично параметру Bid Spread может быть задан в единицах цены, волатильности, в процентах, со знаком "минус"

Параметр используется в расчете цен заявок (см. таблицу Формулы расчета)

Sensitivity

Чувствительность к изменению цены. Параметр можно задать:

  • в единицах цены (например, 100p или 100);
  • в единицах волатильности (например, 2v).

Например, если

  • котировка выставлялась по теоретической цене = 4000
  • чувствительность = 10.

При изменении цены более чем на 10 пунктов (<3990 или >4010)

робот

, ММ перевыставит заявки по текущей теоретической цене

. Данный параметр также можно задавать

Shift per contract

Корректировка миддл-маркета при совершении сделок. Параметр можно задать:

  • в единицах цены (например, 100p или 100);
  • в единицах волатильности (например,
 1v или 3v
  •  2v)
Shift per contractИспользуется для корректировки мидмаркета при совершении сделок. Допустим
  • .

Например, если параметр

задан равным 

равен 5, то при совершении сделки на продажу объёмом три контракта, следующая пара заявок будет выставляться

не

по

теоретической цене, а по теор.

цене: Теоретическая цена + 5*3

, то есть заявки оттянутся

. Заявки поднимутся вверх для уменьшения вероятности совершения дополнительных продаж

. Данный параметр также можно задавать в единицах волатильности (например, 1v или 3v)

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

Вкладка Settings

...

Tекущая набранная позиция

Параметры для всех контрактов

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

Рисунок 3 – настройки маркет-мэйкера 9 – общие параметры для всех контрактов

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

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

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

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

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

Для каждого контракта заданы свои собственные параметры, при этом для опциона колл на 170000-м страйке котирование запрещено (заявки не выставятся), а для пута на страйке 165000 разрешено выставление только бида.

Для того чтобы запустить маркет-мэйкера, нужно нажать кнопку Start, после чего для каждого контракта произойдёт следующее:

  1. текущая теоретическая цена контракта будет прибавлена к значению параметра Offer Askd. Если разрешено выставление заявок Ask – выставит заявку с получившейся ценой и объёмом Quantity;
  2. от теоретической цены будет вычтено значение параметра Bid Spread. Если разрешено выставление заявок Bid – выставится заявка с получившейся ценой и объёмом Quantity;
  3. автомат зафиксирует значение теоретической цены, относительно которой были выставлены заявки;
  4. перейдёт в состояние слежения за изменением теоретической цены. Как только разница между текущей теоретической ценой и сохранённым значением превысит параметр Sensitivity, заявки будут сняты;
  5. автомат повторит выставление заявок. 

Возможно задавать отрицательные спреды. В этом случае соответствующие цены будут отсчитываться в обратную сторону от теоретической цены.

 

Info

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

 

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

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

Image Removed

Рисунок 5 – детальное отображение

...

для подтверждения запуска ММ

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

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

Image Added

Рисунок 10 – детальное отображение

Info

Развернуть/свернуть поле у всех контрактов можно с помощью кнопок Image Added/Image Added в верхнем правом углу таблицы.

В дополнительном поле отображаются:

  1. цена заявок bid и ask, миддл-маркет. Значения приводятся в единицах цены и единицах волатильности

...

  1. ; 

...

  1. рыночные

...

  1. данные по инструменту

...

  1. ;
  2. параметр Accumulated shift показывает величину накопленного сдвига позиции (текущее значение позиции, умноженное на значение параметра Shift per contract

...

  1. );
  2. текущие параметры, относящиеся к связанным

...

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

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

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

Image Removed

Рисунок 5 – котирование по волатильности 

Чтобы вернуть биржевую волатильность, нужно ввести значение 0 и нажать Enter.

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

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

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

  1. робот берет текущую теоретическую цену контракта;
  2. прибавляет к ней значение параметра Offer Spread. Если полученное значение не превышает текущую цену лучшего бида, то робот выставляет оффер с текущей ценой лучшего бида. Объем оффера рассчитывается как наименьшее из текущего объема лучшего бида и значения параметра Quantity;
  3. робот отнимает от текущей теоретической цены значение параметра Bid Spread. Если текущая цена лучшего оффера не превышает полученное значение, то робот выставляет бид с текущей ценой лучшего оффера. Объем бида рассчитывается как наименьшее из текущего объема лучшего оффреа и значения параметра Quantity
  4. робот следит за статусами выставленных заявок. Если выставленная заявка не была исполнена немедленно, то робот отменяет заявку.
  5. процесс повторяется по мере изменения ситуации на рынке.

Возможно задавать отрицательные спреды. В этом случае соответствующие цены будут отсчитываться в обратную сторону от теоретической цены.

...

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

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

На рисунке 11 показана форма ММ, содержащая два опциона call и три – put. Для каждого контракта заданы параметры.

Image Added

Рисунок 11 – настроенная форма ММ

После запуска по каждому контракту будет выполнено следующее:

  1. ММ рассчитает цену заявки ask (табл. 3). Если не превышены лимиты и разрешено выставление заявок аsk, ММ выставит заявку с рассчитанной ценой и объёмом AskQuantity;

    Anchor
    Формулы расчета заявок
    Формулы расчета заявок
    Таблица 3 – Формулы расчета

    Единицы измерения
    Spread
    AskBidОписание параметров
    Цена

    Pask = T + AskSpread + Curr.pos * Shift per сontract

    Pbid = T - BidSpread + Curr.Pos * Shift per сontract

    • T – теоретическая цена;
    • Ask/BidSpread – спрэд в единицах цены (с учетом знака +/-);
    • Curr. Pos – позиция
      (с учетом знака +/-);
    • Shift per сontract – корректировка миддл-маркета
    ВолатильностьPask/bid = Pteor + Curr.pos * Shift per сontract
     
    • Pteor – теоретическая цена с учетом сдвига волатильности Ask/BidSpread
      (с учетом знака +/-);
    • Curr. Pos – позиция
      (с учетом знака +/-);
    • Shift per сontract – корректировка миддл-маркета
    Проценты

    Pask = T+ AskSpread*T/100% + Curr.pos * Shift per сontract

     

    Pbid = T - BidSpread*T/100% + Curr.pos * Shift per сontract

    •  Т – теоретическая цена;
    • Ask/BidSpread – спрэд в %
      (с учетом знака +/-)
    • Curr. Pos – позиция
      (с учетом знака +/-);
    • Shift per сontract – корректировка миддл-маркета
  2. рассчитает цену заявки bid (см. табл.3). Если не превышены лимиты и разрешено выставление заявок bid, ММ выставит заявку с рассчитанной ценой и объёмом BidQuantity;

  3. ММ запомнит значение теоретической цены, относительно которой были выставлены заявки, и перейдёт в состояние ожидания;
  4. заявки будут сняты, если:
    1. разница между текущей теоретической ценой и сохранённым значением превысит параметр Sensitivity;
    2. заявка исполнится частично и ее размер станет ≤ Replace at Quantity;
  5. ММ выставит новые заявки.
Info

Если при выставлении заявки произойдёт ошибка (например, недостаточность средств на счете), то ММ по конкретному контракту будет остановлен. В колонке Enable переключатель будет снят.

ММ может работать в режиме:

  • Стрелок (переключатель Shooter);
  • связанных ММ (переключатель Join).

Режим Стрелок

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

В данном режиме изменяется принцип размещения заявок. Порядок расчета цен заявок аналогичен основному режиму работы ММ. Для применения режима следует установить переключатель Shooter. После запуска: 

  1. ММ рассчитает цену заявок ask и bid (см. первый и второй пункт в разделе Логика работы);
  2. если Pask ≤ Best bid, будет выставлена заявка ask. 
    Объем заявки рассчитывается как наименьшее из текущего объема Best bid и значения параметра AskQuantity;
  3. если Pbid ≥ Best ask, будет выставлена заявка bid. 
    Объем заявки рассчитывается как наименьшее из текущего объема Best ask и значения параметра BidQuantity;
  4. заявка снимается, если не будет исполнена сразу после выставления;
  5. ММ выставит новые заявки, если выполнятся условия 2 и/или 3.
Info

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

...

.

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

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

...

Anchor
Связанные ММ
Связанные ММ

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

...

контрактов.

Tip

Например, необходимо купить стрэддл

...

в объёме 100

...

put  и 100

...

 call. В

...

настоящий момент в стакане таких

...

заявок нет. Необходимо набирать позицию

...

частями.

...

Для этого следует:

  • объединить контракты put и call в группу;
  • установить верхний лимит Upper limit=100

...

  • ;
  • установить количество контрактов в заявке

...

  • Quantity=5

...

При исполнении заявки полностью по одному контракту ММ прекратит выставление новых заявок до тех пор, пока не исполнится такой же объём по второму контракту.

Включить

...

контракт в группу

...

можно при помощи

...

переключателя Join.

Image RemovedImage Added

Рисунок

...

12 – работа с

...

ММ

Порядок работы связанных ММ следующий:

  1. для каждого

...

  1. контракта высчитывается значение Cur. joint level – текущий уровень позиций относительно нуля

...

  1. .  

    Panel

    Li = Curr. Pos/Quantity, где:

    • Curr. Pos – текущая позиция (с учетом знака +/-);
    • Quantity размер заявок bid или ask.


    Знак зависит от направления торговли и знака

...

  • для Bid-а – плюс при положительной позиции, минус при отрицательной;
  • для Offer-а – плюс при отрицательной позиции, минус при положительной.

...

  1. позиции (табл. 4).
    Таблица 4 – Знак параметра Cur. joint level

     BidAsk
    Current position ≥ 0+-
    Current position < 0-+
    Tip

    Например, если Quantity=5, Curr. pos.=20

...

  1. , направление торговли Bid, то Cur. joint level=4.

...

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

  2. для всей группы рассчитывается максимальный уровень позиций Max. joint level;

...

  1. Panel

    Lmax = max(Li)

  2. ММ выставляет заявку Bid/Ask со значением Quantity, при условии:
    1.  текущий уровень позиций (Current joint level) меньше максимального уровня позиций в группе

...

    1. (Max joint level);
    2.  все ММ достигли одинакового уровня (Current joint level). 
    При этом учитываются лимиты Lower limitUpper limit.

В интерфейсе отображаются текущие лимиты, больше которых

...

ММ не набирает

...

– Cur. upper limit для

...

заявок bid, и Cur. lower limit для

...

заявок askЕсли при работе у одного или нескольких

...

ММ возникнут ошибки, то вся группа останавливается, заявки снимаются.

Режим связанных

...

ММ может работать совместно с режимом Стрелок.

Настройка волатильности

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

Модель ценобразования можно установить для каждой серии опционов. В выпадающем списке представлены серии, контракты из которых добавлены в маркет-мейкер. Для выбора модели следует нажать Pricing model. Описание настроек представлено в разделе Настройка моделей ценообразования. При нажатии ссылки Option desk откроется доска опционов данной серии в отдельном окне.

Image Added

Рисунок 13 – выбор модели ценобразования

Подробное описание представлено в разделе Модель ценообразования.

Настройка расписания

Инструкция о том, как настроить работу ММ по расписанию, представлена в разделе Настройка расписания работы дельта-хеджера и маркет-мейкера.

Настройка вида таблицы

Для настройки таблицы используются кнопки на верхней панели:

  • Image Added/Image Added – развернуть/свернуть все поля с дополнительными параметрами;
  • Image Added – равномерное выравнивание ширины столбцов по размеру окна;
  • Image Added – сброс настроек таблицы;
  • Image Added – выбор колонок. При нажатии на кнопку откроется форма, в которой можно установить/снять флажок напротив названия столбца. Для изменения порядка колонок следует нажать на название колонки и перетащить ее.