В прошлой заметке научились открывать Доску Опционов и смотреть на рынок в координатах "страйк-волатильность". Разобрались, что означает ворох улыбок и почему их так много. Приступаем к торговле.
Допустим, мы почитали методику выбора опционов и горим желанием купить опцион колл на фьючерс RIZ7 страйка 115 000 (экспирация опциона 16 ноября 2017). Как это сделать в TSLab?
Есть разные способы получить эту позицию (начнем с самого удобного и если он Вам понравится, освоение остальных можете отложить):
в Доске Опционов выставить задачу котирования с отступом от рыночной улыбки
в Доске Опционов активировать режим подсветки "выгодных" страйков и забрать чужую заявку кликом мышки
открыть Менеджер Заявок (стакан) и выставить заявку с привязкой к Доске Опционов
нарисовать торговый скрипт, который будет выставлять заявку на покупку этого опциона по указанной Вами цене
Подключаем провайдер, открываем Доску Опционов, настраиваем текущий фьючерс (например, RIZ7), переключаемся на закладку с улыбкой.
Название "Задача Котирования" возникает, чтобы отличить ее от обычной примитивной заявки "купить 1 лот по цене 460". Если взять любой неспециализированный торговый терминал и выставить там обычную лимитную заявку, она так и будет стоять. 1 лот по цене 460. Если рынок начинает падать, рано или поздно Вам нальют. Но Ваша цена уже стала неадекватно высокой. Фактически, в этом случае рынок "ждет" пока мы не начнем разбрасывать деньги. И только после этого исполняет.
Это нарушает смысл лимитной заявки: получить хорошую цену входа.
При работе с опционами эквивалентом лимитной заявки будет сделка на заданном уровне волатильности. Допустим, сейчас историческая волатильность 11%. И мы считаем, что в среднем до экспирации она так и будет в диапазоне 9-13%. Но нам нужен запас прочности на случай стаи черных лебедей. В идеальном мире Блека-Шолза (где улыбка представляет собой горизонтальную линию) можно выставить аналог лимитника в терминах "продать 1 лот по волатильности 16%". Но на реальном рынке присутствует улыбка. Адекватный сейчас уровень "16%" через 2-3 часа уже тоже может оказаться выбрасыванием денег.
Задача Котирования призвана решить все эти ситуации: учесть движение цены БА и наличие изогнутой улыбки. Теперь формулировка такая: "продать 1 лот на 2% выше рыночной улыбки" или "купить 1 лот на 7 шагов цены ниже рыночной улыбки". При каждом пересчете Доски Опционов (по умолчанию каждые 10 секунд) будет выставлена в стакан обычная лимитная заявка по такой цене, чтобы с учетом всех изменившихся рыночных условий получить хорошее исполнение. (Неисполненная заявка, конечно, предварительно отменяется)
Управление вынесено в отдельную панель "Настройки котирования".
В первую очередь указываете количество. Знак этого числа означает купить или продать. После этого станет видна дополнительная линия (бежевая), которая покажет предположительное место размещения будущих Задач. Пока что никакие заявки выставляться в рынок не будут. Дальше настраиваете отступ от рыночной улыбки в шагах цены и в процентах волатильности, тип опциона (если Вам по какой-то причине нужен именно пут или именно колл). Когда положение бежевой линии Вас устроит, нужно в явном виде дать команду на начало Задачи Котирования.
Для этого кликаете мышкой в треугольник в нужном Вам страйке (в нашем примере страйк 115 000 обведен сиреневым). Запуск Задачи Котирования будет подтвержден появлением короткого горизонтального штриха.
Второй способ запустить задачу – кнопкой "Начать" – нужен для ситуации, когда в нагромождении линий трудно попасть в бежевый треугольник, а скрывать через легенду лишние линии нет времени или желания. Тогда указываете нужный страйк и нажимаете кнопку "Начать".
Одновременно можно выставить столько Задач Котирования, сколько сможет принять брокер. При этом каждая Задача может иметь свои индивидуальные настройки.
Когда лимитные заявки попадают на биржу, они становятся видны в таблице "Свои заявки". Удобно иметь ее где-то недалеко перед глазами. Поначалу Вы скорее всего захотите очень внимательно контролировать сколько заявок и какого размера выставил TSLab.
Иногда возникает ситуация, что рыночные заявки начинают очень странно выгибаться и какой-то конкретный страйк настолько далеко уходит от остальных, что дает очевидный потенциал прибыли. Чтобы его сразу увидеть и быстро схватить используется подсветка "выгодных" страйков.
В отдельной панели "Торговые настройки" ставим пороговое значение: "какой отступ чужой котировки от рыночной улыбки считать выгодным".
В моем случае биды рынка сильно поднять относительно рыночной улыбки (больше, чем на 30 пунктов). При этом из каждого бида вырос ус вниз и появилась пояснительная табличка с дополнительной информацией (страйк, волатильность, тип опциона, цена бида, размер чужого бида в лотах). Если теперь кликнуть мышкой в это табличку или в сам подсвеченный бид, произойдет продажа указанного количества опционов (у меня выставлено 10 лотов).
Как правило, рынок нечасто склонен разбрасывать деньги. И даже если крупный покупатель вдруг выгибает какой-то страйк, следует очень уважительно отнестись к нему и помнить о своем собственном риск-менеджменте. Он ведь может оказаться прав.
В TSLab имеется штатный скальперский стакан (он же Менеджер Заявок), который описан в документации. Каждый может с его помощью совершить сделку. Но в общем случае она просто повиснет на балансе брокерского счета. Чтобы Доска Опционов увидела эту сделку, нужна небольшая хитрость. Если мы стартуем с окна улыбки, переключаемся на крайнюю левую закладку с названием "Доска" == "Board". Здесь перечислены все опционы в одной серии в табличной форме.
Двойной клик на ячейке кола (слева) или на ячейке пута (справа) вызовет окно Менеджера Заявок. При этом он уже будет настроен на нужный торговый счет и на нужный инструмент.
В режиме "Лимитная" выпадающий список содержит список всех торговых агентов. Наша Доска живет в нижней части. Выбираем ее.
Теперь сделки этого Менеджера Заявок будут автоматически добавляться в выбранную Доску Опционов. Можно купить 1 лот по цене 410 – и на следующем пересчете (через 10 секунд) уже можно посмотреть профиль этой позиции, ее греки, запустить дельта-хеджер и так далее.
Во второй заметке закончили на том, что был написан скрипт First-Option.tscript, вытаскивающий из опциона конкретную серию, а из серии – один определенный опцион. Этот полноправный торговый инструмент был нарисован на обычном линейном графике в дополнительной области графика.
Поскольку у нас есть в руках обычный торговый инструмент, с ним можно совершать сделки обычным способом кубиками "Открытие позиции лимитной ценой" и "Закрытие позиции лимитной ценой".
Две константы содержат в себе цену покупки для открытия позиции и цену продажи для ее закрытия. На панель управления "Панель Настроек" выведено управление этими константами и числовыми параметрами кубика "Центральный страйк". Вызов Редактора Интерфейса осуществляется кнопкой с тремя точками:
Каждый оптимизируемый параметр кубиков, которые были привязаны к этой панели, можно оформить в виде кнопки, чекбокса, числового значения, выпадающего списка и так далее. Настроить их размер, положение, пояснительную подпись и другие атрибуты:
Чтобы веселее торговать, переделываем скрипт на работу в таймфрейме 5 секунд, ограничиваем количество баров "1000 штук" и глубину истории "1 день" (меньше баров – быстрее пересчет).
В настройках для режима агента сразу прописываем разрешение "Исполнять входы/выходы сразу":
Создаем агент обычным способом (это все описано в документации, подробности читаем там):
Внешний вид получившейся блок-схемы показан в начале заметки.
Внешний вид интерфейса агента:
Внизу в таблице "Свои сделки" == "My Orders" жирным подсвечена выставленная лимитная заявка. Она же видна в "Менеджере заявок" == "Orders Manager". Управляя ценой покупки, можно добиться совершения сделки. После этого будет выставлена заявка на продажу (тейк-профит). На росте рынка ее исполнят, далее снова можно купить и так далее. Параметр "Сдвиг рабочего страйка" позволяет переключиться на другой опцион. Если сделать несколько торговых агентов на разных страйках – можно торговать даже некое подобие корзины инструментов.
В прошлой части в качестве упражнения было предложено получить доступ к опциону второго типа (к путу). Можно развить мысль и точно также торговать одновременно еще и путом (сделать 2 константы для цен входа выхода, привязать к панели управления).
Другое развитие скрипта – добавить еще один блок "центральный страйк" (скажем, взять его со сдвигом +1) и попробовать котировать центральный колл относительно следующего. При этом ближний колл купить, дальний – продать. Цель – сформировать колл-спред по "хорошей" цене.
First-option.tscript – итоговый скрипт из части 2 в котором используется только колл
Second-option.tscript – развитие скрипта с использованием пут и колл опционов одновременно
Trade-option.tscript – итоговый торговый скрипт с возможностью купить опцион лимитной заявкой (и потом продать его тоже лимитником)