Versions Compared

Key

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

В Option Workshop реализован модуль Маркет-мейкер (далее ММ) , который позволяет решать такие задачи, как:

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

ММ привязывается к одному торговому счету, к одной стратегии. Одновременно могут создаваться заявки по:

  • опционам call, put;
  • фьючерсам;
  • акциям.

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

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

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

 

 

Column
width400px
Panel
bgColor#F5F5F5
borderStyledotted

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

Table of Contents

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

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

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

Рисунок 1 – форма Market Makers

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

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

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

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

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

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

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

...

Info

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

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

...

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

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

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

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

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

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

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

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

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

Info

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

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

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

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

Image Added

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

Удаление

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

...

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

...

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

...

 (табл. 1)

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

Параметр
Описание
NameКод инструмента
PriceТекущая теоретическая цена
Enable

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

Bid

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

продажу (одностороннее котирование)

покупку

Ask

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

покупку (одностороннее котирование)

продажу

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

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

Bid Quantity

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

продажу

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

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

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

с торгов

Lower Limit

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

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

Для того чтобы позиция осталась

равна лимиту

в пределах лимита (100), ММ уменьшит количество контрактов в заявке на продажу до 20

.

Upper Limit

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

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

Для того чтобы позиция осталась

равна лимиту

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

.

Bid Spread

Размер спрэда между заявками bid и теоретической ценой. Параметр

может быть задан

можно задать:

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

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

Ask Spread

Размер спрэда между заявками ask и теоретической ценой.

Параметр

Аналогично параметру Bid Spread может быть задан

:

в единицах цены

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

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

    Sensitivity

    Чувствительность к изменению цены.

    Может быть задана

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

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

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

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

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

    Shift per contract

    Корректировка миддл-маркета при совершении сделок.

    Может быть задана

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

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

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

    (warning) Рекомендации:

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

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

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

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

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

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

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

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

    Image Modified

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

    Info

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

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

    1. цена заявок bid и ask, по которым маркет-мейкер будет выставлять заявки, а также миддл-маркет. Значения приводятся в единицах цены и единицах волатильности; 
    2. рыночные значения данные по инструменту;
    3. параметр Accumulated shift показывает величину накопленного сдвига позиции (текущее значение позиции, умноженное на значение параметра Shift per contract).;
    4. текущие параметры, относящиеся к связанным маркет-мейкерамММ:
      • Cur. joint level – уровень позиций относительно нуля;
      • Max. joint level – максимальный уровень позиций;
      • Cur. upper limit – верхний лимит позиций для bid, больше которого ММ не набирает;
      • Cur. lower limit – нижний лимит позиций для ask, меньше которого ММ не набирает.

    ...

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

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

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

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

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

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

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

      Pask = T

      + AskdSpread

      + AskSpread + Curr.pos * Shift per сontract

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

      , где:AskdSpread – размер спрэда между заявками ask и теоретической ценой

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

      от теоретической цены будет вычтено значение параметра BidSpread. Если не превышены лимиты и разрешено выставление заявок bid, ММ выставит заявку с рассчитанной ценой и объёмом BidQuantity;

      Panel

      Pbid = T - BidSpread + Curr. Pos * Shift per сontract, где:

      BidSpread – размер спрэда между заявками bid и теоретической ценой;
      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
      , заявки будут сняты;
    5. повторит выставление.

    ...

      1. ;
      2. заявка исполнится частично и ее размер станет ≤ Replace at Quantity;
    1. ММ выставит новые заявки.
    Info

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

    Работа ММ может производится работать в режиме:

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

    ...

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

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

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

    ...

    1. ;
    2. ММ выставит новые заявки, если выполнятся условия 2 и/или 3.
    Info

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

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

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

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

    Tip

    Например, необходимо купить стрэддл в объёме 100  путов put  и 100 колов call. В настоящий момент в стакане таких заявок нет. Следует . Необходимо набирать позицию частями. Для этого следует:

    • объединить контракты put и call в группу
    и задать параметры:
    • ;
    • установить верхний лимит (Upper limit=100);
    • установить количество контрактов в заявке (Quantity=5)

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

    Включить контракт в группу можно при помощи переключателя Join.

    Рисунок 10 12 – работа с ММ

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

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

      Panel

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

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


      Знак зависит от направления торговли и знака позиции (табл. 34).
      Таблица 3 – знак 4 – Знак параметра Cur. joint level

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

      Например, если Quantity=5, Curr. pos.=20, направление торговли Bid, то Cur. joint level=4.

      при

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

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

      Panel

      Lmax = max(Li)

    3. ММ выставляет заявку со значением  Bid/Ask со значением Quantity, при условии:
      1.  текущий уровень позиций (Current joint level) меньше максимального уровня позиций в группе (Max joint level);
      2.  все ММ достигли одинакового уровня (Current joint level). 
      При этом учитываются лимиты Lower limitUpper limit.

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

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

    ...

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

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

    Image Removed

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

    Чтобы вернуть биржевую волатильность, нужно ввести значение 0 и нажать Enter (подробнее о настройках моделей ценообразования)интересующей серии.

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

    Image Added

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

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

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

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

    ...