Блог им. Kurbakovsky

Обобщенная модель ценообразования опционов. Часть 5. Формула стоимости опциона

Это заключительная глава. Попробуем еще разместить все тексты и Excel-файл с примером расчетов на файлообменнике. После этого сочту свою задачу исполненной, уйду в зимнюю спячку.
Обобщенная модель ценообразования опционов. Часть 5. Формула стоимости опциона
Обобщенная модель ценообразования опционов. Часть 5. Формула стоимости опциона


Обобщенная модель ценообразования опционов. Часть 5. Формула стоимости опциона



Обобщенная модель ценообразования опционов. Часть 5. Формула стоимости опциона
Обобщенная модель ценообразования опционов. Часть 5. Формула стоимости опциона






★29 | ₽ 5
Почему для коллов и путов используются разные коэффициенты b? Мы ведь рассматриваем одну цену, для которой выдвинута гипотеза m(x)=a+b*x, и стоимость путов выводится из стоимости коллов через put-call parity. Можно ли обойтись двумя параметрами { m; b } вместо трёх { m; b_c; b_p }? Сейчас необходимость в разных коэффициентах видится мне «костылём», аналогичным улыбке волатильности, используемой для исправления формулы Б.-Ш.

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

Спасибо за цикл статей. Было очень интересно.
Eugene Logunov, Если бы рынок в точности соответствовал гипотезе, то было бы bc=bp=bk=bh. В реальности они различаются. Одним коэффициентом b оба хвоста не описываются. bc — это как, по мнению трейдеров, должна меняться подвижность центральной точки при росте БА. bp — при падении. bc<>bp, это дает возможность построения выигрышных портфелей.
К приращениям перешли заменой переменной a=m-bx уже после решения. Если замену сделать сразу, то решение получается более громоздким.
Kurbakovsky,
bc — это как, по мнению трейдеров, должна меняться подвижность центральной точки при росте БА. bp — при падении. bc<>bp, это дает возможность построения выигрышных портфелей.
Тогда, если действовать в духе «не делать костыль, а исправить модель», напрашивается положить m(x)=a+b*x+c*I(x-x_0), где I — функция Хэвисайда, а x_0 — текущее значение базового актива. Аналитическое решение, наверное, получить будет посложнее. Впрочем, тут уже каждый сам решит, надо ли дорабатывать модель и как конкретно это сделать.

Согласен, что в рамках текущей модели bc<>bp можно интерпретировать как некую возможность для извлечения прибыли, но с вышеуказанной заменой случай c<>0 вовсе может не означать этого, т.к. опционы будут оцениваться с учётом асимметрии в реакции мобильности на движение базового актива.
Eugene Logunov, Вопрос о количестве костылей очень важный. БШ хотели обойтись одним, не получилось, в итоге появилась кривая IV с 5-6 костылями. У меня сразу 3, меньше нельзя, больше не нужно

Kurbakovsky, трехпараметрические модели для улыбок получаются у всех, кто серьёзно занимается этим вопросом.

 

Кстати, примером опционов которые ни на что не похожи являются опционы на волатильность. У них совершенно чокнутая «улыбка». Это единственный известный мне пример, который совсем никак не описывается трёхпараметрической улыбкой Каленкович Алексей (enki)  .

ch5oh, тут уже мне интересно, посмотрю обязательно
ch5oh, 
Кстати, примером опционов которые ни на что не похожи являются опционы на волатильность. У них совершенно чокнутая «улыбка».
Сложно ожидать, что поверхность для опционов на VIX получится смоделировать отдельно от поверхности опционов на SPX :) У них и ограничения на безарбитражность специфические имеются (тык; стр. 82):

Товарищ Gatheral на эту тему очень много презентаций делал, гуглятся по запросу "gatheral+spx+vix filetype:pdf".
ch5oh, Вполне себе описываются, все серии, теор.цена везде внутри спреда



Здорово! Сами считали?
avatar

bozon

bozon, Ваши допущения о подвижности можно однозначно решить через «улыбку» волатильности, получится уравнение Блэка-Шоулза-Мертона, в котором r или q больше нуля. Но Ваши расчёты демонстрируют фактическое отражение этих параметров на динамику базового актива. Очень интересно! 
bozon, кривая IV с 3-мя параметрами не получится
Kurbakovsky, почему? Два параметр, определяющие «улыбку» — hv и r (или q).
bozon, кстати, прийдётся считать ещё и ро!
kot_vezdehot, Грааль-это то, что дает 300% в месяц.
Виталий, спасибо за модель!
Эх, смешались в кучу кони, люди… Итого четыре параметра, два из которых (m и b_k) определяются по истории, а остальные (b_c и b_p) нужно калибровать к рынку, ибо сегодня (сразу после калибровки) они описывают рыночные цены, а завтра — уже нет. Ну и переход к дифференциальному уравнению так и не был обоснован с достаточной строгостью (то, что есть сейчас — это по сути использование леммы Ито, там где она не применима).

Спасибо за публикацию вашего монументального труда здесь, но вопросов пока больше, чем ответов :)
avatar

bstone

bstone, m,bc,bp описывают рынок (сейчас на дворе солнечно и ветра нет), bk — прогноз, который основан на наблюдениях (к вечеру обещают дождь). Рациональное поведение — одеться легко и взять зонтик. Кстати, все коэффициенты достаточно стабильны по времени.
Kurbakovsky, так вот же некоторые коллеги тут строят улыбку волатильности на трех параметрах и тоже говорят, что они достаточно стабильны по времени. Та же история, по сути, только гораздо проще.
bstone, буду благодарен, если дадите ссылку, я таких моделей не видел
Kurbakovsky, я такие модели не жалую, но «китайская» и «улыбка Каленковича», насколько помню, всплывают тут периодически. ch5oh больший любитель такого — он прояснит.
bstone, нет, подробно не проясню. Но Алексей действительно умеет обходиться 3 параметрами. Причем поведение двух из них более-менее предсказуемо во времени. Точнее, понятно какими они должны быть к моменту экспирации. =) Что само по себе тоже приятно.
ch5oh, Да я уже сам почитал. Те же три параметра (плюс параметры модельной улыбки, которые зафиксированы), они даже по смыслу похожи
Kurbakovsky, только там нет разбиения на «параметры для путов»и «параметры для колов». Есть просто улыбка волатильности. Чьи заявки с ней не согласны — с теми можно торговать.
ch5oh, наклон делит на колы и путы

Kurbakovsky, нет, не делит. Либо Вы не понимаете меня, либо я Вас.

С уважением.

ch5oh, Не могу объяснить на пальцах, а рисовать лень. Один параметр определяет высоту центральной точки (у меня в пунктах цены, у Алексея в пунктах волатильности). Еще два для хвостов, у меня по одному для колл и пут, у него два для пары — сначала наклон, потом вверх-вниз хвосты. 
PS Отправил Вам на почту файлы. Разместите, пожалуйста, если можно

Kurbakovsky, большое спасибо.

 

Присланные Вами файлы доступны по следующей ссылке:

https://www.dropbox.com/sh/9vvu5ev68uxaomr/AAA4tQABGwvnxbpEz65rlSNma?dl=0

ch5oh, Спасибо!
bstone, А почему лемма Ито неприменима?
Kurbakovsky, потому что она завязана на свойства Винеровского процесса, которых у вас нет в силу «неслучайности» процесса в вашей модели.
bstone, да нет же, модель потому и обобщенная, что не зависит от природы процесса. Предположите, что он случайный и используйте лемму, результат не поменяется
Kurbakovsky, хорошо, забудем про лемму Ито пока.

Вы, когда делали переход от разности стоимости портфеля к уравнению баланса, потребовали, чтобы интервал \DeltaT был настолько мал, что вторая производная C(x) на нем была бы постоянна. Но, чтобы уравнение баланса работало в этом случае, нужно чтобы 'm' была постоянной величиной на любом интервале величиной \DeltaT. Но совершенно очевидно, что это не так.

Более того, на каком интервале вы считаете 'm' обычно? Насколько реально на нем выполняется требование к постоянству гаммы?
а как быть с док-вом, что PCP моделенезависим и справедлив всегда, а не только при терминальных условиях
flextrader, В случае нарушения паритета можно построить гарантированно безубыточный портфель не имея вообще никакой модели
Kurbakovsky, 
можно построить гарантированно
если получится.
Андрей К, Скоростью доступа к рынку при построении такой модели можно пренебречь.

А вот спреды и транзакционные издержки уводят нас от строгого равенства в put-call parity для европейских опционов в сторону двустороннего неравенства. Для модели это может иметь последствие в виде того, что коэффициенты b_p и b_c могут чуть отличаться из-за этих самых спредов и транзакционных издержек.
Eugene Logunov, есть опыт, насколько они могут отличаться?
Андрей К, Для этой модели опыта пока что вообще нет. Но численно сделать это элементарно: записываем привычный put-call parity { C-P=F-K } через цены bid-ask { C_ask-P_bid>=F_bid-K; C_bid-P_ask<=F_ask-K }, откуда получаем неравенства на цены путов: { P_bid<=C_ask-F_bid+K; P_ask>=C_bid-F_ask+K }. Для учёта транзакционных издержек (комисс биржи/брокера) можно внести соответствующие поправки в цены bid/ask инструментов.
Всё, что этим неравенствам удовлетворяет, не даёт возможностей для арбитража. Если провести модель через midprices коллов — можно будет найти диапазон параметров модели для путов, не приводящий к арбитражу.
Андрей К, вопрос был, как доказать, что формула паритета всегда справедлива. При чем тут транзакционные издержки 
Kurbakovsky, ааа, тогда извините что влез. Так то да, доказывать можно.
Kurbakovsky, это тривиально, если исходить из других стартовых позиций.
и да, притягивание ГО к прайсингу — это вообще нехорошая тема, потому как фактически оно у всех разное. тема в теории не лишена смысла и логики, но на справедливых ценах отражаться не должна, др. словами, все подобные неэффективности схлопнуты  
flextrader, если бы все неэффективности были «схлопнуты», то на опционах нельзя было бы зарабатывать. Однако зарабатывают
У кого то получается заработать по этим формулам? Вопрос не риторический.
Ray Badman, получается
Опять расчеты с дичайшими допущениями замешанные на формулах. 5 лет тусую на дурлабе и чем более кони комиссы и в плинтус ликвидность тем больше этих расчетов. Когда спреды как в ванильках уже будут так наверняка будут еще более сложные расчеты по типу «мама я все посчитал...». Контент строго под шизо-считоводов, которых тут считанные единицы (имхо). Посути боты пишут ботам для тупо раскрутки ресурса под рекламные блоки.
Kurbakovsky, спасибо, во время Вашей зимней спячки намерен поэкспериментировать. Рассуждения представляются логичными и согласующимися с собственными представлениями, включая неслучайный характер некоторых процессов и прочими соображениями, типа допустимости считать непрерывными цены высоколиквидных инструментов.
До сих пор максимально  интересовался лишь предсказанием абсолютных приращений, и пока непонятно, получится ли что-то с подвижностью.
Несколько удивило лишь отсутствие интереса к предиктивным свойствам аномалий, ибо даже не очень наблюдательным людям продолжительный биржевой опыт позволяет что-то предвидеть, добавляя немного уверенности, не говоря уж об изучающих целенаправленно (кстати, первые предвестники сегодняшнего концерта появились примерно за 15 мин).
старый трейдер, какие? я ничего не увидел
Kurbakovsky, сомневаюсь, что можно предвидеть жирные пальцы трейдеров Энергобанка.
PS: это не означает, что величину движения и время можно было спрогнозировать, увеличивалась лишь амплитуда и количество факторов-прдвестников, характерных для предстоящего существенного ускорения движения.

старый трейдер, что-то типа приближения к точке бифуркации? И Вам удалось разработать работающий матап для поиска таких точек?

Респект.

ch5oh, спасибо, но пока без «доработки напильником» в виде вмешательства человека не получается, жаловался уже, кажется. Хочется попробовать поженить с подвижностью.

Если будут будут сколь-нибудь похожие на положительные результаты, обязуюсь непременно написать Автору.
старый трейдер, А все-таки, что за факторы-предвестники? У меня ничего не предвещало


Kurbakovsky, наверняка помните времена, когда наш рыночек дергался за e-mini и росли «школы скальперов». Не требовалось семи пядей во лбу, чтобы автоматизировать и обойти ручных трейдеров, потом автоматизировать отбор профита у автоматизаторов и т.д., пока халява не кончилась. Но сама-то связь никуда не делась, лишь намного усложнилась, рынки взаимозависимы. Судя по косвенным признакам, есть люди которые пытаются эти связи отлавливать, Саймонс прямо говорил о совокупностях факторов для модели. Я тоже энное количество тысяч часов потратил и трачу, из них и растут слишком сбывающиеся прогнозики, если кто следит. Естественно, что факторам полагается быть незаметными и множественными, иначе градиентно бустящая толпа «молодых и талантливых математиков» их моментально откопает и уничтожит.
старый трейдер, понятно, спасибо

 Господа, ch5oh любезно разместил мои файлы здесь. Там пример Excel-расчета

Присланные Вами файлы доступны по следующей ссылке:

https://www.dropbox.com/sh/9vvu5ev68uxaomr/AAA4tQABGwvnxbpEz65rlSNma?dl=0

Большое спасибо за модель и формулы! Вопрос про вегу: сделал расчет греков, все более-менее похоже на то, что показывает БШ, кроме веги. Видимо, у Вас вега показывает изменение PnL при изменении подразумеваемой подвижности, а не подразумеваемой волатильности (IV)? Например, вега по БШ показывает 190п, а вега по Вашей формуле 2п (mI при этом 1700п). Правильно ли понимаю, что если mI вырастет на 1п, то стоимость опциона по модели должна увеличиться на 2п? Не подскажете — как можно пересчитать вегу_mI в вегу_iv (чтобы можно было сравнить с БШ)? Спасибо.
Кирилл Браулов, Все верно, у меня вега считается как изменение цены в пунктах на изменение единицы mI. У БШ — на изменение 1% волатильности. Для пересчета нужно разделить мою вегу на (Days^0,5*100/F). Days — количество торговых дней в год, F — цена БА в пунктах. То есть для РТС сейчас нужно примерно умножить на 89. Это же соотношение связывает волатильность и подвижность. Во второй главе я писал об этом.
Kurbakovsky, спасибо, получилось!
(выходит закладываете, что в году 270 рабочих дней?)

Еще вопрос, если можно: чтобы нарисовать профиль PnL позиции (как будет меняться PnL в зависимости от БА), то можно просто в формулы 5.3 и 5.4 подставлять новые значения цены БА (x) и получать цены опционов? Или там хитрее, и нужно учитывать, что m изменится? Т.е. m(x) = a_k + b_k*x. Зная x (текущая цена БА), b_k (угол наклона линии регрессии) и m (текущая подразум. подвижность), находим a_k, и теперь можем вычислить m для любой новой цены БА, и в формулы 5.3/5.4 подставляем уже заново вычисленную m для нужного x?
Я считаю 260 торговых дней, но я не знаю, сколько закладывает биржа в формулу БШ (нужно смотреть их методику), от этого результат тоже зависит.
Нужно учитывать изменение m. Новое m1=m0+(F1-F0)*bk. F0-текущее значение БА, F1 — новое. Но обязательно учитывайте, что bk — это прогноз, точного будущего значения мы не знаем.
Kurbakovsky, раньше биржа закладывала 365 дней. Сейчас не проверял, но, думаю, так и осталось. Но это, вроде, на собственные расчеты (по БШ) никак не влияет. Если с биржи брать только бид-аски, а транслируемую биржей IV игнорировать.

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

А формулы для Воммы у Вас случайно нету?
Кирилл Браулов, Нет, к сожалению
В описании есть фраза:
Приведенные формулы используются только для опционов “вне денег” 

и далее указано, что для левого хвоста нужно использовать b_Put, а для правого b_Call. Так и сделал. Сравнил с результатами в Ексель-файле (на вкладке Tab). Гамма, вега и тэта совпали идеально (как минимум до 10го знака после точки). А вот цены опционов и дельты — не совсем совпали. Для OTM страйков все совпало, а для ITM есть отличия уже в первом знаке после точки. Посмотрел код VB. Там гамма, вега и тэта вычисляются в соответствии с цитатой (b_Put для левого хвоста, b_Call для правого). А сами цены и дельта — уже нет. Все расчеты для коллов идут с b_Call (без учета: страйк вне денег или в деньгах), а для путов с b_Put (тоже без учета ITM/OTM). Переделал у себя также, после этого везде все идеально совпало, и цены и дельты. 

Правильно ли понимаю, что фраза в описании (b_Put для левого хвоста, b_Call для правого) касается расчетов только гаммы/веги/тэты? Или она касается и цен с дельтами, просто в коде VB неточность?
Кирилл Браулов, Расчет цен и дельты чуть сложнее. В коде все правильно, просто не до конца. Нужно предусмотреть процедуру сглаживания, иначе в окрестности центральных страйков цена может оказаться негладкой, а дельта будет меняться скачком (при bc<>bp). Я не стал описывать эту процедуру, потому что ее можно проводить по-разному.
Ниже один из вариантов сглаживания Дельты. Если не разберетесь, позже поясню

Public Function bTheoDelta(ByVal F As Double, ByVal S As Double, ByVal T As Double, _
ByVal sig As Double, ByVal bc As Double, ByVal bp As Double, ByVal bk As Double, ByVal Tip As Boolean) As Double
Dim cc As Double, cp As Double, pp As Double, pc As Double
cc = TheoValue(F, S, T, sig, bc, True)
cp = TheoValue(F, S, T, sig, bp, True)
pc = TheoValue(F, S, T, sig, bc, False)
pp = TheoValue(F, S, T, sig, bp, False)
Dim ccDelta As Double, cpDelta As Double, pcDelta As Double, ppDelta As Double
ccDelta = TheoDelta(F, S, T, sig, bc, bk, True)
cpDelta = TheoDelta(F, S, T, sig, bp, bk, True)
pcDelta = ccDelta — 1
ppDelta = cpDelta — 1

If Tip = True Then bTheoDelta = ccDelta * pc / (cc + pc) + cpDelta * cc / (cc + pc)
If Tip = False Then bTheoDelta = ppDelta * cp / (pp + cp) + pcDelta * pp / (pp + cp)

End Function

Kurbakovsky, спасибо! Теперь дельта плавно меняется. Не поделитесь еще — как сглаживаете цены? А то смущает точка перегиба для цен (на ЦС).

....все тэги
UPDONW