Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Ликвидность (устарела)
В предыдущей версии (в TSLab 1.2) торговать опционами допускается совершенно также, как обычными акциями или фьючерсами. Их можно указать в скрипте в качестве торгуемого источника, проверять какие-то условия (например, пересечение ценой дневной SMA(50)) и после этого выставлять заявки в стакан опциона обычным блоком "Открытие позиции лимитной ценой". Имея желание, терпение и фантазию в таком стиле можно торговать даже какие-то многоногие позиции типа бабочек или кондоров.
Но эта возможность настолько ограничена, что по большому счету пользоваться этим слишком неудобно. Как ни крути, опционная позиция – единый сложный объект и рассматривать его просто как "большую корзину независимых инструментов" нельзя. Помимо этого возникают сложности с вычислением дельты общей позиции, с графическим анализом и так далее. Поэтому в TSLab 2.0 были реализованы специальные блоки, отражающие эту специфику. В первую очередь это "Торгуемый опцион", "Менеджер позиций" == "Positions Manager", "Canvas Pane" == "Канвас панель" (в ближайшее время будет переименована в "Панель холста") и так далее.
Принято соглашение, что в источнике "Торгуемый опцион" одновременно идет работа с Базовым Активом и всеми опционами всех его серий. Аналогично себя ведет встроенная в TSLab Доска Опционов. Поэтому когда где-то в программе нужно настроить опцион, Вы просто указываете в этом месте соответствующий фьючерс. Например, в главном меню выбираете пункт "Торговля" – "Доска опционов" ("Trading" – "Options board"), откроется специальное окно, предназначенное для полуручной работы. В верхней строчке нажимаете в приглашение "Нажмите, чтобы выбрать инструмент" == "Click to select an instrument", открывается диалоговое окно для выбора инструмента. Выбираете торговый счет, секцию с фьючерсами ФОРТС, ищете текущий торгуемый фьючерс с опционами (например, RIZ7), нажимаете OK. TSLab сам подписывается на этот фьючерс и на все его опционы. Можно смотреть котировки в табличном виде, переключить серию, посмотреть текущую улыбку. Двойной клик на опционе (в таблице) приводит к появлению "Менеджера Заявок" == "Orders Manager".
По материалам статьи был проведен вебинар.
Во время трансляции было задано несколько интересных вопросов. Ответы на них публикуем отдельно.
На форуме есть подробное описание этого окна, опционные скрипты (вспомогательные и торговые), инструкции по настройке и запуску торговых роботов. Подробности можно прочитать в этих документах. Для первого знакомства коротко полюбуемся на улыбку (закладка называется RIZ7:10S).
Для получения такой картинки у себя, Вам понадобится настроенное подключение к реальным данным (подойдет версия TSLab Lite) у брокера, который позволяет работать с опционами.
На всех графиках легенду можно раскрыть и галочками скрыть линии, которые нам в данный момент не нужны (разумеется, в программе они остаются и продолжают рассчитываться).
Голубые и оранжевые квадратики – чьи-то заявки в стакане опциона соответствующего страйка, пересчитанные в единицы подразумеваемой волатильности (обсуждали в предыдущей части "Цена, время, волатильность"). Тонкая голубая линия – теоретическая улыбка Московской биржи. В данном случае она достаточно хорошо проходит через наблюдаемые заявки. Но это бывает не всегда, потому что Биржа транслирует эту информацию исключительно в справочных целях и никаких серьезных обязательств по её качеству на себя не берет. На практике нам важнее построить свою собственную рыночную улыбку (сплошная красная линия с желтыми узлами). Мы управляем этой кривой всего 3 параметрами (слева вверху). Как правило, их оказывается достаточно, чтобы работать с любыми опционами (помимо фРТС, доллара, нефти, Сбербанка, она хорошо вписывается в евродоллар и даже подходит для работы с опционами на е-мини SP500). При этом в отличие от некоторых других моделей, эти параметры меняются достаточно медленно. Бывает, их можно не трогать в течение нескольких торговых дней.
Желтая пунктирная линия в нижней части экрана – историческая волатильность, которую для нас подготовил скрипт HV (RW), запущенный на фьючерсе RIZ7 (подробности можно освежить в предыдущей части). Не нужно иметь докторскую степень или диплом технического ВУЗа, чтобы увидеть разницу на 4-6% между бидами опционов и уровнем исторической волатильности. Это создает предпосылки для очень осторожной продажи опционов. Если текущее состояние рынка продержится еще неделю – эти 5% превратятся в живые деньги на нашем торговом счете. Если же у нас есть причины полагать, что будет какое-то катастрофическое событие и выход фьючерса из узкого диапазона последних недель, тогда мы просто любуемся рынком, пробуем переключить Доску на другие инструменты и ищем более подходящие торговые условия.
Освоив этот экран, Вы вплотную приблизитесь к тому, чтобы начать торговать в полуавтоматическом режиме: за Вами выбор подходящих условий и решение по допустимым лимитам на позицию, а TSLab займется выравниванием дельты или котированием опционов по заданному уровню волатильности.
Небольшое введение для смелых, кто хочет сразу прикоснуться к опционным блокам в Редакторе Скриптов.
Попробуем решить основные задачи:
заказать опцион
выделить из него Базовый Актив
выделить ближайшую серию опционов
найти в ней центральный страйк
из серии опционов выделить опцион с центральным страйком (и построить его график)
Начинаем с создания нового скрипта. Сразу удаляем источник, объем, цену закрытия. Добавляем Торговый опционный источник. Сразу настраиваем инструмент (RIZ7). Должен быть подключен источник рилтайм данных! Получится так:
Выделяем из него Базовый Актив блоком "Базовый актив" == "Base Asset". Этот блок возвращает обычный инструмент. Такой же, как в обычном Торгуемом источнике. Его можно вывести на график на панель Главная.
Вытаскиваем серию блоком "Серия по номеру" == "Option Series by Number" из раздела "Опционы" (удобно пользоваться поиском по названию блока). Один из его параметров называется "Алгоритм экспирации" == "Expiration Algo". Выставим его в режим "Ближайшая экспирация". Затем добавим блок "Центральный страйк" == "Central Strike". Все-таки опционщики часто мыслят в терминах "на два страйка выше центра" или "купить на центре". На вход этот блок принимает опционную серию. Центральный страйк изобразим на графике "Главная" жирным белым пунктиром.
Добавим еще одну "Панель графика" == "Chart pane" отдельно для свечей опциона центрального стайка. Назовем ее "Опцион".
Одиночный опцион вытаскивается из серии блоком "Один опцион" == "Single Option". На первый вход подается опционная серия. Второй вход необязательный. Но мы направим в него результат работы блока "центральный страйк". Полученный одиночный опцион выводим в виде свечей на вторую панель.
В принципе, уже можно вызвать команду "Сохранить и выполнить" и мы уже увидим графики двух инструментов:
Но чтобы было совсем "по уму", делаем еще 3 шага: создаем на базе скрипта агент, запускаем, вызываем интерфейс агента. Теперь графики будут перерисовываться в реальном времени.
Сейчас мы вытащили из серии опцион типа колл. В качестве упражнения можете добавить еще блок "один опцион", поменять тип на "пут" и тоже вывести его на график.
Также можно добавить еще один блок центральный страйк. У него есть параметр "Сдвиг страйка" == "Shift strike". Если выставить туда 1 блок вернет следующий страйк выше центра. Если поставить (-2) – блок вернет второй страйк ниже центра. Таким образом можно получать доступ сразу к нескольким опционам в разных страйках. Если теперь по кнопке выставить во все 3 страйка заявки (конечно, только лимитные!), то можно сформировать одним махом конструкцию наподобие бабочки.
First-Option.tscript – итоговый скрипт
При торговле опционами самым важным становится управление рисками. Позиции часто получаются сложные, зависимости нелинейные (собственно, ради этой нелинейности мы и начинаем торговать опционы). Это приводит к тому, что при благоприятном сценарии можно заработать действительно много. Допустим, удвоить депозит за месяц. Но это же таит в себе и опасность. При неблагоприятном движении мы сразу попадаем в большой плавающий минус (по дельте). Затем к этому нам еще добавляют проблем изменением уровня улыбки (по веге). И еще приходит биржа и предлагает увеличить ГО в 2 раза. Если при формировании позиции мы переоценили свои силы, взяли позицию "на все плечи" и еще оставили проданные края сверху/снизу, то проблемы обеспечены. Можно не только потерять весь депозит, но еще и остаться в долгу перед брокером.
Поэтому очень много внимания при работе с опционами следует уделять именно рискам. Пока Вы торгуете один инструмент (РИ) и одну опционную серию – общую позицию еще как-то можно удержать в голове. А если Вы открываете несколько опционных конструкций? К примеру, одну позицию набираете через штатную Доску Опционов, еще две - три позиции открыли руками под конкретные локальные идеи с использованием торгового робота и еще к этому покупаете и продаете волатильность с использованием торговых роботов . Тогда анализ общей позиции и общего риска становится значительно сложнее. Каждый из роботов действует в рамках указанных ему ограничений, но все вместе они могут набрать позицию, смертельную для Вашего депозита.
Возможен риск, когда при реализации торгового алгоритма допущена скрытая логическая ошибка. Которая проявит себя один раз в квартал и робот будет упорно на каждом пересчете продавать и продавать опционы в одном или нескольких страйках. И будет это делать, пока его не остановит биржа. Или ошибется с размером выставляемой заявки и вместо 10 лотов продаст 500.
Еще одна проблема возникает при работе с малоликвидными инструментами (а опционы на ФОРТС они почти все малоликвидные). Робот случайно ставит в стакан заявку "по рынку". Указывает какую-нибудь космическую цену "купить по 50 000" опциону с текущей теоретической ценой около 200. В плотном стакане эта заявка исполнится по приличным ценам и это пройдет достаточно незаметно. Но в случае с опционом это зачастую будет означать мгновенный убыток 50 000 на лот.
Чтобы заранее парировать подобные риски в TSLab (начиная с версии 2.0.22.0) реализован встроенный (риск-менеджер). До того как начать набирать серьезные позиции в опционах, мы настоятельно рекомендуем в первую очередь определить для себя предельные допустимые риски на весь счет и указать их в модуле управления рисками. Сделайте это в спокойной обстановке. Выработайте у себя привычку всегда находиться под его защитой. И тогда в стрессовой ситуации он предотвратит самые грубые и самые дорогие ошибки.
Риск-менеджер доступен из главного меню пункт Торговля – Управление рисками. Чтобы активировать модуль на рабочем торговом счете, нужно передвинуть слайдер в столбце Состояние, чтобы он стал зеленым. После изменения правил их нужно применить кнопкой "Применить новые настройки".
Логика выполнения проверок:
При выставлении новой заявки TSLab в первую очередь смотрит находится ли этот счет под защитой? Если нет, заявка выставляется в рынок.
Проверяется, что выставляемая заявка удовлетворяет всем настроенным ограничениям. Например, у нее достаточно маленький объем, адекватная цена, сейчас выставление заявок разрешено по времени.
Если хотя бы одно из ограничений нарушено – заявка блокируется. Об этом делается запись в Главном Логе. По возможности, будет сделано пояснение какое именно правило было нарушено.
Мы рекомендуем на уровне счета включить ограничение торговли по времени.
Внутри счета создать группу инструментов и поместить туда фьючерсы, по которым будет делаться дельта-хеджирование или направленная торговля.
Создать отдельную группу, в которую поместить опционы рабочей серии (в будущем можно будет добавить сразу весь опцион и возиться с сериями не придется). Для этой группы настроить ограничение на максимальный размер суммарной брокерской позиции в каждом опционе. Ограничение на цену заявки. Также при желании можно настроить ограничение на максимальный размер одной заявки (чтобы не купить случайно 1000 опционов вместо 100).
Сразу после начала торгов и после вечернего клиринга бывают неадекватные сдвиги фьючерса. Также как правило стаканы по всем инструментам еще менее плотные, чем обычно. Поэтому рекомендуем запретить выставление всех заявок в интервалах времени (по Москве): с 0 до 10:01, с 13:59 до 14:06, с 18:44 до 19:06, с 23:47 до 23:59.
В самом начале для очень маленького счета порядка 100 тыр мы рекомендуем ограничение 40 лотов в длинную и 30 лотов в короткую. На практике, скорее всего, брокер и так не даст Вам продать 20 лотов РИ, но в данном случае задача риск-менеджера защитить именно от грубых ошибок. Поэтому можно поставить лимит с небольшим запасом. В дальнейшем по мере накопления опыта Вы сами определите для себя разумные лимиты в соответствии с Вашим стилем и размером депозита.
При работе в ближних сериях с опционами на РИ, СИ, Сбер при текущей очень низкой волатильности трудно представить себе сделки по цене дороже 1000 шагов цены. Поэтому можно смело задать эту величину в качестве разумного ограничения. Некоторые брокера позволяют на своей стороне отказывать в исполнении заявок с опционами, если их цена отличается от теоретической больше чем на 10%. Хотя иногда это ограничение будет Вас просто бесить, но на первых порах имеет смысл уточнить у своего брокера наличие такой возможности и активировать данное ограничение.
Чтобы не купить 1000 вместо 100 и не продать 300 вместо 30 можно добавить отдельное ограничение на размер одной заявки. Для маленького счета в размере 100 тыр трудно представить себе необходимость выставить лимитник в одной опционе больше, чем на 30 лотов.
Наверное, нет необходимости идеально указывать лимиты прямо с точностью до 1 лота или цены с точность до 10 шагов цены. Но выставить какие-то разумные ограничения и защитить себя от множества проблем – жизненно необходимо. Появление в логе сообщений от риск-менеджера будет настораживать Вас и сообщать о том, что Вы, возможно, начинаете тильтовать или набираете позицию, перегружающую счет.
Если после анализа ситуации (или довнесения на торговый счет дополнительных средств) Вы все же будете настаивать на увеличении позиции – ослабить правила риск-менеджера можно достаточно быстро.
Но по крайней мере у Вас будет время остановиться и задуматься о текущей позиции, ее рисках и о том, что Вы вообще хотите получить от рынка в данный момент.
В детстве мир прост и понятен. Мы верим, что достаточно купить акции и добрые дяди сделают тебя богатым. Со временем иллюзии проходят и мы начинаем подозревать, что дяди бывают разные и чаще всего интересы микромитариев их вообще не волнуют. Возникает желание взять в свои руки управление своей будущей пенсией. После бессистемных покупок и продаж приходит понимание, что нужна МТС. А еще лучше – торговый робот. В юности мы используем TSLab и конечно подбираем себе портфель торговых стратегий и инструментов, которые скорее всего будут нас кормить. И когда наш портфель попадает в ногу с рынком действительность может превзойти наши самые смелые ожидания. Но тренды не вечны, деревья не растут до небес и по большому счету у тех самых "дядь" нет никакого интереса гнать котировки строго на север. В итоге трендов становится меньше, хаотичность рынков возрастает и портфель линейных торговых роботов буксует. В этот момент понимаем, что наши возможности по прогнозу направления рынка уже исчерпаны. Дальнейшие попытки сделать нового робота мало влияют на размер просадок и их длительность. При этом увеличиваются комиссии и сложность управления всем портфелем.
Возникает необходимость найти принципиально новые торговые идеи. К счастью, "уже все придумано до нас" и следующей ступенью развития становится торговля опционами. Суть их в том, что цена нелинейно зависит от изменения цены Базового Актива. Фьючерс растет на 1%, опцион дорожает на 10%. Фьючерс растет на 2% – опцион дорожает на 40%. Дело не в плече. При торговле на форекс можно получить плечо 1-к-100 или 1-к-500. Но зависимость от изменения цены как была линейной, так и остается. И если валюта дорожает на 1%, а Ваша позиция зарабатывает 10%, то при движении на 2% позиция дорожает только на 20%. В этом ключевая ценность опционов: в нелинейной зависимости прибыли от изменения цены БА.
Поскольку все прогнозы направления фьючерса уже выражены в виде линейных торговых стратегий, то сразу принимаем соглашение о том, что наши опционные позиции очищаются от линейной составляющей. То есть позиция должна быть нейтральной по отношению к движению БА. Официально это называется "устранить дельту".
С профилем позиции знаком каждый трейдер, если он знаком с понятием стоп-лосс или тейк-профит. При планировании сделки еще до того как что-то купить, мы отвечаем себе на 2 вопроса: "Что будет с позицией, если цена пойдет вверх?" и "Что будет с позицией, если цена пойдет вниз?". Исходя из этого мы прикидываем где поставить тейк, чтобы "хватило жене на сапоги" и где поставить стоп, чтобы не получить маржин-колл. По сути, мы перебираем несколько сценариев развития событий "А что если фьючерс будет стоить ЦЦЦ?" По сути это и есть профиль позиции.
В TSLab они отображаются в Доске Опционов на одноименной закладке.
Для тех, кто хорошо учился в школе/институте коротко можно сказать так: профиль позиции – скалярная функция нескольких аргументов (цена, время, волатильность, количество купленных/проданных опционов, их страйки и т.п.).
Предупреждение о риске самообмана
Мы считаем, что профиль позиции хорошо определен только в небольшой окрестности текущей цены БА. Потому что если цена мгновенно сместится на 10% от текущего положения, то вся наша информация устареет. После такого рывка изменится уровень волатильности, деформируется улыбка, изменится ее наклон и т.д. Причем все эти эффекты малопредсказуемы. В итоге наш текущий прогноз цены портфеля для этого сценария очень неточен.
Если с профилем разобрались, то с понятием дельты освоиться легко. Это условное название для термина "частная производная профиля позиции по цене Базового Актива".
Грубо говоря, смотрим на профиль в точке текущей цены БА (сплошная вертикальная красная линия) и прикидываем: сколько фьючерсов дадут такой же наклон, какой имеет в этой точке профиль позиции? Если позиция имеет большой наклон (то есть мы случайно заняли направленную позицию и снова зависим от воли фьючерса), значит самое время снова устранить эту линейную зависимость. Делается это сделкой с фьючерсом противоположной направленности. К примеру, если дельта позиции равна +5, значит, нужно продать 5 фьючерсов. После этого дельта снова станет близка к нулю и нелинейные эффекты опять начнут играть заметную роль.
На картинке в начале статьи продано 5 стренглов в опционах на SiZ7 с истечением 14 декабря 2017 года. Этим опционам осталось жить примерно 4 торговых дня. Так получилось, что дельта позиции в данный момент близка к нулю. Фьючерс должен пройти 100 рублей, чтобы позиция изменила цену на 1 рубль. Фактически, мы стоим с плечом 100-к-1. То есть уходим от линейного риска настолько, насколько это возможно.
После того, как из профиля устранена линейная часть, доминирующую роль начинают играть другие эффекты, которые есть только в опционах!
В этой позиции надеемся на тету (все опционы теряют часть цены по мере приближения к дате экспирации). Еще на руку, что опционы продавались дороже, чем текущая историческая волатильность. То есть у нас есть основания полагать, что в этой позиции есть статистическое преимущество.
При торговле опционами автоматический дельта-хеджер должен быть включен. В TSLab в составе Доски Опционов присутствует "книжный" вариант хеджера: обнаружив большую дельту, он старается ее уменьшить.
Если проданный стренгл изначально имеет статистическое преимущество, зачем делать дельта-хедж? Почему не поехать в отпуск, в расчете получить всю премию а размере 250 пунктов? Многие могут решить, что лучше журавль в кармане, чем синица в руках. Выключат дельта-хеджер и будут прикидывать в какой ресторан сходить на эти деньги.
Проблема этой логики в неопределенности результатов. Часто этот стренгл будет приносить максимальную прибыль 250 рублей. И продавец краев, наверное, решит, что схватил удачу за хвост. 5, 6, 10 экспираций подряд можно получать прибыль без лишних телодвижений. Скорее всего при этом возникнет желание увеличить объем операций. Это логично. Все получается, все идет по плану. Хочется поскорее выбрать "Марусю" любимого цвета.
Но теперь посмотрим на эти ужасные края. Можно вспомнить сколько угодно случаев, когда фьючерс за неделю проходил 1500-2000 рублей. Были случаи, когда это происходило за день. Иногда это случается одним прыжком при переходе с пятницы на понедельник. Тогда мгновенный убыток достигает 3000-4000 рублей. На краях наклон профиля составляет примерно 5 фьючерсов. То есть если движение продолжится, то на каждые 1000 рублей движения убыток по позиции будет увеличиваться еще на 5000.
На практике это означает, что хотя позиция в этом стренгле изначально имеет статистическое преимущество, но оно мало по сравнению с возможным убытком. Тогда правила мани-менеджмента вынуждают нас выделять для этой стратегии очень незначительную часть от всего торгового капитала. Может быть, 1% максимум. То есть практическая польза от данной тактики становится незначительной.
Постоянный автоматический дельта-хедж меняет ситуацию. Да, в каждой конкретной позиции потенциал прибыли становится меньше. К примеру, уменьшается с 250 до 100 рублей. Но зато хеджер устраняет и волатильность результата. Повышается вероятность прибыльного исхода, значительно уменьшается вероятность катастрофы. Это позволяет увеличить плечо и восстановить абсолютный доход, скажем, до 500 рублей. Но уже без риска получить катастрофический убыток.
Но и это еще не конец истории. Наличие модельной улыбки приводит к возникновению модельного профиля позиции. Дельта модельного профиля будет отличаться от "рыночной" дельты. Чтобы проиллюстрировать эту разницу, возьмем ручной анализатор виртуальных позиций в составе TSLab и проанализируем небольшую позицию в 100 январских путов SR23000BM8 на мартовский сбер SRH8. До экспирации примерно 22.874 торговых дня (0.090796 года) при цене фьючерса 23 361. Волатильность этого опциона 25.25%.
Посчитаем дельту этой позиции разными способами:
по неправильной формуле Блека-Шолза – (минус 39.0738)
правильный расчет по рыночной улыбке (красная) – (минус 38.171)
правильный расчет по модельной улыбке (белая) – (минус 40.212)
На практике это будет означать, что после хеджирования данной позиции на росте фьючерса модельный портфель зарабатывает "лишние 2 дельты". Это позволяет в значительной степени компенсировать падение волатильности, которое скорее всего будет происходить на росте рынка. Может показаться, что позиция будет проигрывать на падении? Но на практике этот эффект компенсируется общим подъемом улыбки.Иными словами, в условиях существенной нелинейности ценообразования опционов правильный учет возникающих эффектов требует огромного практического опыта. Мы не ставим целью доказать академическую правильность реализованной математики. Но хотим подчеркнуть, что для новичка в опционах будет мудро положиться на многолетний опыт Алексея Каленковича. Мы уверены, что это позволит избежать многих вычислительных ошибок и набрать практический опыт без лишних и крайне обескураживающих убытков. Достаточно часто на практике возникает ситуация, когда на растущем рынке купленные колы не приносят ожидаемой прибыли. Причина этого – неправильная математика, которая скорее всего заложена в большинство "бесплатных" пакетов для анализа опционов.
14 февраля 2018 в 11:00 прошел четвертый вебинар в поддержку цикла статей "Для чайников". На основании статей "" и "" рассмотрены базовые понятия, лежащие в основе торговли этими интересными и перспективными инструментами.
Постараемся ответить на вопросы, заданные Участниками вебинара.
Андрей Елизаров
Интересно, а возможно ли не наклон улыбки в настройках менять, а саму БШ? Или, например, расчет HV, IV?
Коротко: да, можно. Любой блок можно заменить на Вашу личную авторскую реализацию.
Подробнее:
Приходите с техзаданием или идеей, обсудим и сделаем. Для этого нужно только полное понимание всех деталей алгоритма.
Можем изменить расчет исторической волатильности.
Можем заменить улыбку. Например, реализовать модель улыбки "смесь распределений", "китайскую" или "улыбку Московской Биржи" (только будет 5 параметров, а не 3).
93-Static-Analysis.tscript – Статический анализ виртуальной позиции с возможностью управлять всеми параметрами среды (цена фьючерса, время до экспирации, параметры улыбки).
93-View-Smile.tscript -- Простой скрипт для просмотра улыбки. Позволяет разобраться с передачей управления между блоками и их назначением.
31 января 2018 в 11:00 прошел второй вебинар в поддержку цикла статей "Для чайников". На основании статей "" и "" рассмотрены базовые понятия, лежащие в основе торговли этими интересными и перспективными инструментами.
Постараемся ответить на вопросы, заданные Участниками вебинара.
Евгений Иванов
Почему историческая волатильность в виде прямой линии? Для какого страйка справедлива эта волатильность? Можно ли построить историческую улыбку?
Коротко: историческая волатильность – это одно число. Оно характеризует весь наш случайный процесс (весь рынок). Поэтому "историческая улыбка" – это горизонтальная линия на высоте HV.
Подробнее:
На немного говорили про историческую волатильность (первый вопрос). Обсуждение продолжилось на .
Историческая волатильность характеризует весь рынок в целом. Поэтому при попытке нарисовать его на одном графике вместе с улыбкой мы должны провести одну горизонтальную линию на высоте HV. Напомню, что по горизонтальной оси мы в данном случае откладываем страйки опционов. Эта горизонтальная линия и есть "историческая улыбка". При желании, ее можно передать в дельта-хеджер или использовать для расчета греков позиции. По сути, трейдер при этом переедет в "мир Блека-Шолза". К сожалению, в этом случае результат операций скорее всего будет плачевный. Но трейдер имеет возможность это сделать, если в этом состоит его торговая методика.
Сергей Темкин
Это Вы про внутридневные данные - расчет IV. На Америке волатильность на опционной доске TWS и TOS указывается по дневным данным RTH (regular trading hours) Какой смысл считать это по внутридневным котировкам?
Коротко: внутридневные данные дают существенное преимущество по точности измерений и по скорости реакции на меняющиеся рыночные условия.
Подробнее:
Видимо, вопрос про историческую волатильность (подразумеваемая есть в каждый момент времени, даже если ее не транслирует биржа).
Расчет по дневным данным крайне неточен. Если взято 25 торговых дней, то согласно теории измерений точность расчета составляет 1/5 от величины. Значит, при измеренной волатильности "25%" на самом деле надо говорить "историческая волатильность лежит где-то в интервале от 20% до 30%". По сути, мы ничего не измерили.
Также наличие внутридневных данных позволяет значительно быстрее отреагировать на рост волатильности при каком-то мощном направленном движении. Случился в 18:00 МСК пробой важной поддержки на SP500 – и мы уже можем переворачивать позицию. Закрывать продажи, переходить к покупке.
Работа на американском рынке имеет свою специфику. Имеет смысл обсуждать ее с каждым конкретным клиентом, кто будет торговать американские опционы в платформе TSLab.
eugeny sitnikov
А по маркетной я смогу выравнивать дельту при продаже волы? Может, я хочу перестраховаться и закинуть больше коней в сторону опасного края?
Коротко: сможете.
Подробнее:
В штатной Доске Опционов можно выставить параметры очень близкие к параметрам рыночной улыбки. За исключением параметра "Форма".
Если же Вы хотите просто перестраховаться и принять направленную дельту (которая защитит позицию от убытка в случае неблагоприятного движения), для этого лучше использовать параметр дельта-хеджера "Целевая дельта" == "Target delta". По умолчанию мы стараемся привести дельту позиции к нулю, но если Вы сделали прогноз направленного движения, можете просто указать соответствующую целевую дельту. Например, для маленькой позиции в (-50) колов СИ это может быть значение "+2 лота". Тогда при направленном движении вверх Ваши фьючерсы будут зарабатывать на 2 лота больше, чем "положено".
eugeny sitnikov
А есть возможность котировать рынок относительно биржевой улыбки или взять цены между бидом и офером взять серединку и от нее выставить отступ для котирования?
Коротко: есть. На Ваш страх и риск.
Подробнее:
Можно котировать с отступом относительно биржевой. Можно опираться на реальные (чужие) котировки. Обобщение нашего торгового опыта говорит о том, что при этом Вы скорее всего будете нести дополнительные риски необъяснимых и бессмысленных колебаний улыбки. На самом деле, Вы можете разработать свою улыбку (мы поможем) и торговать относительно неё. Можно даже ставить продажи и покупки относительно разных улыбок.
eugeny sitnikov
Хотелось бы чтобы расчет исторической волатильности переделали на экспоненциальный, с возможностью убрать вечерку или придать ей вес. И также можно сделать на открытии рынка, чтобы нивелировать всплеск волатильности.
Коротко: это можно сделать.
Подробнее:
Кстати, в использованном алгоритме расчета исторической волатильности ночные гепы уже учтены и HV при этом не испытывает необъяснимых скачков.
eugeny sitnikov
А реально сделать исторические и маркетные графики НАКЛОНА и ФОРМЫ улыбки? Просто у Мубаракшина Олега это сделано на Китайской модели улыбки.
Коротко: это можно сделать с определенными оговорками.
Подробнее:
Мы уже думаем над этим. Что касается параметра "Форма", то рыночная улыбка не имеет его в готовом виде. Самое правильное и понятное брать форму с Рыночной Улыбки, но тогда качество накопленных данных будет полностью зависеть от того, насколько тщательно Вы следите за этим параметром и насколько удачно вписываете эту улыбку в рынок.
Кстати, для желающих можно реализовать и саму "китайскую модель". Мы ее знаем, но относимся с теплой отеческой улыбкой. Условия для разработки такие же как для экспоненциальной HV.
eugeny sitnikov
Есть возможность конструировать позы без самой позиции и отправить на исполнение?
Коротко: конструировать и анализировать позицию можно. Отправить на исполнение – пока что нет.
Подробнее:
В TSLab реализован механизм "виртуальных позиций". Можно сказать "я как бы купил 100 колов такого-то страйка по такой-то цене". При этом будет происходить вычисление греков, будет рисоваться профиль позиции и так далее. Но в рынке этой позиции не будет.
Функция сама по себе достаточно интересная, со временем она будет реализована. Если у Вас есть интерес использовать такую возможность, сообщите нам об этом. Чем больше будет интерес к этой функции, тем выше будет ее приоритет в списке задач.
В научились открывать Доску Опционов и смотреть на рынок в координатах "страйк-волатильность". Разобрались, что означает ворох улыбок и почему их так много. Приступаем к торговле.
Допустим, мы почитали и горим желанием купить опцион колл на фьючерс 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 лотов).
Как правило, рынок нечасто склонен разбрасывать деньги. И даже если крупный покупатель вдруг выгибает какой-то страйк, следует очень уважительно отнестись к нему и помнить о своем собственном риск-менеджменте. Он ведь может оказаться прав.
Двойной клик на ячейке кола (слева) или на ячейке пута (справа) вызовет окно Менеджера Заявок. При этом он уже будет настроен на нужный торговый счет и на нужный инструмент.
В режиме "Лимитная" выпадающий список содержит список всех торговых агентов. Наша Доска живет в нижней части. Выбираем ее.
Теперь сделки этого Менеджера Заявок будут автоматически добавляться в выбранную Доску Опционов. Можно купить 1 лот по цене 410 – и на следующем пересчете (через 10 секунд) уже можно посмотреть профиль этой позиции, ее греки, запустить дельта-хеджер и так далее.
Поскольку у нас есть в руках обычный торговый инструмент, с ним можно совершать сделки обычным способом кубиками "Открытие позиции лимитной ценой" и "Закрытие позиции лимитной ценой".
Две константы содержат в себе цену покупки для открытия позиции и цену продажи для ее закрытия. На панель управления "Панель Настроек" выведено управление этими константами и числовыми параметрами кубика "Центральный страйк". Вызов Редактора Интерфейса осуществляется кнопкой с тремя точками:
Каждый оптимизируемый параметр кубиков, которые были привязаны к этой панели, можно оформить в виде кнопки, чекбокса, числового значения, выпадающего списка и так далее. Настроить их размер, положение, пояснительную подпись и другие атрибуты:
Чтобы веселее торговать, переделываем скрипт на работу в таймфрейме 5 секунд, ограничиваем количество баров "1000 штук" и глубину истории "1 день" (меньше баров – быстрее пересчет).
В настройках для режима агента сразу прописываем разрешение "Исполнять входы/выходы сразу":
Внешний вид получившейся блок-схемы показан в начале заметки.
Внешний вид интерфейса агента:
Внизу в таблице "Свои сделки" == "My Orders" жирным подсвечена выставленная лимитная заявка. Она же видна в "Менеджере заявок" == "Orders Manager". Управляя ценой покупки, можно добиться совершения сделки. После этого будет выставлена заявка на продажу (тейк-профит). На росте рынка ее исполнят, далее снова можно купить и так далее. Параметр "Сдвиг рабочего страйка" позволяет переключиться на другой опцион. Если сделать несколько торговых агентов на разных страйках – можно торговать даже некое подобие корзины инструментов.
В прошлой части в качестве упражнения было предложено получить доступ к опциону второго типа (к путу). Можно развить мысль и точно также торговать одновременно еще и путом (сделать 2 константы для цен входа выхода, привязать к панели управления).
Другое развитие скрипта – добавить еще один блок "центральный страйк" (скажем, взять его со сдвигом +1) и попробовать котировать центральный колл относительно следующего. При этом ближний колл купить, дальний – продать. Цель – сформировать колл-спред по "хорошей" цене.
First-option.tscript – итоговый скрипт из части 2 в котором используется только колл
Second-option.tscript – развитие скрипта с использованием пут и колл опционов одновременно
Trade-option.tscript – итоговый торговый скрипт с возможностью купить опцион лимитной заявкой (и потом продать его тоже лимитником)
Разбираем простую торговую тактику на примере TSLab.
Тактика известна и изложена, например, в книге Коннолли "" (ISBN 5-93855-007-6). В двух словах она выражается в том, чтобы "покупать дешево, продавать дорого". Применительно к опционам это означает, что
нужно покупать дешевую историческую волатильность и продавать дорогую подразумеваемую (опционную) волатильность
либо наоборот: покупаем дешевые опционы и продаем дорогую историческую волатильность
Первая задача состоит в измерении исторической волатильности. Господин Коннолли предлагает оценивать историческую волатильность по ценам закрытия дневных баров. В современных уловиях этот подход слишком медленный и неточный. В TSLab 2.0 историческая волатильность оценивается на минутных барах М1 и поэтому намного быстрее реагирует на перестройку рыночного режима буквально в режиме онлайн.
В реальной торговле эти параметры изменяются достаточно медленно. Если на рынке не происходит каких-то мощных катаклизмов, их можно менять примерно раз в неделю.
Изменяя эти три параметра можно достаточно хорошо вписать улыбку в котировки практически на все инструменты:
на нашем рынке это РТС, доллар, сбербанк, нефть, евродоллар и так далее
этот же шаблон применим для опционов на американских площадках. В частности, для опционов на е-мини SP500
Вторая особенность методики Алексея состоит в том, что дельта-хеджирование осуществляется по другой улыбке. В оригинале "модельная улыбка" всегда симметрична, не имеет наклона и формы. То есть положение модельной улыбки определяется фактически одним параметром.
Подробнее о своей методике Алексей Каленкович рассказывает на своих семинарах и вебинарах. Если Вам непонятно, для чего использовать модельную улыбку или если Вы не согласны с этим подходом, её параметрами тоже можно управлять и Вы можете настроить её в соответствии со своими представлениями о рынке.
На примере августовской серии опционов на Сбербанк мы видим, что текущая историческая волатильность находится на уровне около 20%, а опционы на Сбербанк котируются значительно выше. По этой причине мы вынуждены работать от продажи. Для примера продаем 10 опционов ПУТ страйка 14 750. Для этого в панели управления "Настройки котирования" указываем рабочий объем (-10). На графике появляется еще одна улыбка. Её узлы обозначены треугольниками в соответствии с направлением выставляемой заявки. При нажатии мышкой на узел этой улыбке будет создана Задача Котирования. Это означает, что в рынок будет выставлена заявка с указанным отступом от рыночной улыбки. Если фьючерс начнет двигаться, эта лимитная заявка будет переставлена на новый ценовой уровень. Чтобы при совершении сделки соответствовать заказанному Вами уровню волатильности.
Мы рекомендуем всегда использовать автоматическое дельта-хеджирование, потому что если у Вас есть представление о направлении рынка, Вы можете выразить его в виде отдельной позиции в базовом активе. В случае обсуждаемой тактики мы не предполагаем прогноза по направлению рынка, поэтому предварительно включаем дельта-хеджер.
После совершения сделки срабатывает звуковое уведомление и мы получаем классическую позицию "проданный пут". Посмотреть на неё удобно в разделе "Профиль позиции".
10 опционов для Сбербанка оказалось мало, дельта позиции около +0.3 поэтому сделки с фьючерсом не было. На закладке "профиль позиции" отображается:
профиль на экспирацию (иногда его называют "кочерга") – оранжевая сплошная линия без узлов.
текущий профиль позиции по рыночной улыбке (красная линия с желтыми узлами). По рыночной улыбке позиция находится в небольшом минусе, потому что мы продавали опционы ниже рыночной улыбки.
профиль позиции по модельной улыбке (сплошная белая линия)
По модельному профилю можно грубо оценить ожидаемую прибыль: +162 рубля. Не 400(!), как показывает "кочерга", а только +162. Это связано с тем, что у нас будут возникать затраты на дельта-хеджирование. Рассчитывать, что рынок простоит месяц в одной точке или будет расти без откатов, слишком наивно оптимистично.
В том случае, если на рынке начнут происходить какие-то сильные движения и вырастет историческая волатильность, позиция начнет приносить убыток (операции дельта-хеджирования будут съедать больше денег, чем будет приносить тета-распад). В этой ситуации необходимо без колебаний закрыть позицию и принять убыток до того, как он примет катастрофические размеры.
Поэтому несмотря на то, что сейчас рынок благоприятствует именно продаже волатильности, необходимо аккуратно соблюдать риск-менеджмент и быть готовым в любой момент позицию закрыть. Если волатильность на рынке вырастет или Вы найдете инструменты с недооцененными опционами, то в этой ситуации необходимо работать от покупки. Правда, также следует быть готовым выйти в кеш, если движения закончатся.
Да пребудет с Вами вола!
В предыдущих видео мы обсудили две простые тактики торговли опционами: покупка/продажа волатильности в одном страйке и зигзаг (риск-реверсал). Самые расторгованные опционы на рынке ФОРТС – опционы на фьючерс РТС (срок истечения каждую неделю), опционы на фьючерс на доллар (истекают каждый месяц; с осени обещаю добавить недельные серии), опционы на фьючерс нефти марки Брент (истекают каждый месяц). После ухода маркет-мейкера с опционов на Сбербанк, в этих опционах ещё более-менее какая-то жизнь теплится, но скорее по инерции. Иногда можно встретить приличные котировки в опционах на Газпром. Причем речь идет в основном о ближайшей месячной серии. Опционы следующих сроков зачастую совсем неликвидны. Этим исчерпывается список инструментов, пригодных для относительно активных спекуляций. Причем в опционах на Сбербанк и Газпром нет официального маркет-мейкера. То есть в трудную минуту стаканы могут опустеть и закрыть проблемную позицию станет очень дорого.
В итоге если мы сформировали позицию в этих трех (пяти) инструментах и выбрали свои лимиты рисков, делать вроде как уже нечего. Остается только ждать экспирацию и читать теорию.
Существуют причины экономического, технологического и политического характера.
Во-первых, официальные программы маркет-мейкинга имеют достаточно жесткие условия по поддержанию двусторонних котировок. Например, это может быть обязательство держать двусторонние котировки размером по 100 лотов в 10 ближайших к деньгам страйках. Получается уже 2000 лотов под которое требуется сразу серьёзное гарантийное обеспечение. Помимо ГО под котировки необходим также резерв на поддержание позиции: если у Вас начнут активно выкупать какой-то страйк, на счете начнет образовываться серьезная проданная позиция. Для её поддержания будут нужны дополнительные средства. Если рынок совершит резкое направленное движение или будет ночной геп, позиция сразу просядет по вариационной марже. В итоге по разным оценкам для котирования одной серии опционов необходимо от 5 до 10 миллионов рублей "ненужных" средств.
Во-вторых, для классического маркет-мейкинга необходима отличная технологическая платформа. Большая беда случится, если порвется связь с Биржей или рухнет торговый софт. Это приведет скорее всего к исполнению всех оставшихся в рынке лимитных заявок. Либо к нарушению условий маркет-мейкерской программы. Чтобы предотвратить технологические риски, маркет-мейкеры, как правило, размещают свои сервера в зоне колокации биржи. Это само по себе дорогое удовольствие. Также необходим надежный софт, который будет контроллировать всю позицию, автоматически регулировать риски, стараться их скомпенсировать или переложить по страйкам. В случае резкого движения базового актива нужно очень быстро переставить все котировки во всех страйках на новые цены иначе произойдет заведомо невыгодное исполнение. Разработка такого софта дело достаточно дорогое, потому что никаких штатных решений Биржа не предоставляет.
В-третьих, Биржа последовательно сокращает программы поддержки маркет-мейкеров (для снижения издержек?). Это их право и их решение.
Мы лишь можем констатировать, что в итоге образуется замкнутый порочный круг: нет маркет-мейкеров – нет розничных клиентов, без клиентов нет торгового оборота – значит ММ не может зарабатывать на бид-аск спреде и перекладывать риски на своих контрагентов. Чтобы увернуться от случайного исполнения по невыгодным ценам, ММ вынужден ставить свои котировки максимально широко. Розничный клиент смотрит на эти гигантские незаполненные пустоты и понимает, что торговать по таким котировкам заведомо убыточное занятие. Снова нет сделок – ММ не зарабатывает и уходит. Либо саму программу закрывает Биржа по причине отсутствия заметных улучшений с оборотами торгов в этих контрактах.
ММ публично сообщает всем, что "в принципе он готов купить опционы в любом из 10 страйков примерно по такой цене". Если кому-то эта цена нравится, этот маркет-тейкер просит (также через сервис) выставить заявку по этой цене в обычный биржевой стакан и сам ставит встречную заявку по этой же цене. Маркет-мейкер выставляет заявку в обычный стакан и происходит сделка. Все довольны. Клиент получил позицию в опционах. ММ нет нужны резервировать гигантское ГО только под заявки. У ММ нет риска мгновенного исполнения всех заявок, потому что его котировки носят информационный характер.
Регистрация на сайте Liquid.Pro свободная и бесплатная (по адресу электронной почты). Этот же логин-пароль используется для подключения к сервису с помощью программного протокола (АПИ). На сайте есть огромное количество поясняющих материалов и статей, видеороликов и публичных вебинаров. Также имеется живой чат и форум, где можно достаточно оперативно получить информацию по интересующим вопросам.
Сейчас идет проработка интерфейса взаимодействия сервиса Ликвидности и TSLab 2.0.
В терминах TSLab ситуация оформлена как два связанных провайдера: один нужен для выставления твердых заявок + получение потока данных по фьючерсам, второй поставщик подключается к сервису Ликвидности и получает оттуда информацию о мягких заявках. В итоге пользователь TSLab Опционы видит уже объединенный стакан, в котором мягкие котировки подмешаны к твердым. (Кто знаком со связанными поставщиками, наверное, вспомнит связь поставщика Interactive Brokers и iQFeed. Один служит для выставления торговых заявок, второй предоставляет исторические данные по интересующим нас инструментам.) В качестве связанного источника в данный момент может выступать провайдер Transaq (брокер Финам) и провайдер CGate (любой брокер, который сможет предоставить Вам доступ по этому протоколу). В будущем, разумеется, список пригодных коннекторов будет расширен.
Поставщик "Liquid.Pro - Soft quotes" сейчас реализован в полном объеме. Он умеет только показывать чужие мягкие котировки в стакане (в Менеджере Заявок), в Доске Опционов и т.д. Это позволяет Вам увидеть истинную Ликвидность в опционах ВТБ, Лукойл, мини-ММВБ и других. Если какая-то мягкая котировка Вам нравится по цене (например, стоит ниже исторической волатильности) и Вы хотите этот страйк купить – просто выставляете свою твердую заявку по цене этой мягкой заявки. Сервис Ликвидности увидит эту ситуацию, автоматически сообщит об этом маркет-мейкеру и маркет-мейкер выставит Вам навстречу свою заявку уже в твердом виде. Произойдет обычная биржевая сделка.
Иногда на вебинарах начинают говорить, что "Алексей сделал какую-то кухню", будет "обман клиентов", "сведение встречных заявок внутри себя" и "исполнение по нарисованным ценам". Это не так. Заявки выставляются в обычный стакан Московской Биржи. Сделка регистрируется Биржей. Биржа проверит достаточность ГО у контрагентов и будет начислять вармаржу по общим правилам. Сервис носит только информационно-справочный характер. Он показывает миру интерес маркет-мейкера и позволяет маркет-тейкеру этим интересом воспользоваться.
Можно сравнить Доску Опционов на Лукойл как её показывает Биржа, с Доской Опционов как её видят пользователи Сервиса:
Наглядно видно, что во втором случае работать с этими инструментами намного удобней и комфортней. Эта же ситуация на графике улыбок:
Будем надеяться, что по мере увеличения количества маркет-мейкеров в сервисе Ликвидность, плотность котировок достигнет идеального уровня в один шаг цены.
Чтобы стать маркет-мейкером и выставлять мягкие заявки, нужно сообщить об этом администрации проекта. Сейчас кроме Вашего желания для этого ничего больше не требуется. После этого Вашей учетной записи выставят признак ММ и тогда Вы сможете воспользоваться возможностями второго провайдера в составе TSLab Опционы – поставщиком "Liquid.Pro - Soft quotes".
Этот поставщик предназначен именно для выставления мягких заявок, будет отслеживать их состояние, реагировать на запрос твердых котировок и возьмет на себя соблюдение всех формальностей, которые требуются для выставления пакетных заявок в сервисе. Сейчас идет работа по притирке этого поставщика и сервера Ликвидности. Он уже присутствует в поставке TSLab 2.0, но сейчас это скорее игрушка для совсем смелых энтузиастов, кому не терпится попробовать себя в роли мягкого маркет-мейкера и выставить одну-две заявки только для ознакомления с интерфейсом. Надеемся, что за август 2017 года этот поставщик будет доработан и все желающие смогут использовать его без ограничений в привычном для себя интерфейсе TSLab.
Да пребудет с Вами вола!
Начинаем цикл статей, в которых соберем ключевые вопросы по опционам. Материал будет иллюстрироваться примерами из TSLab и в каком-то смысле служит неформальным введением в торговлю с помощью нашей платформы, а также в разработку опционных роботов.
Если текст покажется сложным, непонятным или какие-то моменты будут раскрыты поверхностно, рекомендуем несколько книг, в которых можно найти более подробное изложение этих вопросов. Учитывая, что опционами торгуют много десятилетий, все основные идеи уже где-то разобраны. Однако, имеются технические особенности реализации стандартных идей, которые иногда будут определять разницу между понятной прибылью и непонятным убытком.
В сети можно найти много материалов , посвященных техническим вопросам вычислений и конкретным торговым тактикам. Он проводит ежемесячные , на которых можно получить ответ на любой вопрос по опционам.
Книги (их можно купить в магазине или найти в электронном виде):
Натенберг "Опционы. Волатильность и оценка стоимости." ISBN 978-5-9614-1442-4
Коннолли "Покупка и продажа волатильности" ISBN 5-93855-007-6
Балабушкин "Опционы и фьючерсы"
Самые искушенные в математическом плане читатели могут обратиться к курсу . Он исчерпывающе и на высоком уровне объясняет где найти дорогое для продажи, дешевое для покупки и почему при этом трейдер может рассчитывать на прибыль.
По материалам статьи был проведен вебинар.
На первый взгляд, цена Базового Актива (коротко, БА) – самое простое, что есть в опционах. Действительно, мы привыкли открывать график фьючерса РТС или акции Сбербанка и видеть аккуратную цепочку баров на всех таймфреймах вплоть до М1. Но при ближайшем рассмотрении возникают чисто практические сложности. Например, если речь идет о малоликвидных фьючерсах (CHZ7, FSZ7, MEZ7 и т.д.) – у них даже с часовыми барами могут быть проблемы. Мало того, что становится трудно измерить волатильность. Мы даже не знаем цену инструмента в какие-то моменты времени. А нам нужно выравнивать дельту. По какой цене ставить лимитную заявку?
Для примера посмотрим график фьючерса FSZ7. За час было совершено примерно 5 (пять) сделок.
На верхнем графике:
Сплошная тонкая красная – бары фьючерса по сделкам. Видно, что очень редко происходят события.
Сплошная тонкая голубая – цена посередине спреда. Намного живее все происходит. Основная проблема этого режима – если спред резко расширится в одну сторону (ММ отменят все офера к примеру, а биды оставят).
На нижнем графике три линии сливаются в одну – это цена фьючерса на основании опционов разных серий. Для фьючерса FSZ7 это не очень показательно, но для опционов с несколькими сериями можно попробовать искать (и ловить) несогласованности между ними.
Прикладываю 91 - Compare FutPx.tscript, в котором построены эти графики. Импортируете его в TSLab и создаете на его основе агент. Запускаете, смотрите графики.
Есть как минимум еще один вариант получить цену фьючерса, но он применим только во время основной торговой сессии с 10:00 до 18:40. Если это Ваша мечта – обращайтесь, мы его тоже реализуем. Или Вы можете сами реализовать свой алгоритм вычисления цены фьючерса на основании каких-то своих соображений с помощью программирования блоков на языке C#. После того как блок станет виден в TSLab – Вы можете в опционных торговых роботах заменить нашу модель цены на свою авторскую. Для этого в готовом торговом роботе меняете ровно один блок.
Второй важный фактор, который мало освещают в литературе, это время до экспирации (до истечения) опциона. Везде подразумевается, что время течет "равномерно и прямолинейно". За один календарный день истекает один ... день. Но уже здесь начинаются разночтения. В классической литературе (например, в Коннолли) в главе про историческую волатильность можно встретить такое рассуждение: "вычисляем приращение логарифмов цен закрытия по дневным барам. Получаем доходности. Вычисляем дисперсию доходностей – это дает дневную волатильность. Чтобы перевести ее в годовое исчисление, нужно умножить на корень из числа торговых дней в году. Торговых дней в году 252, поэтому приближенно умножаем на 16".
Это две крайности, между которыми расположены другие варианты рассуждений. Например, можно сказать, что в году есть выходные дни (суббота и воскресенье). Тогда их нужно исключить из расчета и получить те самые 252 дня.
В TSLab за вычисление времени отвечает блок "Время до экспирации" == "Time to expiry" этот режим расчета времени называется плоское календарное время без выходных.
Потом можно вспомнить, что у нас иногда бывают выходные дни на неделе и рабочие дни в субботу / воскресенье. Чтобы это учесть, нужно брать расписание работы Биржи на каждый год и при подсчете времени до экспирации все эти переносы учитывать. Это режим равномерное календарное время без выходных и праздничных дней.
Но и это еще не конец истории. Сам Алексей использует взвешенное время. Идея состоит в том, что ночной интервал с 23:50 до 10:00 – это тоже время и ночью возможен геп. Но рынки закрыты. Поэтому этот промежуток времени получает некий вес и тоже учитывается. Еще бывает, что наш рынок закрыт, а западные площадки работают – тогда это не совсем обычный выходной. Если наш рынок торгует, а зарубежные рынки отдыхают – значит у нас скорее всего в этот день будет сниженная волатильность. И так далее. В TSLab этот режим времени называется Liquid.Pro (ФОРТС).
Для примера посмотрим график время до экспирации для фьючерса на индекс РТС RIZ7 за однy торговую неделю:
На нижнем графике голубая сплошная линия – время до экспирации в биржевой модели времени. Видно как сильно проваливается эта оценка при переходе с пятницы на понедельник.
На нижнем графике красная сплошная линия – время в соответствии с расписанием ФОРТС. Ночь и выходные не учитываются, поэтому это прямая линия без скачков.
На нижнем графике белая сплошная линия – время в модели Liquid.Pro (ФОРТС). Видны небольшие скачки ночью и на выходных, поскольку эти интервалы времени имеют ненулевой вес. Но в целом эти две модели ведут себя очень близко.
Прикладываю 91 - Compare dT.tscript, в котором построены эти графики. Импортируете его в TSLab и создаете на его основе агент. Запускаете, смотрите графики.
Если речь идет о подразумеваемой волатильности, то это "параметр сигма ( σ ), который нужно подставить в формулу Блека-Шолза, чтобы получить теоретическую цену опциона".
Если речь идет об исторической волатильности, то это (в строгом соответствии с определением) "оценка дисперсии доходностей цены" (те самые приращения логарифмов).
Подразумеваемая волатильность возникает следующим образом: мы знаем цену опциона (посмотрели ее в стакане), знаем цену фьючерса и время до экспирации (воспользовались блоками в TSLab) и остается один неизвестный параметр в уравнении – сигма ( σ ). Компьютер просто перебирает разные значения σ и вычисляет теоретические цены, пока не получит результат близкий к известной нам цене опциона. Эта простая идея позволяет перейти в другое пространство координат и в удобном виде нарисовать на графике сразу все опционы одной серии (по горизонтальной оси X откладывают страйки опционов, по вертикальной оси Y – подразумеваему волатильность σ).
Легенда гласит, что во времена вывода этой формулы волатильность всех опционов в одной серии лежала на горизонтальной линии. Поэтому маркет-мейкеру было очень удобно котировать опционы и торговать с другими участниками рынка: все, что ему нужно было делать – это удерживать свои заявки покупки ниже этой линии, заявки продажи – выше. Его контрагенты совершали с ним сделки, хеджируя свои риски или преследуя спекулятивные цели, они получали удовлетворение своих потребностей, а маркет-мейкер получал потенциальную прибыль. Чтобы эту прибыль реализовать, ему нужно было дождаться противоположной сделки, а чтобы баланс счета не слишком проваливался в минус – регулярно выравнивать дельту своей суммарной позиции. Потом случилось резкое падение рынка 1987 года, и продавцы путов с тех пор стали ставить свои заявки выше, чем предполагалось в модели Б-Ш. Так появилась улыбка (подразумеваемой) волатильности.
Для разных страйков рынок закладывает разную волатильность.
В добавок к этому имеется неявная зависимость от модели времени: в разном времени одна и та же теоретическая цена соответствует разной волатильности.
Из всех точек на улыбке есть одна выделенная – волатильность-на-деньгах. Это волатильность гипотетического опциона, страйк которого в точности совпадает с текущей ценой БА. Удобно сохранять эту величину в виде функции от времени и потом выводить в качестве индикатора на обычном графике. В TSLab за это отвечают блоки "IV ATM" и "IV ATM (все серии)" == "IV ATM (all series)". Название происходит от английского "Implied Volatility at the Money". Первый блок вычисляет и записывает на жесткий диск (в так называемый "Глобальный Кеш") волатильность на деньгах одной серии опционов. Второй блок – записывает на диск волатильность сразу всех серий. Это удобно, например, для опционов на индекс РТС или курс рубль/доллар, потому что имеются месячные серии и даже недельные (одновременно до 7 серий на каждый фьючерс!).
Для примера посмотрим график подразумеваемой волатильности на деньгах для фьючерса на нефть брент BRX7 за один неполный торговый день:
На среднем графике – волатильность в биржевой модели времени. Последнее значение: 25.73%
На нижнем графике – волатильность в модели времени ФОРТС. Последнее значение: 24.35%
Этот пример наглядно показывает важность времени: в одной модели опцион может быть дешевым и пригодным для продажи, а в другой – дорогим и пригодным для покупки. И только систематически получая месяц за месяцем результат торговли в денежном выражении Вы сможете сделать предположение о том, какая модель времени более удачна и лучше соответствует реальности.
вместо дневных баров используются минутные бары М1 с глубиной истории 810 штук (это один торговый день на ФОРТС)
в этом окне вычисляется дисперсия доходностей минутных баров и с её помощью вычисляется минутная волатильность
принимается, что в году (после вычета праздников и выходных) остается 204 120 торговых минут (252 торговых дня по 810 минут каждый)
минутная волатильность переводится в годовую умножением на 452 (корень из 204 120 примерно равен 451.796)
есть два варианта расчета: когда берутся все бары подряд или когда учитываются только соседние значения с расстоянием между ними ровно 1 минута
Поскольку базовый актив один на несколько разных серий опционов и поскольку на одной серии можно торговать сразу несколько торговых агентов, удобно сохранять историческую волатильность в виде функции от времени и потом выводить в качестве индикатора на обычном графике. В TSLab за это отвечают блоки "HV (из учебника)" == "HV (from book)". Название происходит от английского "Historical Volatility". блок вычисляет и записывает на жесткий диск (в так называемый "Глобальный Кеш") историческую волатильность указанного базового актива. Кстати, это может быть акция. Например, если фьючерс очень неликвидный можно сделать оценку его исторической волатильности через оценку волатильности его акции.
Сервис Liquid.Pro использует взвешенное время. У них в году получается 220 000 торговых минут. Также в последнее время стали использовать экспоненциальную историческую волатильность (придавать свежим измерениям больший вес). В TSLab эта модель оценки исторической волатильности появится или как встроенный блок, или мы будем получать ее непосредственно с этого Сервиса, чтобы исключить возникновение разночтений (экспоненциальная волатильность вообще говоря зависит от стартовой точки и нам хочется этого избежать).
Для примера посмотрим график исторической волатильности для фьючерса на нефть брент BRX7 за одну торговую неделю:
Розовая жирная линия – историческая волатильность только по соседним свечам
Пунктирная красная линия – историческая волатильность по всем свечам подряд, то есть включая ночные гепы, геп через дневной и вечерний клиринг и т.д.
Этот пример наглядно показывает важность быстрой оценки исторической волатильности: если мерять волатильность по дневным барам, трейдер только утром в понедельник отреагирует на пятничное падение нефти. При этом как мы видим, уже все закончилось. В итоге, "дневной трейдер" ошибается дважды: сначала когда опаздывает за ростом волатильности, и потом когда опаздывает за ее падением. Постоянный внутридневной расчет на барах М1 позволяет намного быстрее реагировать на происходящие изменения. При этом экспоненциальная волатильность, судя по всему, будет реагировать еще быстрее.
Прикладываю 91-HV-RW.tscript, в котором построены эти графики. Импортируете его в TSLab и создаете на его основе агент. Запускаете, смотрите графики.
91-Compare-FutPx.tscript – различные способы получить цену БА
91-Compare-dT.tscript – различные способы получить время до экспирации
91-Collect-IV-RW.tscript – оценить волатильность-на-деньгах всех серий одного опциона и записать в Глобальный Кеш на жесткий диск
91-HV-RW.tscript – оценить историческую волатильность одного БА и записать в Глобальный Кеш на жесткий диск
7 февраля 2018 в 11:00 прошел третий вебинар в поддержку цикла статей "Для чайников". На основании статьи "" рассмотрены базовые понятия, лежащие в основе торговли этими интересными и перспективными инструментами.
Постараемся ответить на вопросы, заданные Участниками вебинара.
Серго
Что-нибудь можете порекомендовать почитать\посмотреть про улыбку волатильности?
Monax Monax
На одном счете две стратегии. Но живут они отдельно. В каждую стратегию бросаются только определенные страйки по сделкам. И просмотр двух стратегий совместно.
Такая фича есть в другой программе. Очень удобно
Коротко: есть специальный скрипт Static Analysis в который можно загрузить реальную суммарную позицию по опционам и дальше выполнить ее анализ и моделирование различных сценариев.
Подробнее:
С момощью скрипта 93-Static-Analysis.tscript можно превратить совокупную реальную позицию на счете в одну виртуальную позицию. После чего её можно детально изучить и прогнать различные сценарии и варианты перестроения. Как это делается на практике будет показано в следующем вебинаре.
Выборочное объединение позиций с разных опционных роботов сейчас не реализовано, но это реально.
eugeny sitnikov
Я пробовал через QuikLua там ничего не работало. Так 3 раза пробовал с определенными промежутками.
Коротко: связь с Quik имеет ограниченные возможности. В данный момент построить Доску Опционов в связке TSLab – Quik можно, но успех будет зависеть от мощности компьютера и количества опционов.
Подробнее:
Можно пробовать посмотреть улыбку и поработать с виртуальными позициями. Успех будет зависеть от мощности машины и от фактического количества опционов. Мы смогли посмотреть опционы на Брент. Вероятно, будут работать опционы на Сбербанк. В данный момент мы не рекомендуем эту связку для серьезной торговли опционами. Только для первичного ознакомления с интерфейсом. Если Вы захотите это сделать, запросите в техподдержке самую последнюю сборку. Вам нужна будет версия 2.0.23.43 или новее.
Торговля акциями и фьючерсами обычными линейными роботами работает надежно.
Чтобы не повторяться, предлагаем Вашему вниманию пару видео, в которых обсуждает тему рисков:
Имеется ли для данного счета для данного торгового инструмента хоть одно правило? Если нет, заявка блокируется. Об этом делается запись в Главном Логе программы (с кодом 206). По этому коду , оповещение по е-мейл, через Телеграм и так далее.
При торговле опционами зависимость нелинейная. Прикинуть в уме прибыль при разных сценариях невозможно крайне сложно. Поэтому мы поручаем машине рисовать для нас график. По горизонтали откладываем цену БА. По вертикали – прогноз стоимости позиции, если фьючерс прямой сейчас окажется в другой точке. Поскольку цена опциона определяется улыбкой, а в TSLab используется сразу 3 улыбки (см. статью ), то и профилей тоже 3.
Хеджирование – механический процесс. Если дельта посчитана "правильно". Формулы вычисления греков, выведенные из формулы Блека-Шолза (пример, ), неверны совсем. В условиях, когда имеется улыбка волатильности, эти выражения дают ошибочные результаты. То есть приводят к убыткам. В TSLab используется более надежный способ вычисления греков опционной позиции, учитывающий наличие улыбки.
Допустим, Вы уже имеете серьезный практический опыт и считаете, что греки нужно оценивать каким-то другим способом, тогда модульная архитектура TSLab позволяет без лишнего труда заменить отдельные вычислительные блоки и внедрить Ваши разработки в .
Если форма для Вас принципиально важна, Вам следует использовать торговый скрипт . Он в значительной степени воспроизводит возможности Доски Опционов. В нем Вы можете выставить Модельной Улыбке еще и параметр "Форма". Тогда улыбка для хеджирования будет совпадать с рыночной улыбкой.
Модульная конструкция TSLab позволяет это делать в рамках использования торговых скриптов на базе .
Если Вы – клиент TSLab, обратитесь в нашу техподдержку с этим запросом. Мы согласуем алгоритм расчета и реализуем вычислительную часть. Если Вы готовы оплатить разработку, Ваш запрос будет выполнен в приоритетном порядке и будет доступен только Вам. Если же Вы готовы согласовать алгоритм расчета, но сделать его доступным для всех, мы реализуем его бесплатно по мере появления времени и возможности. Еще одна возможность – Вы сами реализуете свой алгоритм расчета HV с помощью доступного всем TSLab C# API. Ваше ноу-хау будет внедряться в скрипт на базе . А сам (улучшенный) алгоритм можно будет укрыть в зашифрованный контейнер и таким образом защитить Вашу разработку при последующей продаже робота.
В скрипте можно конструировать свои позиции, крутить их и прогонять сценарии "А что если?". Но отправить на исполнение сейчас нельзя. Потому что все будет упираться в алгоритм этого самого исполнения. Что и в каком порядке нужно выставлять в рынок? По каким ценам? Что делать, если одну ногу не залили? Если Вас устраивает исполнение по рынку – пожалуйста. Это сделать несложно.
Тут есть интересная возможность: создать виртуальную позицию в опционах. При этом дельта-хеджирование будет выполняться на реальном рынке. Такой метод сейчас имеет известную популярность. На его подробно обсуждает (серия статей "Опционы для гениев", скажем, ). Примерно такая же идея заложена в стратегии Buy Flex Option и Sell Flex Option в одной из популярных программ для торговли опционами.
В TSLab имеется штатный скальперский стакан (он же Менеджер Заявок), который . Каждый может с его помощью совершить сделку. Но в общем случае она просто повиснет на балансе брокерского счета. Чтобы Доска Опционов увидела эту сделку, нужна небольшая хитрость. Если мы стартуем с окна улыбки, переключаемся на крайнюю левую закладку с названием "Доска" == "Board". Здесь перечислены все опционы в одной серии в табличной форме.
Во закончили на том, что был написан скрипт First-Option.tscript, вытаскивающий из опциона конкретную серию, а из серии – один определенный опцион. Этот полноправный торговый инструмент был нарисован на обычном линейном графике в дополнительной области графика.
Создаем агент обычным способом (это все описано в документации, подробности ):
Скрипт для измерения исторической волатильности HV (ALL).tscript доступен для скачивания бесплатно . (В комплекте также поставляются примеры других опционных скриптов, описание Доски Опционов и инструкции по настройке и запуску всей необходимой обвязки.) Необходимо на базе этого скрипта создать и запустить торговый агент. Он должен быть всегда включен. После этого измеренная историческая волатильность будет сохраняться в глобальный кеш и станет доступна во всех без исключения торговых агентах.
Рыночная улыбка (красная линия с желтыми узлами) строится по методике . Суть методики состоит в том, что существует некоторый шаблон улыбки, который трансформируется под текущие рыночные котировки. Для этого используется всего 3 подстроечных параметра: волатильность улыбки на деньгах, наклон улыбки и "форма". Третий параметр управляет скоростью роста ветвей улыбки на большом расстоянии от денег. Положительные значения параметра "Форма" заставляют края улыбки подниматься круче. Отрицательные – делают улыбку более плоской. В нормальной ситуации этот параметр принимает нулевое значение.
Поскольку эта логика достаточно формализована, то вместе со скриптом для оценки исторической волатильности мы предлагаем скрипты . Они сами отслеживают соотношение исторической и подразумеваемой волатильностей и набирают позицию только если на рынке сложились благоприятные условия. Описание работы этих роботов содержится .
Все эти проблемы одним махом решает сервис Liquid.Pro основателем и идеологом которого является . В чем главный смысл присутсвия заявок маркет-мейкера в стакане? Таким образом ММ хочет показать, что продаст или купит у желающих такой-то инструмент по указанной цене. Именно этим и занимается сервис Liquid.Pro: все желающие обмениваются между собой необязывающей информацией о своем интересе.
Во время трансляции было задано несколько интересных вопросов. Ответы на них .
Чтобы работать в этих условиях в TSLab реализован блок "Цена БА" == "Base Price". В него заложены различные алгоритмы определения цены фьючерса (последняя сделка, середина спреда между аском и бидом, по ценам опционов). В Редакторе Скрипта выделяем блок этого типа и ставим настройку "Алгоритм" == "Algorythm". Подробности можно посмотреть в документации на блоки, задать вопрос или обратиться в .
Сплошная жирная белая – на основании теоретических цен опционов. Используется колл-пут паритет, который позволяет узнать цену БА, если известны цены опционов. А цены опционов мы "знаем" потому что публикует теоретические цены всех опционов даже если в их стаканах нет ни одной заявки. Этот алгоритм быстрее чем по сделкам и стабильней, чем по стакану. К сожалению, тут мы будем вынуждены полностью полагаться на мнение Биржи.
А вот считает, что в году ровно 365 дней. И когда Вы видите в своем терминале теоретическую волатильность опционов – эта волатильность получена из теоретической цены именно с использованием плоского календарного времени.
Но и этого недостаточно! Многолетний практический опыт показал, что при приближении даты истечения такой точности уже недостаточно. Во-первых, опционы истекают в середине календарных суток. например, в 16:00 или в 18:45. И если Вы торгуете в этот последний день, то уже должны учитывать время с точностью до минуты. Точный учет расписания вместе с дневным и вечерним клирингом реализован в режиме торговое время ФОРТС. В данный момент это основная модель расчета торгового времени. В Доске Опционов и в торговых роботах по умолчанию используется именно она.
На верхнем графике выведены минутные свечи индекса РТС RIZ7 с .
У блока "Время до экспирации" == "Time to expiry" довольно много настроек, но все имеют понятное название и расширенное описание прямо в Редакторе Скриптов. Если документации окажется недостаточно – спрашивайте . Ответим и дополним.
К сожалению, понятие имеет много значений и смыслов, часто используется в совершенно разных контекстах. Мы будем стараться употреблять его в узком смысле в одном из двух значений:
Подразумеваемая волатильность (параметр σ ) возникает в модели (более полная статья ). Согласно этой модели, эволюция цены БА состоит из фиксированного (детерминированного) тренда μ и случайных колебаний вокруг него. По построению принимается, что случайные колебания вокруг "основного" тренда распределены по нормальному закону с нулевым средним. Поэтому у них есть единственный свободный параметр – дисперсия. Дисперсия (также известная как второй момент распределения) – это вполне строгое математическое понятие. Помимо прочего, оно дает конструктивную процедуру для её оценки на основании наблюдаемых на рынке цен. Если мы смотрим на цены акции или фьючерса и затем на основании этих цен делаем оценку второго момента распределения доходностей, то получаем оценку исторической волатильности изучаемого БА. Ниже вернемся к этому подробнее.
В модели удается вывести простые формулы для теоретических цен опционов пут и колл европейского типа. В этих формулах параметр σ играет ключевую роль, связывая скрытый параметр распределения вероятностей с реальными наблюдаемыми ценами. К сожалению, в этот момент дисперсию начинают называть "волатильность" и забывают о ее первоначальном смысле. После чего начинают применять к реальному рынку, который совершенно точно не является геометрическим броуновским движением – и получается малосъедобная окрошка. Но "ничего лучше еще не придумали", поэтому опционщикам приходится работать с общепринятыми величинами.
Достаточно содержит все необходимые формулы и пояснения. Здесь мы должны сделать одну важную оговорку: формулы вычисления греков неверны. Забудьте про них и даже не пытайтесь запомнить. Вычисление дельты или гаммы по этим формулам – грубейшая ошибка, которая будет высасывать деньги из Вашего депозита. В TSLab греки вычисляются правильным способом.
На верхнем графике выведены минутные свечи нефти BRX7 с .
Прикладываю , в котором построены эти графики. Импортируете его в TSLab и создаете на его основе агент. Запускаете, смотрите графики. В качестве упражнения, можете добавить еще одну панель с линейным графиком и вывести на него подразумеваемую волатильность в модели времени Liquid.Pro (FORTS).
Можем порекомендовать , где он рассказывает про опционную улыбку и различные нюансы при пересчете цен опционов в волатильность.
Как было сказано выше, в узком смысле историческая волатильность возникает в модели геометрического броуновского движения в качестве второго момента распределения случайной величины. Измерительная процедура подробно описана во многих источниках (например, ). В TSLab стандартная процедура выполняется с некоторыми улучшениями:
В свое время мы проанализировали другие модели оценки дисперсии. В частности, "продвинутые" модели с использованием минимума/максимума бара, с учетом цены открытия и т.д. И пришли к выводу, что все эти модели оценивания совершенно непригодны для реального рынка. Если Вы очень их любите/используете, можете реализовать сами с помощью или заказать разработку у нас. Мы эти модели решительно отвергаем и включать в стандартную поставку TSLab не планируем.
Зеленый график – минутные свечи нефти BRX7 с .
Более подробная информация о скриптах в комплекте поставки TSLab Опционы содержится в на .
Коротко: посмотрите наши и .
24 января 2018 в 11:00 прошел первый вебинар в поддержку цикла статей "Для чайников". На основании статьи "TSLab Опционы. Для чайников - цена, время, волатильность" рассмотрены базовые понятия, лежащие в основе торговли этими интересными и перспективными инструментами.
Постараемся ответить на вопросы, заданные Участниками вебинара.
Сергей Павлов задал вопрос:
Сергей Павлов
Можно ли говорить о волатильности рынка вне рамок конкретной модели? Когда мы говорим об исторической волатильности, то это некое число, посчитанное на истории по какой-то формуле.
Аналогично с IV - тоже некое число в рамках другой формулы, но не на истории, а в моменте.
Можно ли как-то определить волатильность рынка как таковую? Что это?
Перефразирую. Цена - факт. Время - полуфакт (всё вроде как относительно) и полуартефакт. Волатильность это факт или артефакт? Волатильность это свойство рынка или свойство модели? Иначе: волатильность присуща рынку или присуща модели?
Коротко: волатильность присуща рынку.
Подробнее:
Мы понимаем "(историческую) волатильность" в узком смысле. "Историческая волатильность – второй центральный момент распределения случайной величины." В этом смысле волатильность является характеристикой самого случайного процесса. Схематично измерительная процедура выглядит так:
берем цены закрытия баров некоторого таймфрейма (мы берем М1)
берем натуральный логарифм этих цен
берем разность двух соседних логарифмов
получается некоторая последовательность случайных чисел
вычисляем дисперсию этой случайной величины (второй центральный момент распределения)
вычисляем корень из дисперсии, получаем среднеквадратичное отклонение случайной величины
переводим СКО в годовое исчисление умножением на соответствующий масштабный множитель (зависит только от таймфрейма)
полученная величина объявляется исторической волатильностью рынка в данный момент времени
при поступлении новой информации (новый бар) процедура повторяется и мы вычисляем новую историческую волатильность
В этой связи хотим дополнительно сказать следующее. После обнаружения "тяжелых хвостов" в распределении случайной величины из пункта 4 возникает вопрос: "А имеет ли данная случайная величина дисперсию?". Этот вопрос далеко не праздный. Дело в том, что если хвосты распределения окажутся слишком тяжелыми, это будет означать, что дисперсии не существует в принципе.
Наше детальное исследование этого вопроса показывает, что хвосты распределения спадают все-таки достаточно быстро. Поэтому случайный процесс ("рынок") имеет дисперсию. Поэтому данная вычислительная процедура правильная. И получившуюся величину мы называем "историческая волатильность".
eugeny sitnikov
Почему на улыбке для ДХ не меняется форма. Может я хочу чтобы дельта набегала быстрее за счёт волатильности?
В данный момент модельную улыбку можно двигать по волатильности и также можно менять ее наклон независимо от рыночной улыбки. Это позволяет Вам реализовать эту потребность. Третий параметр (форма) будет влиять на работу дельта-хеджера незначительно.
Если же Вы считаете, что в Вашей методике это критически важно, то мы предлагаем Вам использовать торговый скрипт Real trading. Он во многом воспроизводит возможности Доски Опционов. Дополнительно позволяет Вам менять и развивать свое рабочее место. В частности, в рамках торгового скрипта очень легко добавить возможность настаивать у модельной улыбке еще и форму.
Доска Опционов – это общее торговое место "для всех". Мы должны тщательно балансировать сложность интерфейса и реальные потребности Пользователей. В первую очередь начинающих пользователей.
eugeny sitnikov
Если я сделал сделку в терминале, и хочу чтобы она была отражена на опционной позе как это сделать?
Есть 2 варианта. Через Менеджер Заявок или переносом заявки между роботами.
При использовании Менеджера Заявок Вы можете связать свою сделку с любым торговым роботом. В частности, с Доской Опционов. Для этого в режиме "Лимитная заявка" выберите в выпадающем списке нужную Вам Доску Опционов:
Кстати, если у Вас открыта Доска Опционов, вызвать Менеджер Заявок (уже настроенный на Ваш счет и на нужный опцион!) можно двойным кликом на строчку в таблице опционов. Поменяйте наименование Агента, при необходимости. Наименование сигналу, в данном случае, можно дать любое, например, пару букв. Сделка будет привязана к этому агенту.
Перенос заявки между роботами выполняется в таблице "Свои сделки" или "Свои заявки". Допустим, Вы совершили сделку с голоса, через веб-интерфейс своего брокера или через какой-то другой торговый терминал. В TSLab эта сделка появится как "неизвестная сделка" без комментария и без имени сигнала. Она не будет привязана ни к какому торговому роботу. Но её можно привязать к любому торговому роботу. В частности, к Доске Опционов. При переносе заявка перемещается как целое вместо со всеми сделками. То есть если заявки исполнялась кусочками по 1 лоту в 20 трейдов, выдернуть из нее отдельный трейд нельзя. Нужно переносить целиком всю пачку сделок + заявку.
Выбрали исполненную заявку, нажали кнопку "Перенести заявку". После этого появится диалоговое окно со списком тех агентов, к которым можно присоединить данную заявку (и все ее сделки).
ПС Функционал по переносу сделок/заявок доступен начиная с версии 2.0.23.4.
eugeny sitnikov
Почему так дорого стоит программа?
Коротко: программа стоит достаточно бюджетно.
Подробнее:
TSLab имеет 3 вида лицензий:
бесплатная – доступна при работе с историческими данными. Программа полностью рабочая. Позволяет полностью освоить программирование кубиками, протестировать свои торговые алгоритмы на исторических данных и найти свой "Грааль"
версия TSLab Lite – позволяет подключиться к реальному рынку и протестировать работу своих алгоритмов в реальных боевых условиях. Убедиться, что все работает ровно так, как Вы задумали. Также в этом режиме можно просматривать улыбки опционов, выполнять аналитические исследования, моделировать опционные позиции.
полнофункциональная версия – позволяет торговать на линейном рынке десятками миллионов рублей. На рынке опционов возможна торговля без ограничений.
Реальные счета людей, которые пришли на рынок всерьез и надолго, пришли зарабатывать составляют 1-10-30 миллиона рублей. TSLab позволяет показывать на этих счетах хорошую доходность, значительно превосходящую ставку банковского депозита и доходность ОФЗ. При серьезной торговле фиксированные расходы на качественный торговый инструмент становятся пренебрежимо малой величиной.
Еще подробнее этот вопрос обсуждался на Смарт-Лабе.
В прошлой заметке упомянули Доску Опционов – специальное рабочее место, входящее в поставку TSLab совершенно бесплатно.
В этом окне можно не только посмотреть текущее состояние рынка, но и сформировать позицию, управлять настройками дельта-хеджера, выставлять заявки по заданному уровню волатильности, управлять дельтой, анализировать профиль. Словом, здесь под руками находятся все необходимые инструменты для полуавтоматической торговли.
Хотя мы уже коротко упоминали улыбку и надеемся, что идея ее появления понятна, но хотелось бы прояснить нюансы. Дело в том, что опционный модуль вобрал в себя многолетний торговый опыт Алексея Каленковича. При этом улыбка волатильности расщепилась на несколько отдельных, которые отличаются своим предназначением и играют в торговле различные роли. Постараемся рассказать про каждую из улыбок, чтобы при работе в Доске Опционов было понятно что изображено на графике и для чего. (При реализации своих опционных роботов с помощью кубиков или C# API Вы можете ограничиться меньшим количеством улыбок. Или разработать одну улыбку своей мечты и далее использовать только ее для решения всех задач сразу.)
По материалам статьи был проведен вебинар.
Во время трансляции было задано несколько интересных вопросов. Ответы на них публикуем отдельно.
В соответствии с оригинальной методикой это прямая горизонтальная линия. Мы ее проводим на уровне исторической волатильности, которая должна быть предварительно посчитана скриптом HV (RW) или HV (ALL) (подробности можно освежить в первой части). Иногда опционы около денег котируются ниже уровня исторической волатильности. Если у Вас есть понимание, что эта ситуация продлится еще хотя бы несколько дней, их можно покупать и зарабатывать на дельте. Если же опционы котируются заметно выше уровня HV – их можно понемногу продавать. (Подробности этой простой торговой тактики рассматривались в предыдущей заметке.)
Стандартное обозначение – штриховая оранжевая линия. На верхней картинке можно увидеть, что уровень исторической волатильности фьючерса SiZ7 составляет 5.5% годовых.
Эта идея может показаться странной, но реальные заявки в стакане опционов тоже можно рассматривать как улыбку. Отдельно улыбка по аскам (оранжевые квадратики) и отдельно улыбка по бидам (голубые квадратики). На нашем рынке маркет-мейкеров и других участников торгов мало. Это приводит к тому, что аски могут далеко отстоять от бидов или вообще отсутствовать. Эти улыбки сильно скачут и не подходят для вычисления греков. Основная их польза в том, что можно отслеживать котировки "отбившиеся от стада" и забирать их к себе. Предполагая, что любые "некрасивые" искажения улыбки рано или поздно будут компенсированы.
Тонкая сплошная голубая линия показывает теоретическую волатильность. Ее любезно сообщает нам Московская биржа. Биржевая улыбка существует даже для самых неликвидных контрактов (например опционы на привилегированный Сбербанк SPZ7). Она дает нам первичную точку опоры, когда в контракте вообще нет заявок и когда непонятно сколько должны стоить опционы. Иногда биржа делает грубые ошибки при построении этой линии. Западные площадки вообще не транслируют теоретическую стоимость опционов и поэтому биржевой улыбки там не существует.
Даже глядя в этот безжизненный рынок уже можно понять, что покупать опционы по 45% – плохая идея. И продавать по 15% – тоже не стоит. Но можно попробовать выставить заявки на продажу по 30% и на покупку по 20%. Вдруг найдутся те, кто мечтает купить опционы на SPZ7, но не может? Строгая теория говорит, что скорее всего Вы при этом останетесь в плюсе (конечно, если выравнивать дельту).
Наша благодарность и теплые слова – вполне достаточно. Эта улыбка больше не заслуживает внимания. Она непригодна для расчета греков и даже для оценки профиля позиции.
Раз мы понимаем, что биржевая улыбка – плохая (и по некоторым критериям нас не устраивает), значит надо нарисовать свою. За годы торговли опционами Алексей Каленкович выработал свою авторскую методику построения рыночной улыбки. Подробности этого подхода были изложены на вебинаре "Миллион за улыбку" (вероятно, есть и другие видео) и очных семинарах (в составе общей торговой методики). Конспективно изложим основные пункты:
В некоторых абстрактных координатах имеется "правильный" "зародыш улыбки". Он гладкий, красивый, устойчивый. Алексей называет его "шаблон".
Дальше этот шаблон привязывается к реальному рынку. Для этого используется всего 3 параметра: волатильность на-деньгах, наклон на-деньгах, форма.
Сначала выставляется волатильность на-деньгах. Это обеспечивает позиционирование всей кривой по вертикали.
Затем выбирается наклон на-деньгах. Безразмерный параметр. Он мало зависит от времени до экспирации и от движения БА. Иногда наклон сохраняется неделями. Типичные значения наклона для всех рынков и всех торговых инструментов – 5-10 единиц. К моменту экспирации наклон уменьшается и тогда его можно принимать равным 0.
Форма в основном отвечает за поведение краев улыбки (насколько круто будут подниматься крылья). Безразмерный параметр. Типичное "нормальное" значение формы для всех рынков и всех торговых инструментов – 0 единиц. Иногда улыбку слишком растягивают ближе к прямой линии – тогда форма становится отрицательной. Скажем, (-5) или (-10) единиц. Иногда рынок ждет какую-то новость и сильное движение. Тогда крылья улыбки задираются вверх и форма становится +5 .. +10 единиц.
Хотя TSLab может автоматически выполнить первичную привязку рыночной улыбки (на основании биржевой) – но после этого мы должны сами следить когда и на сколько поменять ее параметры. Это основная характеристика всего рынка и нужно внимательно следить, чтобы биржевая улыбка не уводила Вашу рыночную далеко от реальных котировок. Дело в том, что именно относительно рыночной улыбки выставляются заявки на котирование опционов. И если кто-то вдруг потащит биржевую улыбку вниз ниже бидов маркет-мейкеров, то Вы просто продадите им свой объем. А через 10 минут биржевая улыбка вдруг восстановится – и Ваши продажи вдруг станут нереализованным убытком.
На Доске Опционов биржевая улыбка отмечена как сплошная красная линия с желтыми кружочками на страйке. Если навести мышку на узел, появится всплывающая подсказка с теоретической ценой опциона в этом страйке.
Например, на этой картинке мы считаем адекватной цену декабрьского пута страйка 16 000 на фьючерс SPZ7 равной примерно 434 рубля.
По биржевой улыбке строится профиль позиции. Исключительно в справочных целях на основании профиля вычисляется рыночная дельта, гамма, вега и тета. Вычисления этих характеристик выполняется численным дифференцированием. Это спасает всех пользователей TSLab от типичных ошибок при вычислении греков. Авторы учебных пособий обычно не акцентируют внимание на том, как правильно дифференцировать стоимость портфеля по различным переменным в условиях, когда волатильность сама является функцией (от страйка и от времени до экспирации).
Эту улыбку по смыслу точнее было бы называть "хеджевой". Её единственное предназначение – расчет дельты для устранения риска движения Базового Актива. Но мы будем придерживаться авторской терминологии.
Идея этого трюка такая. Рыночная улыбка связана с прогнозом движения цены БА до экспирации. Это может быть месяц, квартал или год. Но это некоторая статическая характеристика рынка на длинном интервале времени. А нам нужно выполнять дельта хедж. Несколько раз в день. Может быть, несколько раз в час. Интуитивно понятно, что поведение цены на коротком интервале времени отличается от нашего усредненного ожидания на горизонте в месяц. Это понимание необходимо каким-то образом выразить.
И Алексей придумал модельную улыбку. Она начинается из того же самого шаблона, что и биржевая. Но модельная улыбка всегда имеет нулевой наклон и нулевую форму. Грубо говоря, она симметрична относительно цены БА. И еще мы, как правило, меняем ее положение по вертикали. Общая рекомендация состоит в том, чтобы модельная улыбка стояла примерно посередине между рыночной и исторической.
Эта улыбка обозначена сплошной белой линией. Она симметрична и мы поставили ее на высоту 12% волатильности на деньгах. При рыночной 15.3%, исторической 9.3%. Если верить, что до декабря ничего не произойдет серьезного, то нужно достаточно агрессивно шортить декабрьские опционы на RIZ7. Но следует соблюдать риск-менеджмент и помнить о том, что иногда при переходе через ночь или через выходные бывает очень серьезный геп.
Портфельная улыбка возникает из желания оценивать текущий результат торговли. После формирования позиции хочется сразу понять насколько хорошими были цены сделок? Если мы ставили котировки на покупку ниже рыночной улыбки, на продажу – выше, то сколько рублей удалось при этом заработать? Если прошла неделя, хочется понимать мы в целом получаем или отдаем? Время идет, действительно ли наша позиция ведет себя как ожидается и переводит ожидаемую прибыль в реализованную?
До выхода TSLab версии 2.0.21 мы очень долго использовали для оценки прибыли рыночную улыбку. Это приводило к возникновению противоречия: чтобы котировать рынок, время от времени нужно подстраивать рыночную улыбку. Менять наклон, делать ее выше или ниже. Но при этом каждый раз происходит скачкообразное изменение прибыли позиции. Вчера был плюс, сегодня ноль. Пропадает понимание: это нас так распилил рынок неудачно, или мы сами подняли улыбку и получили переоценку позиции по веге?
Чтобы иметь правильное ощущение динамики прибыли, необходимо как можно реже менять параметры улыбки по которой эта прибыль рассчитывается.
Чтобы решить это противоречие пришлось добавить еще одну улыбку. Она служит для оценки текущей прибыли позиции. Обозначается сплошной зеленой линией.
Рекомендуем выбрать ее настройки перед началом формирования позиции в новой серии и далее менять их как можно реже. Когда будет понятно, что рынок уже изменил свое состояние и теперь вряд ли вернется к старым параметрам. Например, если в начале наклон рынка был +7 единиц и потом за неделю-две снизился до +3, то в этой ситуации уже можно отрегулировать наклон портфельной улыбки и сделать его +4 .. +5, потому что уже маловероятно, что за оставшееся небольшое время наклон снова увеличится до +7.
Если линий на графике становится много, лишние можно временно скрыть. Как правило, после настройки модельной и портфельной улыбки, их можно спрятать. Иногда мешают значки чужих заявок – тогда их тоже можно на время убирать. Нажатием в значок легенды раскрываем меню настроек. Слева от каждой линии есть чекбокс, который управляет ее видимостью.
Продолжаем изучать торговлю опционами с использованием платформы TSLab. В прошлый раз мы рассмотрели простейшую тактику покупки/продажи волатильности на одном страйке. Продали 10 августовских путов на сентябрьский фьючерс Сбербанка по цене 41 руб/шт.
При покупке опционов мы вроде бы находимся в комфортной ситуации. В каждой книжке напишут, что "при покупке опционов Вы заработаете как при движении рынка вверх, так и при движении рынка вниз. То есть в двух возможных сценариях из трех." О чем в книжках обычно умалчивают, это о зависимости позиции от волатильности (о вега-риске). В любой момент маркет-мейкер может передвинуть котировки, Биржа изменит теоретическую оценку опционов и спишет с нашего счета вариационную маржу. Если это произойдет, нам придется до экспирации доказывать, что волатильность больше, чем её оценивает ММ и отбивать убытки с помощью дельта-хеджирования. Второй момент состоит в том, что сейчас рынок имеет привычку надолго застревать на одном месте. При этом тета-распад становится существенным. Потеряв две-три дневные теты, мы начинаем с большим нетерпением ждать хоть какого-то большого и сильного движения, чтобы отбить накопившиеся убытки.
В текущих условиях монотонно снижающейся волатильности тета вроде бы на нашей стороне: рынок стоит, мы получаем вариационную маржу. Но при этом любое сильное направленное движение рынка обернется для нас потерями. При этом позиция имеет ещё и серьезный вега-риск. В любой момент маркет-мейкер поднимет котировки, Биржа поменяет свою теоретическую улыбку и переоценит нашу позицию в худшую сторону. После чего нам опять придется до экспирации доказывать, что волатильность вовсе не такая высокая, как её оценил маркет-мейкер. А если он окажется прав и рынок начнет мощные частые движения, то нам скорее всего придется закрывать позицию с убытком и соглашаться уже на его котировки.
Чтобы смягчить ситуацию, нужно уменьшить зависимость от веги и теты. Сделать это можно противоположной сделкой: откупить какие-то опционы, если мы продавали и продать какие-то опционы, если мы покупали. Эта логика приводит нас к позиции из двух задействованных страйков. В литературе позиция называется "риск-реверсал" (статья в Википедии),
В нашем примере мы продавали путы по высокой волатильности около 28%. Купить мы хотим подешевле, а самые дешевые опционы – это колы справа от денег. Их можно купить по волатильности порядка 23-24%. Купить нужно примерно такое же количество опционов, какое мы продали.
Эту идею активно использует Алексей Каленкович. У него есть посты и вебинары, посвященные вопросам построения улыбок, измерению исторической волатильности и торговым тактикам с использованием опционов. Также этой тактике посвящен цикл статей на смарт-лабе, которые опубликовал пользователь ch5oh. Этот пользователь уже довольно давно применяет эту тактику к различным опционам на ФОРТС. Показывает поведение этих позиций в различных рыночных условиях. Есть пример применения зигзага на американском рынке для опционов на е-мини SP500. Причем сила подхода Алексея Каленковича состоит в том, что даже на этом рынке удается достаточно хорошо вписать свою рыночную улыбку в котировки. Для этого достаточно управлять всего 3 параметрами улыбки.
При формировании такой позиции мы стараемся иметь положительную тету и положительную гамму. Тогда мы зарабатываем на неподвижном рынке, зарабатываем при движении вправо, мало зависим от веги (от произвола маркет-мейкера) и не очень много теряем при движении рынка влево в зону проданных путов.
Для анализа динамики исторической и подразумеваемой волатильности предлагается скрипт HVIV.tscript (входит в комплект поставки демонстрационных скриптов).
Структура скрипта достаточно простая: обычным образом объявлен линейный источник SourInst (фьючерс SRU7), бары выводятся на обычный линейный график Main.
Далее используются опционные блоки "Global HV" и "Global IV ATM" (описание в документации). Блок "Global HV" берет дату истечения фьючерса из торгового источника и поэтому не требует специальной настройки. Он извлекает историческую волатильность из Глобального Кеша TSLab и отображает её на графике в виде индикатора. Блок "Global IV ATM" немного сложнее. Поскольку в общем случае он ничего не знает про даты экспирации опционных серий, ему нужно указать параметр "Дата экспирации" == "Expiry". На картинке блок с названием IV_ATM_5 будет рисовать подразумеваемую волатильность на- деньгах августовской серии опционов (значения волатильности также берутся из Глобального Кеша).
Пример графика за текущую торговую неделю (позицию начали формировать вечером 25 июля при цене фьючерса около 16 250):
Обратите внимание как на ровном месте проваливается подразумеваемая волатильность. Это говорит о том, что Биржа иногда проводит теоретическую улыбку достаточно небрежно. Поэтому если Ваш робот использует в работе только теоретические цены Биржи, в эти моменты он будет совершать совершенно неадекватные сделки и таким образом попросту терять деньги. Именно поэтому при выставлении задачи котирования в терминах волатильности мы обязательно используем именно свою рыночную улыбку. Потому что она выгодно отличается от Биржевой улыбки стабильностью и управляемостью. Эта улыбка плавно деформируется вместе с рынком (по мере движения фьючерса и по мере истечения времени), но изменение уровня волатильности на-деньгах произойдет только по прямому указанию Пользователя в тот момент, когда это будет приемлемо и удобно.
Да пребудет с Вами вола!