Это заключительная глава. Попробуем еще разместить все тексты и Excel-файл с примером расчетов на файлообменнике. После этого сочту свою задачу исполненной, уйду в зимнюю спячку.
Eugene Logunov, Если бы рынок в точности соответствовал гипотезе, то было бы bc=bp=bk=bh. В реальности они различаются. Одним коэффициентом b оба хвоста не описываются. bc — это как, по мнению трейдеров, должна меняться подвижность центральной точки при росте БА. bp — при падении. bc<>bp, это дает возможность построения выигрышных портфелей.
К приращениям перешли заменой переменной a=m-bx уже после решения. Если замену сделать сразу, то решение получается более громоздким.
Eugene Logunov, Вопрос о количестве костылей очень важный. БШ хотели обойтись одним, не получилось, в итоге появилась кривая IV с 5-6 костылями. У меня сразу 3, меньше нельзя, больше не нужно
Kurbakovsky, трехпараметрические модели для улыбок получаются у всех, кто серьёзно занимается этим вопросом.
Кстати, примером опционов которые ни на что не похожи являются опционы на волатильность. У них совершенно чокнутая «улыбка». Это единственный известный мне пример, который совсем никак не описывается трёхпараметрической улыбкой Каленкович Алексей (enki) .
bozon, Ваши допущения о подвижности можно однозначно решить через «улыбку» волатильности, получится уравнение Блэка-Шоулза-Мертона, в котором r или q больше нуля. Но Ваши расчёты демонстрируют фактическое отражение этих параметров на динамику базового актива. Очень интересно!
Эх, смешались в кучу кони, люди… Итого четыре параметра, два из которых (m и b_k) определяются по истории, а остальные (b_c и b_p) нужно калибровать к рынку, ибо сегодня (сразу после калибровки) они описывают рыночные цены, а завтра — уже нет. Ну и переход к дифференциальному уравнению так и не был обоснован с достаточной строгостью (то, что есть сейчас — это по сути использование леммы Ито, там где она не применима).
Спасибо за публикацию вашего монументального труда здесь, но вопросов пока больше, чем ответов :)
bstone, m,bc,bp описывают рынок (сейчас на дворе солнечно и ветра нет), bk — прогноз, который основан на наблюдениях (к вечеру обещают дождь). Рациональное поведение — одеться легко и взять зонтик. Кстати, все коэффициенты достаточно стабильны по времени.
Kurbakovsky, так вот же некоторые коллеги тут строят улыбку волатильности на трех параметрах и тоже говорят, что они достаточно стабильны по времени. Та же история, по сути, только гораздо проще.
Kurbakovsky, я такие модели не жалую, но «китайская» и «улыбка Каленковича», насколько помню, всплывают тут периодически. ch5oh больший любитель такого — он прояснит.
bstone, нет, подробно не проясню. Но Алексей действительно умеет обходиться 3 параметрами. Причем поведение двух из них более-менее предсказуемо во времени. Точнее, понятно какими они должны быть к моменту экспирации. =) Что само по себе тоже приятно.
Kurbakovsky, только там нет разбиения на «параметры для путов»и «параметры для колов». Есть просто улыбка волатильности. Чьи заявки с ней не согласны — с теми можно торговать.
ch5oh, Не могу объяснить на пальцах, а рисовать лень. Один параметр определяет высоту центральной точки (у меня в пунктах цены, у Алексея в пунктах волатильности). Еще два для хвостов, у меня по одному для колл и пут, у него два для пары — сначала наклон, потом вверх-вниз хвосты.
PS Отправил Вам на почту файлы. Разместите, пожалуйста, если можно
bstone, да нет же, модель потому и обобщенная, что не зависит от природы процесса. Предположите, что он случайный и используйте лемму, результат не поменяется
Вы, когда делали переход от разности стоимости портфеля к уравнению баланса, потребовали, чтобы интервал \DeltaT был настолько мал, что вторая производная C(x) на нем была бы постоянна. Но, чтобы уравнение баланса работало в этом случае, нужно чтобы 'm' была постоянной величиной на любом интервале величиной \DeltaT. Но совершенно очевидно, что это не так.
Более того, на каком интервале вы считаете 'm' обычно? Насколько реально на нем выполняется требование к постоянству гаммы?
и да, притягивание ГО к прайсингу — это вообще нехорошая тема, потому как фактически оно у всех разное. тема в теории не лишена смысла и логики, но на справедливых ценах отражаться не должна, др. словами, все подобные неэффективности схлопнуты
Опять расчеты с дичайшими допущениями замешанные на формулах. 5 лет тусую на дурлабе и чем более кони комиссы и в плинтус ликвидность тем больше этих расчетов. Когда спреды как в ванильках уже будут так наверняка будут еще более сложные расчеты по типу «мама я все посчитал...». Контент строго под шизо-считоводов, которых тут считанные единицы (имхо). Посути боты пишут ботам для тупо раскрутки ресурса под рекламные блоки.
Kurbakovsky, спасибо, во время Вашей зимней спячки намерен поэкспериментировать. Рассуждения представляются логичными и согласующимися с собственными представлениями, включая неслучайный характер некоторых процессов и прочими соображениями, типа допустимости считать непрерывными цены высоколиквидных инструментов.
До сих пор максимально интересовался лишь предсказанием абсолютных приращений, и пока непонятно, получится ли что-то с подвижностью.
Несколько удивило лишь отсутствие интереса к предиктивным свойствам аномалий, ибо даже не очень наблюдательным людям продолжительный биржевой опыт позволяет что-то предвидеть, добавляя немного уверенности, не говоря уж об изучающих целенаправленно (кстати, первые предвестники сегодняшнего концерта появились примерно за 15 мин).
PS: это не означает, что величину движения и время можно было спрогнозировать, увеличивалась лишь амплитуда и количество факторов-прдвестников, характерных для предстоящего существенного ускорения движения.
ch5oh, спасибо, но пока без «доработки напильником» в виде вмешательства человека не получается, жаловался уже, кажется. Хочется попробовать поженить с подвижностью.
Если будут будут сколь-нибудь похожие на положительные результаты, обязуюсь непременно написать Автору.
Kurbakovsky, наверняка помните времена, когда наш рыночек дергался за e-mini и росли «школы скальперов». Не требовалось семи пядей во лбу, чтобы автоматизировать и обойти ручных трейдеров, потом автоматизировать отбор профита у автоматизаторов и т.д., пока халява не кончилась. Но сама-то связь никуда не делась, лишь намного усложнилась, рынки взаимозависимы. Судя по косвенным признакам, есть люди которые пытаются эти связи отлавливать, Саймонс прямо говорил о совокупностях факторов для модели. Я тоже энное количество тысяч часов потратил и трачу, из них и растут слишком сбывающиеся прогнозики, если кто следит. Естественно, что факторам полагается быть незаметными и множественными, иначе градиентно бустящая толпа «молодых и талантливых математиков» их моментально откопает и уничтожит.
Большое спасибо за модель и формулы! Вопрос про вегу: сделал расчет греков, все более-менее похоже на то, что показывает БШ, кроме веги. Видимо, у Вас вега показывает изменение 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)
К приращениям перешли заменой переменной a=m-bx уже после решения. Если замену сделать сразу, то решение получается более громоздким.
Kurbakovsky, трехпараметрические модели для улыбок получаются у всех, кто серьёзно занимается этим вопросом.
Кстати, примером опционов которые ни на что не похожи являются опционы на волатильность. У них совершенно чокнутая «улыбка». Это единственный известный мне пример, который совсем никак не описывается трёхпараметрической улыбкой Каленкович Алексей (enki) .
Спасибо за публикацию вашего монументального труда здесь, но вопросов пока больше, чем ответов :)
Kurbakovsky, нет, не делит. Либо Вы не понимаете меня, либо я Вас.
С уважением.
PS Отправил Вам на почту файлы. Разместите, пожалуйста, если можно
Kurbakovsky, большое спасибо.
Присланные Вами файлы доступны по следующей ссылке:
https://www.dropbox.com/sh/9vvu5ev68uxaomr/AAA4tQABGwvnxbpEz65rlSNma?dl=0
Вы, когда делали переход от разности стоимости портфеля к уравнению баланса, потребовали, чтобы интервал \DeltaT был настолько мал, что вторая производная C(x) на нем была бы постоянна. Но, чтобы уравнение баланса работало в этом случае, нужно чтобы 'm' была постоянной величиной на любом интервале величиной \DeltaT. Но совершенно очевидно, что это не так.
Более того, на каком интервале вы считаете 'm' обычно? Насколько реально на нем выполняется требование к постоянству гаммы?
До сих пор максимально интересовался лишь предсказанием абсолютных приращений, и пока непонятно, получится ли что-то с подвижностью.
Несколько удивило лишь отсутствие интереса к предиктивным свойствам аномалий, ибо даже не очень наблюдательным людям продолжительный биржевой опыт позволяет что-то предвидеть, добавляя немного уверенности, не говоря уж об изучающих целенаправленно (кстати, первые предвестники сегодняшнего концерта появились примерно за 15 мин).
старый трейдер, что-то типа приближения к точке бифуркации? И Вам удалось разработать работающий матап для поиска таких точек?
Респект.
Если будут будут сколь-нибудь похожие на положительные результаты, обязуюсь непременно написать Автору.
Господа, ch5oh любезно разместил мои файлы здесь. Там пример Excel-расчета
Присланные Вами файлы доступны по следующей ссылке:
https://www.dropbox.com/sh/9vvu5ev68uxaomr/AAA4tQABGwvnxbpEz65rlSNma?dl=0
(выходит закладываете, что в году 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?
Нужно учитывать изменение m. Новое m1=m0+(F1-F0)*bk. F0-текущее значение БА, F1 — новое. Но обязательно учитывайте, что bk — это прогноз, точного будущего значения мы не знаем.
То что профиль 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 неточность?
Ниже один из вариантов сглаживания Дельты. Если не разберетесь, позже поясню
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