Versions Compared

Key

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

...

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

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

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

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

...

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

...

Параметр
Описание
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.Показывает текущую набранную позициюTекущая набранная позиция

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

...

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

...

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

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

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

    Таблица 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 = Pteor + Curr.pos * Shiftperсontract
     
    • Pteor – теоретическая цена с учетом сдвига волатильности Ask/BidSpread
      (с учетом знака +/-);
    • Curr. Pos – позиция (с учетом знака +/-);
    • Shift per сontract – корректировка миддл-маркета
    Проценты

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

     

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

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

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

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

...

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

Tip

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

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

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

...

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

    Panel

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

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


    Знак зависит от направления торговли и знака позиции (табл. 4).
    Таблица 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.

...