Блог им. AlexeyPetrushin
Задача: найти позиции портфеля (кэш, акция A, европейский пут-опцион P(K, T=6 мес) на акцию A), которые максимизируют E[ln R] через месяц. В течение месяца торговли не будет, т.е. совершается всего одна сделка — портфель формируется сегодня.
Исходные данные: есть SV-модель, откалиброванная на исторических данных (физическая мера P), которая генерирует ансамбль дневных траекторий цены акции на год вперед.
Проблема: если убрать опцион и оставить только портфель (кэш, акция), задача решается легко: для каждой траектории рассчитывается стоимость портфеля через месяц, затем вычисляется E[ln R], после чего находятся оптимальные позиции.
Задача также простая если опцион всегда удерживается до экспирации (например, если опцион был на месяц а не на 6 месяцев), поскольку прибыль по опциону точно известна для каждой траектории как ITM.
Проблема возникает, если через месяц допускается продажа опциона который еще не закончился. Тогда необходимо знать его рыночную цену через месяц, чтобы оценить стоимость портфеля. Рассчитать цену опциона через месяц в физической мере P легко — но рыночная цена опциона другая и определяется риск-нейтральной мерой Q и может отличаться.
Особенно это важно при сильных движениях рынка. Именно в таких сценариях различие между P- и Q-ценой может быть значительными из-за изменения ожидания рынка и риск-премий. И, именно эти моменты самые интересные для решения о включении опциона в портфель, поскольку судя по всему (со слов Талеба) часто по опционам прибыль получается до их экспирации, и возможно даже до того как они пробили ITM (например дешевые копеечные опционы которые внезапно при движении акции приблизились к ее цене могут вырости в цене цене в десятки раз, и нужно их продавать именно в этот момент, если ждать дальше рынок успокоится либо их время останется мизерное и они снова будут стоить копейки). И для этого самого важного момента не получается расчитать цену.
Решение
Я не придумал ничего лучшего чем забить. Принять цену опциона в мере P как апроксимацию неизвестной рыночной цены. Возможно добавив штраф на слишком большую позицию в опционах.По идее — для опционов интересны исключительно такие случаи где цена меняется х10 и более, использовать опционы для меньших движений смысла нет, по опционам часто большие спреды и высокие комиссии — которые сожрут всю прибыль если она незначительна. И, поскольку такие периоды редкие, и это необычные режимы рынка, их сложно калибровать, да к тому же они наверняка отличаются на разные акции, и даже откалибровал ты чтото — непонятно что получилось и насколько это вообще близко к реальности, мож это совершенно неверно.
ну без этого далеко не уедешь… ключевое слово: SSVI Jim Gatheral
по сути ты уже генерируешь какие-то траектории цены
можно генерить траектории цены + всю ivol surface, SSVI худо-бедно параметризует опционы все-и-сразу 3-5 параметрами
т.е. генерируя актив + SSVI-параметры ты не затачиваешься на 6-месячную серию или 30-дневную iv, у тебя сразу вся termstructure в 3-5 «достаточно абстрактных» цифрах
это таки тоже будет «продвинутая» P'-мера, а не Q-мера, но если ты попал в цены опционов, то Q-мера, кмк, особо не должна парить
если есть данные по опционам — SSVI параметры экстрагируются за миллисекунды, по сути это «наблюдаемые» (как iv, только лучше)
то есть у тебя получается задача описать эволюцию «наблюдаемого» вектора {stock_price, SSVI_variance, SSVI_correlation, SSVI_hz ...} ну и видимо еще есть «ненаблюдаемые» типа stock_variance — вот оно очевидно будет сильно закоррелировано на SSVI_variance итд
у меня есть рыночные цены опционов, и небольшая история, но истории за долгий период у меня нет.
Не получится, это нереально сложно (мое мнение). Реалистичная SV модель очень сложна, и ее фиттинг очень медленный, если же генерить не просто процесс цены, но еще и процесс еволюции вектора параметров SSVI это слишком сложно и слишком медленно.
Мне кажется задачу можно решить проще если сделать динамическую IV, т.е. latent volatility -> SSVI параметры и сделать фиттинг на долгой истории цен опционов (которой у меня нет). Но это тоже сложно и долго времени займет чтобы сделать.
Пока ограничусь «ожидаемыми физическими ценами» опционов вместо рыночных.
Я использую Heston with Jumps для калибровки IV (скриншот ниже).
Я пробовал SVI отдельно для каждого смайла, но у нее была проблема — параметры отдельного смайла отличались, это можно было решить добавив ограничение гладкости (то что делает SSVI). Но я не решил использовать другую модель Heston with Jumps для каждого смайла плюс ограничение гладкости между ними, мне результат больше понравился.