You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 54 Next »

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

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

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

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

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

 

 

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

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

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

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

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

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

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

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

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

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

Рисунок 4 – схема создания ММ

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

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

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

Добавить контракт можно перетащив инструмент из дерева инструментов в правую часть формы.

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

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

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

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

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

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

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

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

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

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

Удаление

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

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

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

ММ предназначен для поддержания котировок фьючерсов, опционов. Параметры, на основе которых ММ выставляет заявки, задаются для каждого контракта отдельно (табл. 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);
  • в процентах;
  • со знаком "минус"
Ask Spread

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

Sensitivity

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

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

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

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

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

Shift per contract

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

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

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

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

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

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

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

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

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

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

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

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

Развернуть/свернуть поле у всех контрактов можно с помощью кнопок /.

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

  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, меньше которого ММ не набирает.

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

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

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

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

 

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

Таблица 3 – Формулы расчета

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

Pask = T + AskSpread + Curr.pos * Shiftperсontract

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

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

Pask = T + AskSpread * T/100%

 

Pbid = T - BidSpread * T/100%

  •  Т – теоретическая цена;
  • Ask/BidSpread – спрэд в единицах цены
    (с учетом знака +/-)

 

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

    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. Если при работе у одного или нескольких ММ возникнут ошибки, то вся группа останавливается, заявки снимаются.

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

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

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

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

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

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

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

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