Oleg Mubarakshin ~ Quant-lab
Oleg Mubarakshin ~ Quant-lab личный блог
11 марта 2015, 13:36

Бесплатный билет на Первый МОК от QUANT-lab!

Тимофей Мартынов выделил мне бесплатный билет на первую Московскую Опционную Конференцию, которая пройдет 21 марта в Москве (подробности здесь), и я хочу его подарить тому, кто первый даст правильный ответ на вопрос в конце этого топика.

Сергей Седов (ОЛМА) и я выступим с докладом о фьючерсе на Индекс волатильности российского рынка RVI. Соответственно, вопрос мой будет об этом фьючерсе. Но об этом чуть позже, сейчас немного спойлеров нашего выступления.

Что такое индекс RVI — я довольно подробно описал в своем посте на quant-lab. Там же можно найти статьи о фьючерсе на RVI: часть 1, часть 2.

Из указанных выше ресурсов и информации c сайта биржи, можно понять, что компоненты индекса RVI — это две опционные серии на RTS. На момент написания статьи — это апрельская и майская серии. Их улыбки волатильности выглядят следующим образом:

Бесплатный билет на Первый МОК от QUANT-lab!

Бесплатный билет на Первый МОК от QUANT-lab! 

На рисунках выше обратите внимание на красные графики — это «китайская» модель волатильности. Кому интересно, как она работает — читайте здесь.

Используя эту модель, можно сделать несколько сценариев поведения волатильности интересующих опционных серий и рассчитать соответствующее им значение индекса RVI (ГО фьючерса и прочие параметры). Для удобства вычислительную часть можно оформить в виде веб-приложения и разместить на сайте Московской Биржи. Сергей Седов уже провел ряд переговоров с биржей и получил предварительное согласие, а я сделал прототип калькулятора RVI, который мы представим на МОК.

Пока он доступен только для внутреннего пользования (к сожалению). В настоящий момент ведется его доработка и отладка.

Внешне он выглядит так:

Бесплатный билет на Первый МОК от QUANT-lab! 

Слева задаются параметры опционов, в основном окне мы получаем значение RVI и его компонентов, а также графики улыбок. Для примера я использовал текущие актуальные параметры модели (см. рисунки выше). Рассчетное значение RVI — 49.68, приблизительно совпадает с транслируемым биржей — 49.45.

ВНИМАНИЕ! Вопрос:

Каким образом оптимально захеджировать длинную позицию по фьючерсу на индекс RVI (100 контрактов) с помощью опционов и фьючерсов на RTS?

Ответ нужно представить в виде: хеджирующий набор + краткое описание логики.
Автор первого правильного и/или самого оригинального способа получит бесплатный билет.
Ответы принимаются в виде комментариев к данному топику до 23:59:59 2015-03-12.

Победителя выберет жюри: Сергей Седов (ОЛМА), Николай Труничкин (Московская Биржа) и Олег Мубаракшин (ITinvest, QUANT-lab).

Желаю удачи!
Комментарии по теме также приветствуются.
82 Комментария
  • Kosh
    11 марта 2015, 13:48
    42!
  • astic
    11 марта 2015, 13:49
    рисуешь какую то позу с вегой минус 500 тыщ вот ты 100 контрактов РВИ и захеджил :)
      • v3Rtex
        11 марта 2015, 13:56
        вэрианс своп
  • astic
    11 марта 2015, 13:56
    но это что вега позы не постоянна и расти по модулю будет к экпирашке но тут надо динамически подходить к этому вопросу :)
  • pterodactylll
    11 марта 2015, 13:59
    Можно попробовать с помощью календарного спрэда. Ближний покупаем, дальний продаем + немного рехеджируем с помощью фьюча
    • pterodactylll
      11 марта 2015, 14:04
      pterodactylll, при этом дельту можно сделать слабо положительной, т.к основной рост волатильности приходится на снижение
  • Алексей Каленкович
    11 марта 2015, 14:00
    «оптимально»? может просто — кто придумает метод как хеджировать этот индекс при том, что вторая серия абсолютно неликвидна? :-)
      • astic
        11 марта 2015, 14:14
        Oleg Mubarakshin ~ Quant-lab, а что слово неликвидна ругательное и его употреблять нельзя?
  • SHCHUTUSHCHA
    11 марта 2015, 14:10
    продай колы и путы и всё, билет халявный можешь оставить себе, у меня уже есть
  • robot_TestV1.1
    11 марта 2015, 14:19
    Ну я бы так делал: Допустим залили тебе 100 лотов этого викса. Нужно быстро перекрыться. Но трудность в том, что там много не ликвида и прямо быстро «по рынку» взять не выйдет ничего. Поэтому надо так:
    1) посмотреть в стаканы и условно перекрыть тем, что стоит по теоретическим ценам. Это будут скорее всего опционы центрального страйка ближней серии. Мы получим кривой хедж, реплицируя викс как бы только центральным страйком ближней серии.
    2) Потом нужно активно начать котировать дальнюю сериию и ближнюю там где нужно и перевести «кривой хедж» в нормальный, как бы перераспределяя позу свою от «много на центральном страйке ближней серии» к «равномерная репликация викса».
    Минусы: конечно будет больше сделок по опционам.
    Риск: Если произойдет быстрое расхождение волатильностей серий или искривиться форма улыбки.
      • robot_TestV1.1
        11 марта 2015, 14:26
        Oleg Mubarakshin ~ Quant-lab, ну смотришь производную викса по смещению улыбки в вертикальной плоскости, считая что серии смещаются синхронно. Далее берешь столько опционов которые по теорценам стоят, чтобы производная этой позиции была как у викса требуемого. Ты получил «кривой хедж», который не учитывает перекосы улыбки и прочее.
    • Nikita Masyukov
      11 марта 2015, 14:23
      robot_TestV1.1, что такое «равномерная репликация викса» это и был вопрос я так понимаю :)
      • robot_TestV1.1
        11 марта 2015, 14:30
        Nikita Masyukov, нет, я думал, что это всем и так ясно «как прекрыть тупо викс если ликвидные опционы всех серий». И вопрос в том, что делать, если серии не ликвидны, а перекрыть надо!
        • AlexeyTikhonov
          11 марта 2015, 17:12
          robot_TestV1.1, ну так и это очевидно, брать то что дают, и потихоньку выравнивать
  • Nikita Masyukov
    11 марта 2015, 14:21
    А в вопросе слово «оптимально» подразумевает «корректно» или «просто»?
      • Nikita Masyukov
        11 марта 2015, 14:26
        Oleg Mubarakshin ~ Quant-lab, я 21 все равно не в Москве, так что отвечать пока не буду. Но после закрытия конкурса дам свой ответ, если его еще кто-то не даст до этого.
          • Nikita Masyukov
            11 марта 2015, 14:37
            Oleg Mubarakshin ~ Quant-lab, и с ошибкой)
  • AlexeyTikhonov
    11 марта 2015, 14:29
    Так как требуется первый правильный ответ, конкретные формулы приводить не буду, но мой подход такой:

    1.Мы знаем что 1% пункт RVI равен 100$, следовательно 100 контрактов это 10 000 $, переходим от $ к пунктам — это 500 000 пунктов вег надо захеджировать у искомого портфеля\
    2. Зная что вега портфеля есть суперпозиция его вег, элиминируем вегу.
    3. Это можно сделать множеством способов, так как необходимо решить систему уравнений (сумма произведения кол-ва опционов разных страйков на их веги), но для уменьшения влияния курса доллара, влияние улыбки и уменьшения гаммы, рационально это делать использую и коллы и путы обоих! серий по обе! стороны от центрального страйка.
    4. Но веги разных серий не тождественны друг другу, следовательно необходимо перевести одну в другую, насколько я помню она взвешивается по корню из срока.
    5. Решив данную систему с условием минимизации гаммы мы получим опционный портфель с какой-то дельтой.
    6. Ну а дельту убираем фьючерсом ри.
    7. Осуществляем частое рехеджирование фьючерсом ри и более редкое опционами (ну или по обстоятельствам — надо на улыбку смотреть конечно)
    Ну это что мне сразу в голову пришло, по факту надо конечно тюнить и аджастить.
      • Дмитрий
        11 марта 2015, 14:45
        Oleg Mubarakshin ~ Quant-lab, 15 страйков ближней и следующей серии.
      • AlexeyTikhonov
        11 марта 2015, 15:04
        Oleg Mubarakshin ~ Quant-lab, решаем задачу оптимизации в таком виде (слева берем путы, справа колы):


        Единственного решения у нее нет (есть «оптимальное»), это же не обратная задача (хеджирование опционного портфеля RVI, у которой единственное решение)
          • AlexeyTikhonov
            11 марта 2015, 15:20
            Oleg Mubarakshin ~ Quant-lab, нет, это максимум, Pi и Ci могут и равняться нулю,
            но возможно для полного элиминирования улыбки должны остаться ненулевыми…
        • AlexeyTikhonov
          11 марта 2015, 19:22
          AlexeyT, минус потерял, -50 000 конечно же, и минимизация гаммы по модулю
  • ibm watson
    11 марта 2015, 14:56
    олег, shiny? =)
    • AlexeyTikhonov
      11 марта 2015, 15:22
      Oleg Mubarakshin ~ Quant-lab, спасибо кстати за пятничный пост,
      благодарю ему я узнал о shiny, и за выходные сделал приложение (не по рынку). Было поражен, насколько удобно и просто (с реактивными немного подумать пришлось) можно сделать веб интерфейс к расчетам, графикам.
        • AlexeyTikhonov
          11 марта 2015, 15:49
          Oleg Mubarakshin ~ Quant-lab, а вообще не знаете, сколько примерно в России людей знающих R — порядок цифр?
    • AlexeyTikhonov
      11 марта 2015, 19:25
      Oleg Mubarakshin ~ Quant-lab, Олег 2 вопроса по связке:
      1. вы котировки с биржи сначала в какую-то базу пишите, а потом из R ее читаете?
      2. Учитывая r-studio в ответе (выше), видимо из консоли запускаете, а почему локальный Shiny сервер не используете? или на ходу много чего правите и деплоить на сервер не рационально?
        • AlexeyTikhonov
          11 марта 2015, 19:50
          Oleg Mubarakshin ~ Quant-lab,
          1. по ODBC?
          2. по DDE?
          3. непосредственно из Plaza?
          а в основном то у вас какая связка — 3?
          и как часто запрашиваете данные из БД?
            • AlexeyTikhonov
              11 марта 2015, 20:27
              Oleg Mubarakshin ~ Quant-lab, понятно, спасибо,
              п.2 у меня реализован полностью, почти с тем же самым что и у вас в R (и даже подобие китайской улыбки, к которой я пришел сам еще 3 года назад!;) smart-lab.ru/blog/175461.php
              , все это мое переводить в R наверно не стоит, лишнее звено получается;(, ладно придумаю себе еще задание для R:)
            • AlexeyTikhonov
              11 марта 2015, 20:30
              Oleg Mubarakshin ~ Quant-lab, правильно я понял,
              что график у вас статичный, нажимаете на кнопку, запускаются события в обсервере — скачка данных из бд, и перерисовка графика?
              а почему не повесили таймер в R? или лишних ненужных загрузок не хотите?
                • AlexeyTikhonov
                  11 марта 2015, 20:58
                  Oleg Mubarakshin ~ Quant-lab, про эти я знаю, уже использовал;)
                  нет я про подтягивание самих свежих данных из бд — оно же по кнопке происходит? или по таймеру?
        • AlexeyTikhonov
          11 марта 2015, 20:13
          Oleg Mubarakshin ~ Quant-lab, а не знаете нет никакого фреймворка — DDE для R?, что б сразу пулять из quik в R, как нибудь, а там уже сгружать в файлы, базы,
          а то 1,2 реализация проигрывает моему текущему решению, а в 3 нет необходимости;(
  • ibm watson
    11 марта 2015, 15:55
    порядок — тысячи

    кстати олег, ты вроде собирался устраивать конфу по quant+R, не срослось?

    мы 24ого в спб организовываем meetup на тему R в офисе вк, жаль что вы все в мск сидите
  • vorona969
    11 марта 2015, 16:33
    Так выиграл кто? Вот опционщики, все у них в уме, математики оголтелые.
    Мой сын, когда в Доту играет и общается с игроками, я тоже ничего не понимаю, о чем они говорят.
  • Rotor78
    11 марта 2015, 16:57
    перед тем как «пиарить» этот rvi надо сделать адекватное ГО. А то тут пиз***жа больше, чем сделок — одна и та 5 дней назад была.
      • Rotor78
        11 марта 2015, 17:57
        Oleg Mubarakshin ~ Quant-lab, ЛЮДИИИИ, вы поймите, чтобы инструмент торговали нужны трейдеры, а про них с данным ГО забыли на бирже. На нашем рынке самый ликвидный фьюч РТС, и, чтобы хоть както с ним «конкурировать», нужно ГО ниже не на пару процентов, а значительно ниже. BR, ED, GOLD и другие торгуются у нас даже несмотря на западную «конкуренцию» только из-за адекватного и доступного ГО.
        • Mr. Bean
          29 апреля 2015, 00:25
          Rotor78, скорее из-за размера самого контракта, где ещё можно одну унцию золота погонять
  • AlexeyTikhonov
    11 марта 2015, 17:41
    Олег, а у RVI есть неттирование с портфелем опционов по ГО (как декларировалось ранее биржей) или нет?
      • AlexeyTikhonov
        11 марта 2015, 19:20
        Oleg Mubarakshin ~ Quant-lab, да к тому же SPAN привязать и посмотреть, может хоть немного будет перекрывать?
        • Алексей Каленкович
          11 марта 2015, 19:33
          AlexeyT, спан надо на помойку выкидывать. прикручивать его к такому продукту точно не стоит, только хуже будет всем.
          • AlexeyTikhonov
            11 марта 2015, 19:59
            Каленкович Алексей (enki), если умело прикручивать с нормальными массивом изменений (а не с 2), и верхней оценкой по марже, то хуже точно не будет, многие клиринги до сих пор на SPAN и ничего — не развалились
            • Алексей Каленкович
              11 марта 2015, 20:15
              AlexeyT, не развалилось? у меня как минимум два серьезных эпизода, когда из-за биржевого ГО реальные риски не были закрыты, а биржа предлагала увеличивать риск «потому что тогда ГО упадет». после клирингов ситуация становилась лучше, но суммы которые не получилось зафиксировать просто огромны.
            • Mr. Bean
              29 апреля 2015, 00:24
              AlexeyT, а какие альтернативы спану используются и где?
              • AlexeyTikhonov
                29 апреля 2015, 11:01
                Mr. Bean, к сожалению не знаю, возможно какие-то свои закрытые разработки на основе портфельного маржирования, но концептуально наверно примерно похоже самое — неттирование, матрица рисков, разные сценарии, разные вероятности, разное взвешивание, VAR.
                • Mr. Bean
                  29 апреля 2015, 14:46
                  AlexeyT, а чем спан так плох, вроде же раньше говорили что всяко лучше чем у нас?
  • Lafert
    11 марта 2015, 23:56
    Продать 2224 внеденежных опционов страйка 50000 с датой исполнения 15.04.2015
    Продать 1838 внеденежных опционов страйка 55000 с датой исполнения 15.04.2015
    Продать 1545 внеденежных опционов страйка 60000 с датой исполнения 15.04.2015
    Продать 1316 внеденежных опционов страйка 65000 с датой исполнения 15.04.2015
    Продать 1135 внеденежных опционов страйка 70000 с датой исполнения 15.04.2015
    Продать 989 внеденежных опционов страйка 75000 с датой исполнения 15.04.2015
    Продать 869 внеденежных опционов страйка 80000 с датой исполнения 15.04.2015
    Продать 770 внеденежных опционов страйка 85000 с датой исполнения 15.04.2015
    Продать 687 внеденежных опционов страйка 90000 с датой исполнения 15.04.2015
    Продать 616 внеденежных опционов страйка 95000 с датой исполнения 15.04.2015
    Продать 556 внеденежных опционов страйка 100000 с датой исполнения 15.04.2015
    Продать 504 внеденежных опционов страйка 105000 с датой исполнения 15.04.2015
    Продать 460 внеденежных опционов страйка 110000 с датой исполнения 15.04.2015
    Продать 421 внеденежных опционов страйка 115000 с датой исполнения 15.04.2015
    Продать 386 внеденежных опционов страйка 120000 с датой исполнения 15.04.2015
    Продать 231 фьючерс РТС (РТС-6.15)

    Сейчас опишу методику следующим комментом
  • Lafert
    12 марта 2015, 00:08
    Во первых, сразу бросается в глаза, что если бы дней до исполнения ближней серии было бы не 34, а 30, то цены с дальней серии роли не играли бы совсем. По этому, предположим, что T1=30/365 а T2=60/365 что сильно облегчает вычисления, хотя и гасит точность. Хотя… даже если их и учитывать, то они будут с очень малым коэффициентом.

    Цены на момент расчета (11.03.2015 22:36) взял с сайта МБ.
    50000 160
    55000 250
    60000 390
    65000 640
    70000 1100
    75000 1920
    80000 3290
    85000 3960
    90000 2070
    95000 1020
    100000 510
    105000 270
    110000 160
    115000 110
    120000 80
    и фьюч 83500(РТС-6.15)

    Считаем в экселе индекс как по методике по ссылке.
    Считаем стоимость позы, как ~индекс*6220*100.
    Для каждого опца и фьюча подставляем цену на 1 больше, чем в таблице выше, и смотрим, на сколько изменится стоимость позиции в рублях (что-то вроде производной, но не совсем).
    С учетом стоимости шага цены находим, сколько инструмента (этого опца или фьюча) надо было иметь, что бы нейтрализовать данный эффект. Тут можно решить задачу целочисленной оптимизиции, но, учитывая допущения, лучше просто округлить до целых.
    • AlexeyTikhonov
      12 марта 2015, 00:17
      Lafert, а почему только одну серию взяли?
      • Lafert
        12 марта 2015, 00:24
        AlexeyT, судя по формуле, одна серия значительно сильнее влияет, чем вторая. По этому, я пренебрег менее значимой, чтобы сократить вычисления и лишние копирования в эксель.
  • ch5oh
    12 марта 2015, 02:19
    Лаферт жжет. Пока что это единственная заявк на победу. =)

    Может, станете ММ на РВИ?
    Тут анонс был биржа ГО хочет по нему в 50 раз снизить… Горизонт — квартал пока что.

    Как раз софт сделаете и отладите…
    • Lafert
      12 марта 2015, 17:44
      Oleg Mubarakshin ~ Quant-lab, логика в том, что я представляем стоимость нашей позиции в RVI, как некоторую нелинейную функцию от цен опционов и фьючерсов РТС.

      Пусть стоимость позиции в RVI это P_RVI
      стоимость позиции-хеджа P_HEDGE.

      Пусть цены опцов и фьючей на РТС, которые задействованы в расчете индекса RVI, это p1(t),p2(t),...,pn(t).
      Где p1(0),...,p(0) это текущие цены в момент расчета

      Тогда P_RVI=f(p1,p2,...,pn).

      Ему мы противопоставляем портфель из этих опционов и фьючерсов. Он представляет собой линейную функцию

      P_HEDGE=A1*p1+A2*p2+...+An*pn;

      Наилучшее, чего мы можем достичь, это добиться совпадения частных производных первого порядка P_RVI и P_HEDGE*-1 при текущих ценах. То есть при небольшом именении любой из цен p1,...,pn изменение стоимости P_RVI должно примерно равняться изменению стоимости P_HEDGE*-1

      То есть, для всех i от 1 до n мы должны решить следующее уравнение относительно Ai
      d(-P_HEDGE)/d(pi)=-Ai=d(P_RVI)/d(pi) в момент t=0

      Так, как искать производную аналитически или численно мне лень, да и вообще, в данном решении полно допусков, и на точность не претендую, то считаем, что
      d(P_RVI)/dpi~P_RVI(p1(0),p2(0),...,pi(0)+1,.....,pn(0))-P_RVI(p1(0),p2(0),...,pi(0),.....,pn(0)).

      Понятно, что это скорее план решения, чем решение, но идею, думаю, я изложил.
    • AlexeyTikhonov
      17 марта 2015, 23:13
      Oleg Mubarakshin ~ Quant-lab,
      Олег, а со мной уже связался Сергей (Седов)
    • Lafert
      17 марта 2015, 16:36
      Oleg Mubarakshin ~ Quant-lab, ну, теперь бы неплохо выложить и решение авторов задачи.

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн