Tagged: видеоуроки

Фильтрация счетов

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

Запись вебинара по Online Option Workshop

Часовая запись вебинара в Школе Московской Биржи о нашем онлайн сервисе для анализа опционов. Стоит посмотреть хотя бы первые 15 минут, чтобы понять идеологию интерфейса.

Работа с позициями в Option Workshop

При просмотре видео рекомендуем включать режимы HD и fullscreen.


Работа с позициями в Option Workshop

Текст ролика

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

Рассмотрим опционный портфель, содержащий три опциона пут и два опциона колл на одном страйке. Возможно, именно такая самостоятельная стратегия и открывалась трэйдером — стрэддл, с небольшим перевесом на левую ногу. Но что если на самом деле этот портфель является нетто позицией двух самостоятельных стратегий — полностью симметричного стрэддла и одного пута, купленного с целью хеджирования позиции в базовом активе. В этом случае трэйдеру будет трудно отслеживать финансовый результат по каждой из стратегий. Очевидно, что такой портфель было бы удобнее виртуально разделить на два соответствующих суб-портфеля и работать с ними независимо. В Option Workshop сделать такое разбиение очень просто. Посмотрим, как.

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

По умолчанию для любого базового актива создаётся три стратегии — default, actual и total. В стратегию default попадают все позиции, приходящие из источника данных при первом подключении. В процессе работы в эту стратегию также будут попадать позиции, для которых не указана явно стратегия. Этот момент станет понятнее далее.

Стратегия actual является точной репликой позиций в источнике данных. Позиции в этой стратегии нельзя редактировать, удалять или добавлять новые. Это индикативная стратегия.

Стратегия total вычисляет нетто позицию по каждому инструменту во всех стратегиях, кроме actual. Эта стратегия также индикативная, её нельзя редактировать.

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

Итак, в стратегиях default и actual мы видим реализацию рассмотренного выше примера — три купленных пута и два купленных кола. Попробуем разбить этот портфель на два суб-портфеля, из которых он на самом деле состоит. Создадим две дополнительные стратегии с названиями hedging put и straddle.

Теперь, перенесем один опцион пут в стратегию hedging put. Для этого просто перетащим нужную строку из таблицы позиций и отпустим её над названием стратегии, в которую хотим переместить часть позиции. Появляется форма создания новой сделки. Мы создаём именно сделку, так как за любой позицией всегда стоит серия сделок. Это будет обсуждаться чуть позже. Вводим количество контрактов в сделке и при необходимости редактируем цену. Нажимаем Ок. Откроем стратегию hedging put. Видно, что здесь появилась позиция по опциону пут размером в один контракт. В свою очередь в стретегии default количество контрактов в соответствующей позиции уменьшилось — мы видим только два купленных пута.

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

Итак, в стратегии default у нас не осталось позиций, однако есть две осмысленные стратегии, которые мы можем анализировать и вести отдельно, не боясь смешать их с другими позициями и потерять актуальность расчётов финансового результата.

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

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

Создать новую позицию возможно двумя способами. Если нажать на кнопку «Add new positions», то появится форма добавления новой позиции. Параметры позиции, которые нужно задать в ней очевидны. Создадим произвольную позицию. Второй способ добавления позиции несколько проще. Нам нужно лишь перетащить из доски опционов в таблицу позиций нужный инструмент. Также появится форма добавления новой позиции, но уже частично предзаполненная. Чтобы добавить позицию по фьючерсу, можно перетащить тикер контракта, который расположен над доской опционов.

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

Создадим две виртаульные стратегии, качественно одинаковые, но построенные на разных страйках.

Во второй стратегии мы ошибочно добавили лишнюю позицию. Удалим её, нажав кнопку удаления позиции в соответствующей строке.

Если зажать клавишу Ctrl то в списке стратегий можно выбрать одновеременно несколько стратегий. Выберем обе созданные нами виртуальные стратегии. В таблице позиций мы видим информацию о позициях обоих стратегий и две суммарные строки.

Чтобы построить графики стратегии нажмём кнопку Chart. Появляется форма с графиками параметров стратегии.    Подробно графический анализ позиций мы рассмотрим в отдельном видео.

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

Если мы обратимся к стандартной таблице позиций на рынке ФОРТС, которую предоставляет любой торговый терминал, то мы увидим две колонки — входящую и текущую позиции. Под входящей понимается позиция, которая была на начало текущей торговой сессии. В терминах рынка фортс, имеется ввиду начало вечерней сессии, так как по сути она является началом сессии следующего дня. Текущая позиция — это актуальная позиция в настоящий момент времени.

Когда мы подключаем Option Workshop к источнику данных в первый раз, в него сначала выгружаются позиции. Программа использует значение входящей позиции и создаёт новую позицию в соответствующей стратегии default. Затем, из источника данных в Option Workshop приходят сделки, совершённые в текущей сессии. Эти сделки программа прибавляет к уже созданным ранее позициям. В результате количество контрактов в позиции в стратегии default становится равным значению текущей позии в источнике данных. Далее, если в процессе работы происходят новые сделки, они также попадают из источника данных в OW и также прибавляются к позициям, поддерживая их таким образом в актуальном состоянии.

Возникает вопрос, почему нельзя просто использовать значение текущей позиции, не вычисляя его самостоятельно? Дело в том, что использование сделок для обновления позиций даёт нам возможность указывать в комментариях к заявкам название стратегии, к которой они относится. Благодаря этому комментарию, получив из источника данных очередную сделку, мы можем определить, в какой стратегии нам следует обновить позицию по данному инструменту. Это позволяет автоматизировать процесс обновления позиций в разных стратегиях. В частности такой подход используется для изолирования сделок маркет-мэкера и дельта-хеджера в отдельных стратегиях.

Ещё один вопрос, это история сделок. Option Workshop хранит все сделки, попавшие в него. Сделки могут быть реальными, совершёнными на рынке, а могут быть виртуальными, которые добавляются к позиции, когда мы редактируем её.

Историю сделок можно посмотреть в менеджере сделок. Его форма вызывается нажатием на кнопку Fills Manager в тулбаре. Сделки можно отобрать в соответствии с набором фильтров. Отфильтровать можно по номеру счёта, стратегии, периоду времени и набору инструментов. Настраиваем фильтры. Нажимаем кнопку «Filter». В таблице справа появляется список всех сделок, относящихся в выбранной нами стратегии. Суммарное количество контрактов в этих сделках равно значению Quantity в таблице позиций в строках соответствующих инструментов. Значение Price позиции равно средней цене этих сделок.

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

Изменим в стратегии в одной из позиций количество. Отфильтруем сделки заново. Видно, что в таблице появилась ещё одна сделка и она помечена как виртуальная. Это означает, что сделка создана вручную, а не получена из торговой системы. Так как изменяется лишь количество, то можно обойтись одной сделкой.

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

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

Интеграция QUIK и Option Workshop

При просмотре видео рекомендуем включать режимы HD и fullscreen.


Интеграция QUIK и Option Workshop

Текст ролика

В качестве источника данных Option Workshop может использовать широко распространённый терминал QUIK. В этом ролике демонстрируется процесс настройки этих программ для совместной работы.

Основные настройки необходимо сделать в QUIK, а в Option Workshop лишь указать путь к квику.

Для того, чтобы корректно обрабатывать сделки и вести нетто-позицию, Option Workshop нуждается в информации о структуре торговой сессии. Программе нужно знать, когда сессия начинается, когда заканчивается и в каком интервале проводится промежуточный клиринг. Для экспорта такой информации нами был создан скрипт на языке qpile, формирующий соответствующую таблицу.

Чтобы загрузить этот портфель в QUIK, обратимся к меню Таблицы-Портфели-Задать портфель. В появившемся диалоге перейдём в дерикторию, куда был установлен Option Workshop и выберем один из файлов с расширением qpl. Файл с префиксом RTS содержит настройки для рынка ФОРТС, а файл с префиксом UX — настройкам для украинского рынка производных. После выбора файла QUIK показывает модальный диалог «Работа с портфелем». В нём нам нужно нажать кнопку «Загрузить локально», а затем — «Выход».

Теперь нужно настроить частоту обновления этого портфеля. Выбираем пункт меню Таблицы-Портфели-Доступные портфели. Выбираем портфель SessionInfo в списке портфелей и задаём параметр «Период расчета» равным одной секунде. Нажимаем кнопку «Применить».

Теперь, нам нужно загрузить в квик набор таблиц, необходимый для экспорта из него данных в Option Workshop. Сначала укажем квику, что загружаемые из файла настроек таблицы нужно добавить к уже открытым, а не заменить последние. Выбирем пункт меню Настройки-Основные. В дереве выбираем пункт Программа-Файлы настроек. В открывшейся закладке снимаем флажок «Закрывать все окна перед загрузкой настроек». Нажимаем «Ок».

Теперь, загрузим сами таблицы. Выбирем пункт меню Настройки-Загрузить настройки из файла. В открывшемся диалоге также переходим в директорию, куда установлен Option Workshop. И также как и в случае с таблицей с информацией о сессии, выбираем соответствующий файл настроек. В QUIK появилась дополнительная закладка — ITG. Перейдём на неё. Здесь располагаются таблицы, содержищие необходимую Option Workshop информацию о рынке. В том числе, создалась таблица SessionInfo, в которой мы видим информацию о сессии.

Последний штрих в настройках квика, это разрешение импорта внешних транзакций. Выбираем пункт меню Торговля-Внешние транзакции. В открывшемся диалоге нажимаем кнопку «Начать обработку» и выставляем флажок «Запускать процесс обработки внешних транзакций автоматически». Закрываем диалог.

Теперь переходим в Option Workshop. Открываем форму настроек. И переходим на закладку Data source. Выбираем QUIK в качестве источника данных и указываем путь к файлу info.exe — непосредственно исполняемый файл квика. Нажимаем «Ок».

Теперь возвращаемся в квик и запускаем экспорт таблиц по DDE. Это можно сделать выбрав пункт меню Экспорт данных-Начать экспорт таблиц по DDE, или нажав сочетание клавиш Ctrl+Shft+L. Заметим здесь, что перед запуском экспорта имеет смысл сначала гарантированно остановить его, нажав сочетание клавиш Ctrl+Shft+S.

На этом интеграция квика и Option Workshop полностью завершена. Option Workshop принимает данные и может отправлять заявки в квик.

Смотрите так же ролик «Гигиена настроек квика», в котором описывается процедура переодического обновления настроек источника данных, которую необходимо проводить в связи с появлением новых инструментов и экспирацией старых.

Дельта-хеджирование в Option Workshop

Этой записью мы начинаем серию публикаций видеороликов, демонстрирующих работу с разными компонентами Option Workshop.

При просмотре видео рекомендуем включать режимы HD и fullscreen.

Дельта-хеджирование в Option Workshop

Текст ролика

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

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

Дельта-хеджеры управляются из формы соответствующего менеджера, которая открывается по нажатию на кнопку «Open delta-hedger». Для создания нового хеджера нажимаем кнопку «Add new hedger». В появившейся форме задаём первичные параметры робота. Прежде всего, выбираем счёт, с которого будет работать автомат. Затем, выбираем конкретный фьючерс, которым будем хеджировать дельту. И наконец, выбираем или указываем имя новой стратегии, к которой будет привязан дельта-хеджер. Нажимаем «Ок».

На экране появляется форма детальных настроек хеджера. Прежде всего, настраиваем диапазон, в котором мы хотим удерживать дельту стратегии. Для этого задаём левую и правую границы диапазона. После ввода каждого значения необходимо нажать клавишу «Enter». Середина диапазона вычисляется автоматически. Теперь необходимо выбрать, к какому значению робот будет приводить дельту в случае, если она выйдет за указанный диапазон. По умолчанию выбрана опция, при которой робот будет выравнивает дельту до ближайшей границы. Так, например, если границы заданы от минус пяти до плюс семи и дельта изменилась до плюс десяти, то хеджер продаст три контракта и приведёт значение дельты к границе плюс семь. Чтобы хеджер приводил дельту не к границе, а к центру диапазона, необходимо нажать кнопку под текстовым полем, в котором отображается значение центра диапазона.

Параметр «Slippage» задаёт проскальзывание, которое добавляется к лимитированной заявке. Так, например, если хеджер принимает решение о покупке нескольких контрактов, то он считывает цену лучшей заявки на продажу данного фьючерса, умножает её на множитель единица плюс проскальзывание и использует полученное значение как цену своей лимитированной заявки на покупку.

Дельта-хеджер может работать в трёх режимах: непрерывном, дискретном по времени и дискретном по цене базового актива. В основном, непрерывном режиме автомат отслеживает каждое изменение значения дельты стратегии и реагирует мгновенно. Такой подход может быть не совсем удобным, если дельту нужно поддерживать в узком коридоре при волатильном рынке. Так, например, резкие рывки рынка в моменты выхода статистических данных могут быть ложными и хеджировать дельту в такие момент не нужно. Альтернативой этому непрерывному отслеживанию дельты является дискретный по времени режим. В этом случае мы задаём период в секундах, который должен пройти, прежде чем хеджер проверит значение дельты в следующий раз. Так, например, если мы зададим параметр «Time quant» равным шестидесяти секундам, то хеджер будет проверять дельту лишь раз в минуту.

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

В целях данного ролика для простоты выберем непрерывный режим работы автомата. Запустим хеджера.

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

У хеджера, также как у других автоматов в Option Workshop есть расписание работы. Менеджер расписания вызывается нажатием на кнопку «Schedule». В появившейся форме мы можем разрешить или запретить использование расписания. Выбрать, должен ли робот использовать биржевое время или же локальное. И задать периоды активности, указав их начало и конец. Робот будет отслеживать дельту в созданные периоды и бездействовать вне их.

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

Скринкаст по настройкам QUIK

Раздел HowTo в руководстве по Option Workshop мы планируем наполнять скринкастами, демонстрирующими работу с программой. Этот скринкаст — первый. Посвящён он достаточно злободневному вопросу, с которым часто обращаются в техподдержку — актуализация настроек QUIK.