FateevVV
FateevVV личный блог
28 марта 2015, 21:56

Тестер опционных позиций. Версия 1

Здравствуйте дорогие друзья!

Хочу выразить большую благодарность Алексею, за то что он мне показал где брать котировки по опционам. Теперь у меня есть котировки по всем опционам (не только РТС), любых таймсерий с июня 2010 г. Теперь у меня появилась куча работы по переводу всех моих наработок на котировки максимально приблыженных к реальности, а не RTSVX, как я делал раньше. К томуже у меня появилось четкое понимание как вести базу котировок по опционам, идея как её ведет биржа мне понравилась. Решил сразу писать тестер опционных позиций в среде Visual Basic 2010, чтобы не зависеть от «вредного» экселя (не у всех запускаются актив икс).

Итак приступим. Где взять котировки по опционам?
Идем на сайт биржи http://ftp.moex.com/pub/FORTS/volat_coeff/
Скачиваем от туда интересующие нас файлы, они разбиты по месяцам. В одном файле запиханы все опционы (может конечно и не совсем все, но те которые нам нужны там есть). Там же в самом низу есть описание в файле Volat description.doc. в каком формате ведется база.

Распаковываем архив. Меняем расширение с csv на txt.
Тестер опционных позиций. Версия 1
Запускаем мою программу. Нажимаем кнопку «Котировки».
Запустится такое окно:
Тестер опционных позиций. Версия 1
Тыкаем в «Файл исходник», ищем там наш скаченный файл с расширением txt. 
Вводим Код опциона который необходимо найти. Разделитель оставляем ";".
Необходимо ввести дату экспирации. Дата экспирации определяется следующим образом. Для индекса РТС (с июня 2010 г. и позднее), это 15 число того месяца когда у него экспирация, если 15 число выпадает на не рабочий день, то берется следующая ближайшая рабочая дата.
В строчке «Какую историю формируем?» выбираем таймфрейм который необходимо сформировать. У меня сделано H1 — часовая, D — дневная, NULL — нет таймфрейма берется как есть в базе исходнике. Таймфрейм формируется по самой последней цене часа или дня, в зависимости от выбранного таймфрейма.
Разделитель — это тот символ который вам нужно чтобы отделял столбцы друг от друга. Можно оставить ";".
У меня получилась такая форма:
Тестер опционных позиций. Версия 1
Нажимаем кнопку «Сформировать».
Программа сформирует файл с названием кода опциона (фьючерса), в нашем случае RIZ0, поместит его в ту папку где находится запущенная программа.
Формат записи вот такой:
Тестер опционных позиций. Версия 1
Формат записи такой, по порядку:
1 Код инструмента, 2 дата экспирации, 3 дата бара, 4 время бара, 5 цена фьючерса на закрытии бара, остальные параметры улыбки как у биржи по порядку.
Зная параметры улыбки можно запросто определить волатильность любого страйка. Привожу формулу из методического пособия приведенный на бирже «Методика расчета кривой волатильности».
Тестер опционных позиций. Версия 1

В дальнейшем с этими txt файликами работаем как хотим, например открываем в экселе и проводим там какиенибудь исследования или еще чегонибудь.

Скачать сам тестер можно тут.
Привожу пример как я сделал базу за 2010 г. квартальные опционы, таймфрейм день, скачать можно тут.

В следующих версиях тестера планирую добавить сам тестер и возможно какойто аналитический функционал. Сейчас надо пока базу набить.

С уважением Фатеев Виктор!

8 Комментариев
  • Михаил Пиписькин
    29 марта 2015, 11:17
    Если у людей нет Windows?
    Почему не сделать в екселе?
      • миха
        29 марта 2015, 23:41
        FateevVV,
        как я понял ВЫ программист
        ВАМ можно просто разработать робота и собирать денежные несоответствия опционов
        это несложный алгоритм
        к примеру, опционы одной серии
        + ПУТ 80 — ПУТ 75 = 5000 — ( — КОЛ 80 + КОЛ 75 )
        и это правило работает всегда и для всех страйков
        там получается просто профитная линия, но ГО будет, хоть риска НОЛЬ
        можно покупать и продавать постоянно считая эту разницу

        я могу заблуждаться, но математические несоответствия на опционах есть и их много, их видно глазом
        еще одно правило
        при цене базового актива ( ф РТС ) = 85
        КОЛ 90 = ПУТ 80, КОЛ 87 = ПУТ 82
          • миха
            30 марта 2015, 20:39
            FateevVV,
            ВЫ не поняли
            есть простые формулы и они работают всегда
            + ПУТ 80 — ПУТ 75 = 5000 — ( — КОЛ 80 + КОЛ 75 )
            если есть разница в этом уравнении, то будет заработок
            и другая конструкция тоже работает
            по улыбке — цены опционов одной серии равно удаленных от цены базового актива равны ,
            но здесь нужно делать небольшую поправку что вола КОЛОВ меньше волы ПУТОВ, но эту поправку можно просто забить в логарифм
            просто подумайте…
            • Алексей
              31 марта 2015, 01:01
              миха, это называется call-put паритет, но он вас двойной
              собрать его сложней, если и ищете такие точки то рекомендую смотреть его в классике и собирать через базовый -call+put+базовый или +call-put-базовый, но огорчу 5000 прибыли там нет — роботов много 50 пунктов бы поймать, но на новостях можно заработать.
              • миха
                31 марта 2015, 20:22
                Алексей,
                СПАСИБО

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

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