В Option Workshop реализован модуль Маркет-мейкер (далее ММ), который позволяет решать такие задачи, как:
ММ привязывается к одному торговому счету, к одной стратегии. Заявки выставляются на определенном уровне от текущей рыночной цены. Если цена изменяется, заявки снимаются и создаются новые. Все совершенные сделки будут попадать в привязанную к ММ стратегию. Это позволяет локализовать позиции ММ, проводить хеджирование отдельно от других позиций.
Содержание страницы:
Форма 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, затем:
Рисунок 8 – остановка ММ
Удаление недоступно, пока открыто окно управления необходимо ММ (см. рис. 7). Первоначально нужно закрыть окно настроек, затем нажать кнопку в форме Market Makers.
ММ предназначен для поддержания котировок акций, фьючерсов, опционов разных серий. Параметры, на основе которых ММ выставляет заявки, задаются для каждого контракта отдельно (табл. 1).
Таблица 1 – Параметры контракта
Параметр | Описание |
---|---|
Name | Код инструмента |
Price | Текущая теоретическая цена |
Enable | Определяет, разрешено ли выставление заявок по контракту, когда ММ запущен. Также должны быть установлены переключатели Bid и/или Ask |
Bid | Выставлять заявки на продажу (односторонние котировки) |
Ask | Выставлять заявки на покупку (односторонние котировки) |
Shooter | Выбор режима Стрелок |
Join | Выбор режима связанных ММ |
Bid Quantity | Размер заявок на продажу. Значение можно задать в одном из двух форматов:
|
Ask Quantity | Размер заявок на покупку. Аналогичен параметру Bid Quantity |
Replace at Quantity | Если размер заявки равен или меньше данного значения, заявка снимается с торгов |
Lower Limit | Нижний лимит размера позиции. Обязательный параметр. Может быть задан со знаком "минус". ММ не будет набирать позицию меньше указанного значения. Например:
Для того чтобы позиция осталась равна лимиту (100), ММ уменьшит количество контрактов в заявке на продажу до 20. |
Upper Limit | Верхний лимит размера позиции. Обязательный параметр. Может быть задан со знаком "минус". ММ не будет набирать позицию больше заданного значения. Например, если
Для того чтобы позиция осталась равна лимиту (100), то робот уменьшит количество контрактов в заявке на покупку до 20. |
Bid Spread | Размер спрэда между заявками bid и теоретической ценой. Параметр может быть задан:
|
Ask Spread | Размер спрэда между заявками ask и теоретической ценой. Параметр может быть задан:
|
Sensitivity | Чувствительность к изменению цены. Может быть задана в единицах цены или волатильности. Например, если
то при изменении цены более чем на 10 пунктов (<3990 или >4010), ММ перевыставит заявки по текущей теоретической цене |
Shift per contract | Корректировка миддл-маркета при совершении сделок. Может быть задана в единицах цены или волатильности. Например, если параметр равен 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 – детальное отображение
В дополнительном поле отображаются:
На рисунке 11 показана форма ММ, содержащая два опциона call и три – put.
Рисунок 11 – настроенная форма ММ
Для каждого контракта заданы свои собственные параметры. После запуска ММ произойдёт следующее:
к текущей теоретической цене контракта будет прибавлено значение AskSpread. Если не превышены лимиты и разрешено выставление заявок аsk, ММ выставит заявку с рассчитанной ценой и объёмом AskQuantity;
Pask = T + AskdSpread + Curr. Pos * Shift per сontract, где:
от теоретической цены будет вычтено значение параметра BidSpread. Если не превышены лимиты и разрешено выставление заявок bid, ММ выставит заявку с рассчитанной ценой и объёмом BidQuantity;
Pbid = T - BidSpread + Curr. Pos * Shift per сontract, где:
Если заданы отрицательные спрэды, все цены будут отсчитываться в обратном направлении от теоретической цены.
Если при выставлении заявки произойдёт ошибка (например, отсутствие средств на торговом счете), то ММ по конкретному контракту будет остановлен. В колонке Enable переключатель будет снят.
Работа ММ может производится в режиме:
Для применения режима следует установить переключатель Shooter. После запуска:
Возможно задавать отрицательные спрэды. В этом случае соответствующие цены будут отсчитываться в обратном направлении от теоретической цены.
Если одновременно необходимо задать оба спрэда по цене/волатильности, то их сумма обязательно должна быть положительна.
Задание одного из спрэдов по цене, а другого по волатильности не рекомендуется.
Позиции по контрактам, объединенным в одну группу, будут набираться постепенно, в зависимости от размера позиций других контрактов в группе.
Например, необходимо купить стрэддл в объёме 100 путов и 100 колов. В настоящий момент в стакане таких заявок нет. Следует объединить контракты в группу и задать параметры:
При исполнении заявки по одному контракту, ММ прекратит выставление новых заявок до тех пор, пока не исполнится такой же объём по второму контракту.
Включить контракт в группу можно при помощи переключателя Join.
Рисунок 12 – работа с ММ
Порядок работы связанных ММ следующий:
для каждого контракта высчитывается значение Cur. joint level – текущий уровень позиций относительно нуля.
Li = Quantity / Curr. Pos, где:
Знак зависит от направления торговли и знака позиции (табл. 3).
Таблица 3 – Знак параметра Cur. joint level
Bid | Ask | |
---|---|---|
Current position ≥ 0 | + | - |
Current position < 0 | - | + |
Например, если Quantity=5, Curr. pos.=20, направление торговли Bid, то Cur. joint level=4.
для всей группы рассчитывается максимальный уровень позиций Max. joint level;
Lmax = max(Li)
В интерфейсе отображаются текущие лимиты, больше которых ММ не набирает – Cur. upper limit для заявок bid, и Cur. lower limit для заявок ask. Если при работе у одного или нескольких ММ возникнут ошибки, то вся группа останавливается, заявки снимаются.
Режим связанных ММ работает и для режима Стрелок.
Для того чтобы теоретическая цена рассчитывалась по заданной пользователем волатильности, нужно перейти к настройкам модели ценообразования текущей серии, нажав на кнопку Select model в правом верхнем углу. При этом появится форма, в которой можно задать волатильность для каждого страйка (рис. 13).
Рисунок 13 – задание по волатильности
Чтобы вернуть биржевую волатильность, нужно ввести значение 0 и нажать Enter (подробнее о настройках моделей ценообразования).
Инструкция о том, как настроить работу ММ по расписанию, представлена в разделе Настройка расписания работы дельта-хеджера и маркет-мейкера.
Для настройки таблицы используются кнопки на верхней панели: