Блог им. elogunov

Страх и ненависть в захеджированных по дельте опционах

Продолжаем рассуждать на тему влияния восприятия PnL на «справедливые» цены опционов, начатую здесь:
https://smart-lab.ru/blog/573457.php

Динамика PnL дельта-нейтрального портфеля

Для начала, освежим в памяти некоторые хорошо известные результаты.

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

Обозначим стоимость некоторого опциона как Страх и ненависть в захеджированных по дельте опционах, где: Страх и ненависть в захеджированных по дельте опционах — цена базового актива, Страх и ненависть в захеджированных по дельте опционах — страйк, Страх и ненависть в захеджированных по дельте опционах — время до экспирации.

Разложим её в ряд Тейлора: Страх и ненависть в захеджированных по дельте опционах.
Коэффициентами этого ряда являются «греки» опциона. Введём для них привычные обозначения:
Страх и ненависть в захеджированных по дельте опционах («дельта»); Страх и ненависть в захеджированных по дельте опционах («гамма»); Страх и ненависть в захеджированных по дельте опционах («тэта»).

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

Тогда, изменение стоимости портфеля (PnL) за небольшой интервал времени Страх и ненависть в захеджированных по дельте опционах приблизительно равно: Страх и ненависть в захеджированных по дельте опционах.
Логарифмические доходности базового актива, в соответствии с выбранной динамикой, имеют следующее распределение: Страх и ненависть в захеджированных по дельте опционах. Тогда матожидание PnL портфеля за интервал времени Страх и ненависть в захеджированных по дельте опционах равно: Страх и ненависть в захеджированных по дельте опционах.

Если стоимость опциона является справедливой, то матожидание изменения стоимости портфеля Страх и ненависть в захеджированных по дельте опционах должно быть нулевым.

Найдем отсюда справедливую величину тэты:
Страх и ненависть в захеджированных по дельте опционах;
Страх и ненависть в захеджированных по дельте опционах;
Страх и ненависть в захеджированных по дельте опционах.

Таким образом, Страх и ненависть в захеджированных по дельте опционах.

Вернёмся к PnL портфеля Страх и ненависть в захеджированных по дельте опционах и подставим в него величину справедливой тэты:
Страх и ненависть в захеджированных по дельте опционах;
Страх и ненависть в захеджированных по дельте опционах.

Здесь Страх и ненависть в захеджированных по дельте опционах — «подразумеваемая волатильность», по которой был куплен опцион. Значения Страх и ненависть в захеджированных по дельте опционах, вычисленные для реализовавшейся по факту траектории цены есть ни что иное, как квадрат «мгновенной реализованной волатильности». А за скобками стоит то, что принято называть «долларовой гаммой».

Таким образом, динамика PnL захеджированного по дельте опциона зависит от разницы реализованной и подразумеваемой волатильностей.

Принятие решений с учётом отношения к рискам

Допустим, нам предложили сыграть в игру, PnL которой имеет нормальное распределение с матожиданием Страх и ненависть в захеджированных по дельте опционах и дисперсией Страх и ненависть в захеджированных по дельте опционах. В зависимости от конкретных значений параметров игры, вашего личного благосостояния, а также отношения к риску, вы можете вовсе отказаться от игры. А если вам предложат некую фиксированную сумму Страх и ненависть в захеджированных по дельте опционах, готовы ли вы будете отказаться от участия в игре?

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

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

Найдём теперь такое значение исхода игры, чтобы значение функции полезности от него совпадало с матожиданием полезности игры:
Страх и ненависть в захеджированных по дельте опционах. Оно называется «certainty equivalent» и характеризует наше отношение к возможным результатам игры с учётом нашего отношения к риску:
1. Если Страх и ненависть в захеджированных по дельте опционах, то значение Страх и ненависть в захеджированных по дельте опционах будет меньше матожидания игры Страх и ненависть в захеджированных по дельте опционах. То есть мы избегаем риска, и согласимся на фиксированную выплату, которая меньше матожидания игры.
2. Если Страх и ненависть в захеджированных по дельте опционах, то значение Страх и ненависть в захеджированных по дельте опционах будет больше матожидания игры Страх и ненависть в захеджированных по дельте опционах. То есть мы склонны к риску, и согласимся на фиксированную выплату, которая больше матожидания игры.
3. В случае Страх и ненависть в захеджированных по дельте опционах значение Страх и ненависть в захеджированных по дельте опционах равно Страх и ненависть в захеджированных по дельте опционах. То есть мы нейтральны к риску, и абсолютно одинаково относимся к фиксированной выплате величины Страх и ненависть в захеджированных по дельте опционах и к участию в игре с риском в виде дисперсии возможных исходов Страх и ненависть в захеджированных по дельте опционах.

Разность между матожиданием игры и certainty equivalent определяет величину «премии за риск» («risk premium»).

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

Оценивание опционов с учётом функции полезности

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

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

Рассуждая по аналогии, я пришёл к следующему выражению:
Страх и ненависть в захеджированных по дельте опционах.

Двигаясь от внутренних скобок к внешним, вы можете разглядеть:
1. Квадрат приращения цены, умноженный на долларовую гамму...
2.… от которого вычисляется функция полезности...
3.… от которой находится матожидание… (*)
4.… для которого находится certainty equivalent...
5.… из которого предельным переходом может быть найдено «справедливое» значение тэты.

(*): При нахождении матожидания используется та же динамика цены, что и в модели Блэка-Шоулза: Страх и ненависть в захеджированных по дельте опционах.

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

1. Строим триномиальное дерево возможных значений цены;
2. Определяем стоимость опциона (или портфеля опционов) на момент экспирации исходя из соответствующих контрактных функций;
3. Двигаемся по дереву назад, определяя гамму при помощи метода конечных разностей;
4. Исходя из гаммы и прочих параметров метода (волатильность базового актива Страх и ненависть в захеджированных по дельте опционах, шаг по времени Страх и ненависть в захеджированных по дельте опционах) в соответствии с выражением Страх и ненависть в захеджированных по дельте опционах определяем значения тэты и используя их, а также ранее найденные значения стоимости опциона, находим стоимость опциона в предыдущих узлах дерева;
5. В конечном итоге, будет найдена искомая стоимость опциона в первом узле дерева.

Не спешите пугаться :) В приложении представлена реализация данной методики на языке C++. Также вы найдёте демонстрационный скрипт, написанный на языке R.

Немного комментариев к ключевой части кода:
Страх и ненависть в захеджированных по дельте опционах

Размышления над результатами

В случаях покупателя гаммы, который склонен избегать риска, а также продавца гаммы, который склонен брать риск, получаются вот такие улыбки подразумеваемой волатильности:
Страх и ненависть в захеджированных по дельте опционах
Мало того, что они хвостатые до жути (степень жути регулируется при помощи «risk aversion»), так ещё и центр улыбки поднимается при падении базового актива. Неожиданно? :)

На самом деле, изменению центра улыбки существует достаточно простое объяснение: при падении цены базового актива уменьшается долларовая гамма, которая так удачно затесалась в расчёте ожидаемого значения функции полезности, а значит — сокращается и величина требуемой премии за риск. Таким образом, мы наблюдаем «leverage effect» в подразумеваемой волатильности, которого в динамике базового актива попросту не существует.

Put-call parity, по идее, нарушаться не должно, ибо гаммы в синтетическом фьючерсе нет, а значит предложенный способ вычисления тэты не должен оказывать влияния на его стоимость. Но я не проверял.

А вот над чем стоит поломать голову — так это над тем, почему получаемые улыбки волатильности оказываются ниже волатильности базового актива (она же — плоская улыбка по Блэку-Шоулзу). Возможное объяснение:
1. Покупатель гаммы, склонный избегать риска, хочет купить опцион с премией к рынку, чтобы наверняка отбить тэту путём дельта-хеджированием;
2. Продавец гаммы, склонный брать риск, готов продать опцион близкий к центральному страйку (в том числе и ниже рынка, т.е. «приплатить» величину премии за риск), в надежде забрать тэту и, если повезёт, раздать по-минимуму на дельта-хеджировании.

Итого

1. Вкратце рассмотрена динамика PnL дельта-хеджированного опциона в рамках модели Блэка-Шоулза;
2. На простом примере рассмотрено понятие «функции полезности» и её использование для принятия решений;
3. Предложен метод оценивания опционов, учитывающий отношение к рискам, определяемое функцией полезности;
4. Представлена реализация предложенного метода на языке C++;
5. При логнормальной динамике базового актива и отношению к рискам, отличающемся от нейтральности, получена модель, имеющая «улыбку волатильности» и отрицательную корреляцию изменений высоты центра улыбки волатильности по отношению к изменениям цены базового актива.

Приложение

1. Реализация предложенной методики оценивания опционов на языке C++;
2. Демонстрационный скрипт на языке R.


Страх и ненависть в захеджированных по дельте опционах

★23 | ₽ 4
И без формул все понятно… к чему они?
avatar

10-Q

10-Q, К сожалению, мои художественные способности оставляют желать лучшего, поэтому я не в силах выразить те же самые идеи одними лишь чёрточками на графиках. Обещаю исправиться.
avatar

Eugene Logunov

Eugene Logunov, не меняйтесь! с формулами лучше
avatar

:)

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

Boris

Boris, Можете привести пример того, что вы имеете в виду?
avatar

Eugene Logunov

Eugene Logunov, не лучше ли хеджироваться  другим инструментом, а в определенный момент снимать хедж, например трежерес\индекс, валютная пара\дериватив и тд. Вместо того чтобы фьючерсы хеджировать опционами? Ведь  один из существенных минусов фьючерсного хеджа в том, что он ограничен по времени. Я не особо разбегаюсь в  опционно-фьючерсном  хедже, но мне все это напоминает азартную игру, с гаданием на «кофейной гуще». Возможно такая стратегия была бы очень хорошей, если бы не экспирация, на которой мне кажется многие теряют свои депозиты. Ведь задача «предводителей», как мне видится, не дать заработать
«в долгую», ни медведям, ни быкам, ну если что-то и забирают с рынка, то это мизер. Как-то так.
avatar

Boris

Это ответ мне? Ну спасибо, друг...
Теперь бы бахнуть NZT-48 и всё станет понятно =)))
Антон Денисков (Fry), 
Это ответ мне?
Если б там был такой простой ответ...)
avatar

Eugene Logunov

Eugene Logunov, ахахахаха =))). Спасибо… Кстати, за час прочитал и в целом почти всё понял. Сам фигею какой я умный =)))
— Что же мы видим, товарищи? Мы видим, что блондин играет хорошо, а брюнет играет плохо. И никакие лекции не изменят этого соотношения сил, если каждый индивидуум в отдельности не будет постоянно тренироваться в шашк… то есть я хотел сказать — в шахматы… А теперь, товарищи, я расскажу вам несколько поучительных историй из практики наших уважаемых гипермодернистов Капабланки, Ласкера и доктора Григорьева

А в целом спасибо! Статью себе сохранил!
avatar

baron_samedi

Современная покерная индустрия зиждется на том мнении, что покер — отнюдь не спорт, а покерные игроки отнюдь не спортсмены… так, скорее обслуживающий персонал — крупье для игроков, которым просто нравится игра. Здесь уже нет никакой состязательности,  профессионализма, желания выиграть — просто человеку нужен другой человек напротив, для этакого «общения».

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

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

Теперь сомнения Евгения можно считать рассеянными?
avatar

Kot_Begemot

Kot_Begemot, 
Теперь сомнения Евгения можно считать рассеянными?
На самом деле можно по-разному результаты интерпретировать. Если минус, стоящий после U^-1() внести внутрь U() (т.е. присобачить его к 0.5*gamma*dS^2 вместо theta*dt) — то улыбка будет возникать для risk-seeking buyer'а и risk-avoiding seller'а. Странные дела творятся, в общем.
avatar

Eugene Logunov

Eugene Logunov, можно, но мне ваш метод понравился своей неординарностью. Обычно же так и предполагается, что buyer — risk seeker, а тут бах — и всё наоборот сошлось! В покере «фиши» тоже обычно risk-avoider'ы, с них все risk-seeker'ы и кормятся) Надо только дно по оси подтянуть, чтобы было понятно, что премия за игру, а что за риск.
avatar

Kot_Begemot

Интересный эксперимент. Найти тетту через гамму, которая находится через цену опциона, который находится через тетту. По идее улыбки должны совпадать… А вы показали, что не совпали… Напрашиваются два вывода: либо ошибка в вычислениях, либо скрытая возможность. Надо вернуться к этому, когда будет более глубокое понимание.
avatar

Dmitryy

Dmitryy, 
Напрашиваются два вывода: либо ошибка в вычислениях, либо скрытая возможность.
Никакого чуда тут нет.

Было theta*dt=…*gamma*dS^2, стало theta*dt=F(…*gamma*dS^2). А если тэта получилась другая — то и цены опционов не совпадают.

«Возможности» будут, только если смотреть с точки зрения другой модели. Например, если вернуться к Б.-Ш. В этом тоже ничего необычного нет.
avatar

Eugene Logunov

Надо отдать должное, недеццкий пост получился
Тимофей Мартынов, 
ходатайствую от себя: такие именно посты надо поощрять.
avatar

baron_samedi

 Представлена реализация предложенного метода на языке C++
 Где этот язык запускается, не тот ли что в Windows — создать в блокноте файл и  через командную строку CMD?
avatar

Вельвет

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

Чтобы запустить пример — нужно сделать следующее:
1. Установить интерпретатор языка R: cloud.r-project.org/
2. Установить среду разработки: https://rstudio.com/products/rstudio/ В принципе, можно обойтись и стандартной графической оболочкой, идущей в комплекте с R, но на мой взгляд она крайне неудобна.
3. Установить набор инструментов для сборки R (он включает в себя компилятор C++ и набор библиотек, которые понадобятся): https://cran.r-project.org/bin/windows/Rtools/
4. Запустить RStudio (среду разработки).
5. Установить дополнительные пакеты для языка R командами install.packages('Rcpp') и install.packages('RcppArmadillo'). Эти пакеты позволят вызывать код на C++ из R. Инструменты, установленные в пункте 3, обеспечат работоспособность этих пакетов.
6. Сохранить в файлы код примеров под именами utilitypricing.cpp и, например, runme.R. Файлы должны находиться в одной папке.
7. Возвращаемся в RStudio. Меняем рабочую папку на ту, в которой были сохранены файлы в пункте 6, например: setwd('D:/projects/new/articles/33')
8. Открываем файл runme.R, выделяем первые 30 строк и нажимаем Ctrl+Enter.
9. Если всё было установлено и настроено правильно — загрузятся пакеты Rcpp и RcppArmadillo, которые при помощи Rtools скомпилируют и загрузят модуль на C++ из файла utilitypricing.cpp. После этого можно будет выделить остальные строки файла runme.R и запустить их; через какое-то время, в зависимости от быстродействия вашего компьютера, вы увидите графики цен опционов в соответствии с предложенной моделью, а также улыбки волатильности.

Если вы хотите использовать метод отдельно — вам понадобится компилятор C++, с поддержкой стандарта C++11 или выше: GCC, MSVC++, ICC, MinGW, Clang; кроме того, понадобится библиотека Armadillo, которую я использовал в своём коде. Вам потребуется доработать код, в зависимости от выбранного компилятора и от того, как вы хотите испытать реализацию предложенного мною метода.
avatar

Eugene Logunov

Eugene Logunov, а есть какие-нибудь пакеты для R, которые рассчитывают значения индикаторов? То есть, загружаю данные в цсв, а пакет дает цифровые значения какого-нибудь МАСД?
avatar

Врач-бондиатОр

Врач-бондиатОр, Да, например, пакет TTR (документация).

https://cran.r-project.org/web/packages/available_packages_by_name.html
avatar

Eugene Logunov

Жесткий текст… У Вас наверное куча побед на олимпиадах и золотая медаль мехмата? ))
avatar

Врач-бондиатОр

Врач-бондиатОр, 
Жесткий текст…
Сделал пометку на следующий раз: «использовать побольше мягких знаков». Или стоит больше картинок с котиками добавить?))
куча побед на олимпиадах
Виноват, получал какие-то картонки.
и золотая медаль
Я достоин лишь чугунной.
avatar

Eugene Logunov

Круто! Ждём ликвидность.
avatar

bozon

мои пять копеек:

на мой взгляд правильнее решать не \theta = CE(...), а E[U(dП)] = 0

т.е. не связываться с сертэйнити эквивалентом, а просто приравнять экспектед утилити _вобще_всего_ мероприятия к нулю

да и вобще кмк при достаточно правильной утилити фанкшн можно раскрыть формулы аналитически
avatar

anon

anon, 
т.е. приравнять сертэйн эквивалент _вобще_всего_ мероприятия к нулю
Такую идею тоже рассматривал. Для exponential utility получается вот так:


Вариант с \theta ~ CE(…) мне показался интересен вот почему: распад на тэте хоть и происходит неравномерно по времени, но величина премии, которую заработаем или потеряем, определяется в момент открытия позиции. А вот сколько заработаем/отдадим на гамма-скальпинге — это уже дело случая, потому от этой части pnl логично рассматривать expected utility.
да и вобще кмк при достаточно правильной утилити фанкшн можно раскрыть формулы аналитически
Можно просто придумать схему интерполяции для функции theta=F(dollar_gamma, sigma, risk_aversion, dt). Вместо её расчёта в каждом узле дерева достаточно будет сосчитать для некоторой сетки в самом начале при заданных (sigma, risk_aversion, dt). Тогда и оценивание при помощи деревьев будет летать.

Или даже подумать над эвристиками для поверхностей волатильности типа sigma(S,K,T)=sigma_0-(…)*dollar_gamma_BlackScholes(S,K,T).

Есть гораздо более важный момент, который не отражен в статье и коде (поправить лень, но хоть в комментах напишу). Risk aversion надо нормировать таким образом, чтобы результаты не расходились при разном кол-ве шагов и времени до экспирации. В предложенном варианте с exponential utility это достигается небольшой модификацией:
avatar

Eugene Logunov

anon, Заметил, что вы коммент поменяли, пока я на него отвечал))
т.е. не связываться с сертэйнити эквивалентом, а просто приравнять экспектед утилити _вобще_всего_ мероприятия к нулю
Для mean-variance utility ответ совпадает с риск-нейтральным случаем (возможно не хватает нормировки risk aversion):

Что-то в этом есть, но мне не очевидно, почему E[U(…)] надо приравнивать именно к нулю. Может достаточно обеспечить равенство expected utility во всех страйках некоторой константе?

UPD: действительно, не хватало нормировки risk aversion:

Благодарю за идею))

avatar

Eugene Logunov

Eugene Logunov, 

перепачкав бумаги получилось так:

\theta = — 1/2 \gamma s^2 sigma^2 (1 + \alpha \gamma)

в альфе там coefficient of absolute risk aversion, мб с множителем
avatar

anon

anon, ну т.е. я вобще взял абстрактную утилити расписал в тейлора и всё стало зависить от U''(0)/U'(0), просто я несколько лет думал, и понял, что не знаю и никогда не узнаю какую утилити фанкшн я на самом деле люблю, но вот coefficient of absolute risk aversion я как-то могу
avatar

anon

Eugene Logunov, вот, да
у меня что-то вроде того получилось, только у меня видимо в альфу ушло что-то ещё типа s^2\sigma^2, но это у меня всегда косяк когда логнормальные штуки считаю
avatar

anon

anon, Осталось рассмотреть случай ненулевого risk-free rate и можно публиковаться)) Интересный и красивый результат, не сталкивался ещё с таким.
avatar

Eugene Logunov

Eugene Logunov, 

если есть возможность решить
\theta = — 1/2 \gamma s^2 \sigma^2 (1 + \alpha \gamma)
и
\theta = — 1/2 \gamma s^2 \sigma^2 (1 + \alpha \gamma s^2 \sigma^2)

для \alpha = +- \epsilon, просто чтобы качественно посмотреть улыбку на картинке

и да, в такой постановке улыбка консервативного покупателя это тоже самое, что улыбка агрессивного продавца, а агрессивного покупателя — то же что консервативного продавца
avatar

anon

Eugene Logunov, 

и ещё не хочется лезть со скучными деталями, но вы численно эксплисед или имплисед считаете?

я вот о чём, для того, чтобы считать что-то на n-1 слое надо бы гамму всё-таки брать с n-1 слоя наверное, а не с n-го, не? там бесконечная гамма в страйке на экспирацию может сильно влиять
avatar

anon

anon,
и ещё не хочется лезть со скучными деталями, но вы численно эксплисед или имплисед считаете?
Explicit. Для обычного уравнения БШ он сходится при достаточно мелком шаге.

Идея делать implicit для такого уравнения мне нравится, но, боюсь, я не осилю.
если есть возможность решить
\theta = — 1/2 \gamma s^2 \sigma^2 (1 + \alpha \gamma) и
\theta = — 1/2 \gamma s^2 \sigma^2 (1 + \alpha \gamma s^2 \sigma^2)

для \alpha = +- \epsilon, просто чтобы качественно посмотреть улыбку на картинке
Попробовал тем кодом, что есть под рукой. Увы, решения рассыпаются. Нужна другая схема.

Вариант 1:



Вариант 2:




avatar

Eugene Logunov

Eugene Logunov, 
ну да, там гамма квадрат в эксплисит сильно будет влиять, я мб ещё повнимательнее дифур повывожу для абстрактной утилити и моментов распределения, там так или иначе получится \theta = -1/2 * \gamma * s^2 * \sigma^2 * (1 + вся_соль_модели)

у меня давно вопрос, а вот если мы видим доску опционов, то можем ли мы как-то ревёрснуть «вся_соль_модели» малыми усилиями?

там как-нибудь через d^2Prem/dK^2, т.е. по сути через плотность наверное можно, просто тогда зная «вся_соль_модели» можно малыми усилиями ревёрснуть сами процессы для dS и dSigma (провернуть лемму Ито назад)
avatar

anon

anon
у меня давно вопрос, а вот если мы видим доску опционов, то можем ли мы как-то ревёрснуть «вся_соль_модели» малыми усилиями?
Как бы ещё вписаться во всякую экзотику, после того как цены для vanillas совпадут? Или хотя бы в цены опционов на S&P и VIX одновременно. Думаю, для рассматриваемой идеи это маловероятно.
avatar

Eugene Logunov

Eugene Logunov, 
и да, в такой постановке улыбка консервативного покупателя это тоже самое, что улыбка агрессивного продавца, а агрессивного покупателя — то же что консервативного продавца

я кажется передумал ))) там на конечных условиях не факт, что знаки отзеркалятся
avatar

anon

anon, Оказалось, что многое уже придумано до нас:
www.sciencedirect.com/science/article/pii/S0898122108000783 (см. часть 2.2 и формулу 9)
ijpam.eu/contents/2013-82-4/4/4.pdf (см. формулу 2.4)

Соображения там другие, но вылезает похожая нелинейность.
avatar

Eugene Logunov

Eugene Logunov, 

круто, посмотрел и откоментирую кое что:

немного здравого смысла — я вот не понимаю разговоры о слипеджах для положительной гаммы, совсем не понимаю

если хочется сделать сколько-то дельтахеджа, то почему не посчитать какой нужен объём на цене с учётом слипеджа? и просто делать этот объём, а не тот объём, который насчитан на мидмаркете (или какой референс прайс используется хеджером)

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

с отрицательной гаммой — так не прокатит, да, можно конечно держать биды в колах на отрицательной гамме и при падении откупить гамму, но с дельтой это только усилит проблему

в первой ссылке не понял как они пришли к уравнению на пси, а вобще всё-таки хочется как-то вынуть implied PDE из цен )))

ну и раз уж разразился длиным комментом, то всегда хотел понять: а зачем вобще в моделе БШ ассампшн на нормальность dW в dS/S = \mu dt + \sigma dW?
на сколько я понимаю, достаточно чтобы вместо dW^2 можно было написать dt или это уже ограничивает нас именно нормальным распределением?

как-то можно ослабить условия для применения леммы Ито?

avatar

anon

anon, 
если хочется сделать сколько-то дельтахеджа, то почему не посчитать какой нужен объём на цене с учётом слипеджа?
Тут не всё так просто. Может возникнуть обратная связь между ценой и нашим процессом дельта-хеджирования. При положительной гамме мы задавим волатильность, при отрицательной — можем вынести цену в какую-то сторону (если дельта из-за market impact будет нарастать быстрее, чем успеваем её сбрасывать).
или вобще раскидать в стакане копеечные заявки на тех уровнях, где набегает единица дельты, пробьёт — значит сделал без слипеджа,
Всё равно ведь будет passive market impact от лимитных ордеров.
К тому же, при достаточно большом размере ордеров может не найтись соответствующего объема встречных заявок, а это уже opportunity cost относительно идеального мира, в котором исполнить можно любой объём. Соответственно, получается другая цена опциона.

не пробьёт — ну таки и не было этой цены (в смысле референс прайса), ну т.е. вобще не было, референс прайс же выше бида и ниже офера
Гляньте вот этот коммент:
smart-lab.ru/blog/136027.php#comment1989620
Как метод определения reference price при торговле положительной гаммой — выглядит интересно.

Когда такая цена соответствует одной из best prices — там всё равно стоит конкретный конечный объём, который можно съесть, причём его ещё надо успеть взять быстрее конкурентов. Но такая оценка доступной ликвидности будет занижена относительно того, что можно собрать подставлясь под market orders. Кроме того, не будет учтена скрытая ликвидность.

А в целом — стратегий с бесконечной capacity в принципе не существует; контртрендовая торговля, коей и является гамма-скальпинг при положительной гамме — не исключение.

а вобще всё-таки хочется как-то вынуть implied PDE из цен )))
Помимо «implied binomial trees» на ум приходит словосочетание «обратная задача рассеяния» и всякие нехорошие мысли)) Увы, конструктивных идей на тему восстановления implied PDE у меня нет.

Возможно, нужна система из двух PDE — для опционов и для динамики распределения ликвидности в стакане базового актива.

а зачем вобще в моделе БШ ассампшн на нормальность dW в dS/S = \mu dt + \sigma dW?
Всего лишь простой и хорошо изученный случай. Есть более широкий класс процессов, описываемых SDE driven by Levy process.

Также есть обобщения БШ для fractional Brownian motion — там вот что пишут: "The classical theory of stochastic calculus is not applicable and the solution of the fractional stochastic differential equation is found using fractional Wick Itô Skorohod integrals."

как-то можно ослабить условия для применения леммы Ито?
Затрудняюсь с исчерпывающим ответом на этот вопрос.
avatar

Eugene Logunov

Что-то в этом есть, но мне не очевидно, почему E[U(…)] надо приравнивать именно к нулю.
ну эммм… если не к нулю, то это по смыслу вы сравниваете полезность мероприятия с депозитом, можно и не к нулю…
avatar

anon

битва экстрасенсов в разгаре 
avatar

Врач-бондиатОр


теги блога Eugene Logunov

....все тэги



2010-2020
UPDONW