Блог им. hannimed

Механизм работы дельта-хеджирования для новичков

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

Откуда берется дельта?

Давайте представим, что у нас есть следующая позиция:

Механизм работы дельта-хеджирования для новичков

  • П — портфель или портфолио, кому как больше нравится
  • V — стоимость опциона
  • ΔS — стоимость базового актива
т.е. наш портфель это купленный опцион, не важно какой, и проданный актив в количестве Δ штук. Но такая статическая формула к сожалению в реальном мире не всегда работает, по-этому нам нужно преобразовать её в динамическую. Уравнения, которые описывают динамику процесса называются дифференциальными и пусть они никого не пугают, в финансах их не много и они не такие сложные как в термодинамике. Итак, запишем формулу нашего портфеля в дифференциальном виде:


Механизм работы дельта-хеджирования для новичков

Здесь важно отметить, что дельта не изменяется. И это логично, т.к. она вычисляется на основе изменений.

Для описания изменения цены опциона применяют ряды Тейлора и Лемму Ито, об этом лучше почитать самостоятельно, там много интересного, но пропуская все подробности, просто вспомним формулу:
Механизм работы дельта-хеджирования для новичков


Подставляя эту формулу в уравнение нашего портфеля, мы получаем:

Механизм работы дельта-хеджирования для новичков


Если исходить из того, что рынок случаен, зададим вопрос: какие члены данного уравнения могут отвечать за случайность? Присмотревшись, можно заметить, что это все члены, где есть dS. Т.е. если взять их и приравнять к нулю, то случайность нашего портфеля будет сведена к мнимому:

Механизм работы дельта-хеджирования для новичков


Сокращая dS и, поменяв члены местами, мы получаем следующее уравнение дельты:


Механизм работы дельта-хеджирования для новичков


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


Мэтры конечно могут возразить и указать, что здесь есть еще Гамма, но пока не будем об этом ;)

Дельта для разных типов опционов

И как же нам применить выведенную выше формулу? Для этого нужно решить дифференциальные уравнения и вывести уравнения для опционов Call и Put. Не пугайтесь, решение приводить не буду, оно довольно громоздкое, но в результате получаются следующие формулы ценообразования опционов:

Механизм работы дельта-хеджирования для новичков

Механизм работы дельта-хеджирования для новичков

  • N(x) — функция нормального распределения
  • K — страйк
  • d1, d2 — составляющие формулы БШ, мы их уже использовали ранее


Теперь, используя подход выше для вывода дельты, представим, что мы купили Call и продали Δ базового актива, это можно записать формулой:


Механизм работы дельта-хеджирования для новичков

Подставляем формулу для Call опциона, получаем:


Механизм работы дельта-хеджирования для новичков


Как и раньше, можно заметить, что случайность этого портфеля определяется двумя членами, где присутствует S, вынесем их и приравняем к нулю:


Механизм работы дельта-хеджирования для новичков


Сократим S и поменяем члены местами, в итоге получим формулу дельты для Call опциона:


Механизм работы дельта-хеджирования для новичков

Таким образом, используя две базовые формулы для Call и Put, и формулу портфеля, можно выводить дельту для сколь угодно сложных конструкций, будь то «стрэдл» или «железный кондор», на одном или на нескольких страйках. Формула дельты может быть простой, может быть гигантской, но главное, что стоит помнить: дельта для каждой конструкции всегда своя.


Симуляция хеджирования

Для симуляции хеджирования, используем генерацию случайного поведения базового актива из предыдущей статьи. Суть нашей модели в следующем:
  • вычисляем стоимость опциона Call на первом шаге (для этого есть все параметры, волатильность, время, страйк)
  • вычисляем дельту опциона Call
  • покупаем опцион и шортим дельта БА
  • на каждом следующем шаге, вычисляем новую дельту и докупаем или продаем еще БА, в зависимости от разности дельты с предыдущей.

Ссылка на код на языке R, будет представлена ниже. 


На выходе получаются такие графики: 
Механизм работы дельта-хеджирования для новичков


Мне стало интересно, а что будет если применить эту же стратегию к покупке Put и продаже Call, Put. Добавив немного кода, получаются такие графики (покупка Call, покупка Put, продажа Call, продажа Put):


Механизм работы дельта-хеджирования для новичков


Код для самостоятельных экспериментов можно взять тут: github.com/dmitryy/finance/blob/master/RScripts/delta-hedge-simulation.R


Выводы


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

Update. Добавил выводы о прибыли, отдельной статьей. https://smart-lab.ru/blog/545345.php












★36
Улыбочку добавь и будет колл дешевле пута, а значит продажа пута против колла покажет прибыль.
Описанный случай, это когда сигма опциона равна сигме БА. А так как они у нас разные приравнивать ÐœÐµÑ…анизм работы дельта-хеджирования для новичков не очень получается. Потому как в N подставлена IV волатильность, а у изменения S может быть другая волатильность.

Дмитрий Новиков, в данном случае в N подставлена не IV, а именно та, которую использовали для генерации поведения БА. И как вообще можно рассчитать сигму опциона? Он же всё-время распадается?
avatar

Dmitryy

Дмитрий Новиков, и какая тогда будет «правильная» формула для дельты Call опциона?
avatar

Dmitryy

Dmitryy, Сигма опциона считается от цены опциона. Как меняется стоимость опциона от стоимости БА?
Дмитрий Новиков, стоимость опциона от БА меняется по формуле:


 
А как измерить сигму опциона, я не очень понял. Он же по тете распадается, это какая-то угасающая сигма должна получиться :)
avatar

Dmitryy

Dmitryy, Решение диф уравнения напишите. Если строго по БШ, то сигма должна быть одна и в БА и в опционе. Но у вас их две. Одна та что IV опциона, а другая, та что получится в БА. И если к опциону прикручен ДХ, то формула итоговая должна содержать как IV волу так и HV волу. 
Вы же про ДХ..?
Дмитрий Новиков, я вас понял, здесь пока IV нету. Возможно по-этому нет и прибыли.
avatar

Dmitryy

Dmitryy, \delta c\approx \Delta \cdot \delta S+\Gamma \,{\frac  {(\delta S)^{2}}{2}}.
Здесь сигма это изменение цены БА. И она RV, а IV сидит в греках опциона. В дельте и гамме. 
Ну а где же тут механизм? Я хочу понять, почему дельта в квиковском аналитике меняется каждые 20 секунд, даже если я ничего не делаю с портфелем… Так в чем суть такого механизма?  И как его может использовать маркетмейкер и клиент?
Активный Инвестор, видимо, потому что d1, которая зависит от времени, волатильности, цены БА — меняется.
avatar

Dmitryy

Активный Инвестор, Механизм в ПО. На бирже улыбку поменяли, от балды, а у вас дельта съехала. А использовать это можно так. Не использовать левое ПО, а думать самому. 
Дмитрий Новиков, 
Не использовать левое ПО
  то есть квиковский аналитик  — это левое ПО...  То что биржа меняет улыбку как хочет, это я понимаю, но зачем мне другое ПО, если по квиковскому работает и маркетос и брокер?
Активный Инвестор, Ни кто по нему не работает. 
Дмитрий Новиков, а это вы с чего взяли? Зачем кому то всякие левые аналитики, если идет инфа с учетом всех манипуляций биржи… Я не говорю про опционных псевдомаркетосов, я говорю про тех кто имеет договор с эмитентом, про маркетосов первого уровня.
Активный Инвестор, инфа от биржи идет для самой биржи. Просто опционы у нас уникальные маржируемые и надо волу транслировать. Для клиринга. А маркитосит специально обученное ПО. Со своей волой, принципом заявок и т.д.
Дмитрий Новиков, То есть в брокерский Квик биржа транслирует клиентский профиль риска для клиринга? А разве клиринг — это не департамент биржи? И зачем брокеру вола, ему важен результирующий клиентский убыток...  И я говорю про маркетоса не опционного, а линейного,  там нет никакой волы...  и постановка заявок там совсем по другим алгоритмам
Активный Инвестор, никто это дерьмо не использует. Только хомячки наивные. Начинающие опционщики (да и то случайно).
avatar

ch5oh

ch5oh, а почему так категорично… Вполне себе неплохая прога, главное  — никакого облака, где воруют профили портфеля… И никаких ошибок на ДДЕ  сервере
Формулы не видны. Видны, если кликнуть по формуле и в контекстном меня выбрать просмотр фона. Походу из-за прозрачности PNG. i.imgur.com/BtkppIT.png
avatar

Vlad

Vlad, переключитесь на белый фон))
avatar

Dmitryy

Dmitryy, ещё бы знать где это сделать. :-)
avatar

Vlad

Vlad, Настройки -> Уведомления -> там вверху цветовая тема)
Да, для меня это тоже было удивлением, почему тема в уведомлениях)
avatar

Dmitryy

Вы сколько симуляций прогнали, чтобы получить средний финрез?
Хотя бы по 10 000 траекторий усредняете?

 

Это крайне подозрительно, что средний результат получается ненулевой.

avatar

ch5oh

Можете нарисовать распределение итоговых финрезов (гистограмму) при усреднении по большому ансамблю траекторий?
avatar

ch5oh

ch5oh, хм, попробую, потребует немного времени)
avatar

Dmitryy

ch5oh, как-то так получилось на 10к, да, явно МО смещено, где-то баг похоже)

avatar

Dmitryy

Dmitryy, нашел причину… я намеренно опустил реинвестирование денег при продаже под процентную ставку, если добавить:
buyCall[i] = buyCall[i — 1] * exp(rate * timestep) + (deltas[i] — deltas[i — 1]) * s[i]

Всё сходится:


Но у нас же фьючерсы и никто не учитывает процентную ставку, так что в целом это решение под наш рынок нужно переделать.
avatar

Dmitryy

Обнулите процентную ставку — и все.

Просто если уж моделировать, то надо получать консистентные результаты, а не что-то странное и подозрительное. ;-)

avatar

ch5oh

ch5oh, ну ноль мы всё-таки получили, где прибыль то? :)
avatar

Dmitryy

Dmitryy, Вы внимательно читали Дмитрий Новиков ?

Если опционы куплены за волу 30% и рынок движется лог-нормально с истинной волатильностью 30%, то финрез должен быть нулевым.

Собственно, за это господа БШ получили нобелевку. (Ну, не за это, но принято говорить что за это).

avatar

ch5oh

ch5oh, а за что же получили?
avatar

Kot_Begemot

Пойду ка я лучше спот сбера зашорчу.
avatar

Turbo Pascal


Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.

Залогиниться

Зарегистрироваться
....все тэги
UPDONW