Добрый день.
Это второй пост о возможностях системы OptionSmile.
Предыдущие посты:
В первой части я рассказал, как система рассчитывает справедливые цены опционов, которые можно сравнивать с текущими рыночными и делать вывод об их mispricing’е (недо- или переоцененности) в моменте. Здесь я расскажу о том, как система дает возможности искать такие неэффективности в прошлом.
Для этого можно пойти, например, «в лоб»: взять базу исторических котировок контрактов с заданной денежность и сроком экспирации, посчитать среднюю и сравнить со справедливой стоимостью. Но тут сразу всплывает проблема: котировок слишком мало. Например, по месячным опционам в году их всего 12: сегодняшний контракт с 30-дневной экспирацией завтра уже будет с 29-дневной, т.е. не подойдет для анализа. И вообще, завтра котировки с 30-дневной экспирацией в природе не будет. И так пока следующий контракт не «состарится» до 30 дней.
Это, в принципе, главная проблема опционного бэктестинга, в отличие от линейных активов (OptionSmile выросла из такой платформы). Еще по недельным сериям как-то можно наскрести историческую базу, то дальше недели уже беда. А если мы еще будем фильтровать исторические данные по режимам рынка, то вообще с несколькими котировками останемся. Какие тут статистически значимые выводы?
В нашей платформе эта проблема решается «восстановлением» теоретических котировок из индекса волатильности (VX), благо его значения есть на каждый день. Он отражает общую волатильность (например, VIX – это волатильность месячных серий на S&P 500), и по сути, конечно, почти идеально коррелирует с IV опционов со сроком до нескольких месяцев. Вот пример для путов на SPY с денежностью 98 и сроком экспирации 10 DTE (days-till-expiration):
Почти идеальная взаимосвязь очевидна: коэффициент корреляции 0.98. Видна именно линейная зависимость, что дает нам возможность построить парную линейную регрессию. Для этого примера она такая:

Качество регрессии очень высокое: R2 = 0.968, F-статистика = 10377, да это и невооруженным глазом видно на графике. Отклонения от прямой линии показывают колебания временной структуры волатильности относительно 1-месячной, по которой VIX считается.
Итак, у нас есть два коэффициента (наклон 0.962 и постоянная 0.4122) для опционов с денежностью 98 и DTE 10. Так можно пробежаться по всем сочетаниями денежности и DTE, получить вот такие пары коэффициентов вместе с оценкой качества регрессии (R2, F-stat).
В итоге получим большую базу данных и можем уже на каждый день в истории считать какая была бы в этот день теоретическая цена заданного контракта (денежность/DTE). Т.е. у нас уже 252 котировки в году, и мы можем строить более надежные статистические оценки и гораздо смелее утверждать, что рынок систематически что-то недооценивал или переоценивал. Особенно при фильтрации рыночных режимов.
Вот расчет за период 2012-2016 для путов c DTE 10
Красный график – это средняя гипотетическая цена (Estimated Price) и IV для нее. Видно, как рынок переоценивал путы в этот период. Ясно почему, в 2012-2016 был мощный бычий рынок, т.е. тут большая directional составляющая.
Резонный вопрос, а почему мы вообще используем какие-то не существовавшие в реальности котировки? Как их можно сравнивать со справедливыми значениями, они же не реальные?
Дело в том, что они нам нужны для экстраполяции рыночного mispricing-а в будущее. По сути эти «нереальные» теоретические цены есть их мат.ожидание в будущем. Возьмем наш пример выше. Скажем, если завтра VIX будет 16, то можно ожидать, что IV пута с денежностью 98 и DTE 10 будет в районе

Вставляем это в формулу БШ, получаем ожидаемую цену пута 0.48% от цены БА (см. на графике). Наконец сравниваем это со справедливой ценой для такого же пута = 0.18%, что также есть мат.ожидание. Получаем ожидаемую переоцененность в 0.48% — 0.18% = 30%. Такую большую разницу можно ожидать, только если мы находимся в таком же бычьем рынке, как и 2012-2016. (см. видео про Фильтрацию рыночных режимов, скоро напишу пост).
Вообще, по моему наблюдению, такие гипотетические цены в большинстве случаев совпадают с аналогичными рыночными. Вот в момент написания этого поста я подгрузил реальные котировки фьючерса E-mini S&P500 (ES) с сопоставимыми параметрами денежности и DTE, зеленый график

Видно, что около денег рыночные цены чуть ниже estimated, а на дальних страйках почти совпадают. Бывают, конечно, и периоды нетипичной временной структуры IV, когда оба графика различаются существенно. В любом случае, вход в позицию нужно делать на базе реальных рыночных котировок.
Итак, сравнение с реальными рыночными ценами дает нам mispricing в моменте, а сравнение с гипотетическими историческими – оценку систематического mispricing-а в каком-либо периоде или рыночном режиме.
На эту тему пока все. Осталось осилить три важные темы:
Как и прежде, если вам это все интересно, поставьте плюс этому посту (рейтинг очень нужен), заходите на наш сайт, регистрируйтесь, пробуйте. Скоро сделаем авторизацию через соцсети.
Также вступайте в группу на Facebook.
Всем удачи!
Денис
smart-lab.ru/trading-software/
VIX рассчитываетcя по двум экспирациям около 30 дней (near-term, next-term), но это не важно. Главное, он хорошо коррелирует с IV опционов.
По одной серии все просто: беру базу исторических котировок опционов с определенным сроком экспирации (DTE), считаю их IV по формуле БШ и строю линейную регрессию с VIX. Пример с путами DTE 10 — в посте.
Потом на каждый день в истории с помощью формулы этой регрессии получаю расчетную IV, и далее цену опциона
Что понимать под истинным? Фактическое? Так и делаю. Только исходу не из общего стандартного отклонения (средняя температура по больнице), а для каждого страйка: вероятность экспирации ITM и ожидаемая стоимость. Об этом был первый пост.
Это распределение и предполагаю, что будет в будущем. Об этом сегодня третий пост опубликовал