Робот, торгующий опционами

Страницы: 1
RSS
Робот, торгующий опционами
 
Товарищи, может ли кто-нибудь из вас поделиться (если не жалко) торговым роботом, торгующим опционами.
Хотя бы простой робот - подгрузка доски опционов, выбор инструмента с определённой датой экспирации, покупка/продажа CALL/PUT с определённым страйком.
 
Не очень понятен вопрос, т.к. это просто инструмент, такой же, по сути, как RIM6 SPBFUT. Методы получения данных те же, метода работы с заявками тоже.
Страйк это не какой-то параметр, а данные инструмента, т.е. каждый страйк это отдельный инструмент. Поэтому необходимо просто посмотреть спецификацию формирования кода опциона и выбирать необходимые.
Тот же RIM6 - это код инструмента. RI - контракт на фьючерс РТС. M - месяц экспирации (июнь). 6 - год. С опционами также, но просто методика формирования кода более сложная.
 
Цитата
Nikolay написал:
Не очень понятен вопрос, т.к. это просто инструмент, такой же, по сути, как RIM6 SPBFUT. Методы получения данных те же, метода работы с заявками тоже.
Страйк это не какой-то параметр, а данные инструмента, т.е. каждый страйк это отдельный инструмент. Поэтому необходимо просто посмотреть спецификацию формирования кода опциона и выбирать необходимые.
Тот же RIM6 - это код инструмента. RI - контракт на фьючерс РТС. M - месяц экспирации (июнь). 6 - год. С опционами также, но просто методика формирования кода более сложная.
Как программно узнать список всех страйков для заданного инструмента, скажем RI, и стакан для каждого страйка?
 
Цитата
Сергей Че написал:
Как программно узнать список всех страйков для заданного инструмента, скажем RI, и стакан для каждого страйка?
Т.к. опцион содержит цену страйка в своем коде, т.е. это и есть страйк (https://www.moex.com/s205), то никак. Тем более, что в теории цена базового актива ничем не ограничена, раз уже и отрицательные цены есть. Смотрите пример спецификации кода для нефти.

Вы можете исходя из текущей цены фьючерса, с неким шагом цены, строить коды опционов по спецификации и проверять наличие такого инструмента. По факту, когда вы открываете доску опциона, то так и работает - указываете инструмент, шаг страйка и число страйков. В итоге, от центрального строятся с шагом страйки. Так что методика построения массива кодов опционов в коде такая же. После получения кода опциона получение стакана аналогичное как для любого другого инструмента по его коду.
 
Шаг страйков совпадает с щагом цены базового актива или нет?
 
Цитата
Сергей Че написал:
Шаг страйков совпадает с щагом цены базового актива или нет?
Он определяется биржей https://fs.moex.com/f/4606/optimum-strike-step.pdf

Вся информация есть на сайте биржи.
 
Цитата
Nikolay написал:
Вы можете исходя из текущей цены фьючерса, с неким шагом цены, строить коды опционов по спецификации и проверять наличие такого инструмента.
То есть я беру текущую цену фьючерса, умножаю на его лотность, и от этой цены иду в сторону увеличения цены с шагом цены фьючерса, и на каждом шаге составляю строку с потенциальным кодом опциона, и затем проверяю, существует ли он. Так?
 
Цитата
Сергей Че написал:
То есть я беру текущую цену фьючерса, умножаю на его лотность, и от этой цены иду в сторону увеличения цены с шагом цены фьючерса, и на каждом шаге составляю строку с потенциальным кодом опциона, и затем проверяю, существует ли он. Так?
Да. Если алгоритм формирования кода корректный, то и проверять не обязательно. Но это просто хорошая практика проверять входные данные в функции.
 
На Московской бирже опционы торгуются с разными страйками на один базовый актив.
Биржа устанавливает стандартный шаг страйка для каждого инструмента.
Например, опционы на фьючерс РТС могут торговаться со страйками через каждые 2500 пунктов, на фьючерс доллар/рубль — через 250–500 рублей.
---------------------------------------------
Страйк (цена) задаётся биржей при формировании спецификации контракта.
Биржа определяет все параметры опциона, кроме премии, которую устанавливают стороны сделки.
-------------------------------------
параметры опционных контрактов, включая шаг страйка,
можно найти в спецификации инструмента на сайте Московской биржи
--------------------------------------------
В коде опционного контракта на Московской бирже страйк указывается вместе с базовым активом,
датой экспирации и типом опциона (C — колл, P — пут).
Например, RIM5220000CA — опцион колл на фьючерс индекса РТС с экспирацией в июне 2025 года и страйком 220 000 пунктов
 
Цитата
nikolz написал:
Страйк (цена) задаётся биржей при формировании спецификации контракта.
Биржа определяет все параметры опциона, кроме премии, которую устанавливают стороны сделки.
Как программно узнать текущую цену (премию) опциона? Это нужно знать, что рассчитать сколько опционов я могу купить, исходя из имеющихся свободных денег.
Для фюьчерсов - это ГО, и оно узнаётся легко через запрос парамтров BUY_DEPO и SELL_DEPO.
А для опционов как?
 
Цитата
Сергей Че написал:
Цитата
nikolz написал:
Страйк (цена) задаётся биржей при формировании спецификации контракта.
Биржа определяет все параметры опциона, кроме премии, которую устанавливают стороны сделки.
Как программно узнать текущую цену (премию) опциона? Это нужно знать, что рассчитать сколько опционов я могу купить, исходя из имеющихся свободных денег.
Для фюьчерсов - это ГО, и оно узнаётся легко через запрос парамтров   BUY_DEPO   и   SELL_DEPO  .
А для опционов как?
прочитать доску Это можно сделать либо через Lua+DDE, либо Excel+DDE.
-----------------------
Не в обиду, но торговля опционами не для начинающих.
Это самый рискованный инструмент для торговли.  
Для начинающих это подобно лохотрону или форексу
 
Что такое DDE?
 
Цитата
nikolz написал:
Это самый рискованный инструмент для торговли.
Он менее рискован чем линейные фьючерсы. А если не совершать продажи, так вообще безопасней некуда. Откуда взялась эта байка - не понятно.
 
Цитата
nikolz написал:
Это самый рискованный инструмент для торговли.  

Опцион - это самый доходный инструмент из имеющихся, но не самый рискованный.
Самый рискованный - это как раз фьючерс.
Если не продавать, а только покупать опционы, то твой маскимальный убыток - это деньги, которые ты заплатил за опционы.
Во фьючерсах же максимальный убыток не ограничен, и можно просто обнулиться (если не следить за позицией), сколько бы у тебя денег ни было на счету.
 
Цитата
Сергей Че написал:
Цитата
nikolz написал:
Это самый рискованный инструмент для торговли.  

Опцион - это самый доходный инструмент из имеющихся, но не самый рискованный.
Самый рискованный - это как раз фьючерс.
Если не продавать, а только покупать опционы, то твой маскимальный убыток - это деньги, которые ты заплатил за опционы.
Во фьючерсах же максимальный убыток не ограничен, и можно просто обнулиться (если не следить за позицией), сколько бы у тебя денег ни было на счету.
Вы перепутали.
Не существует  инструмента  который был бы самым прибыльным и при этом не самым рискованным.
Иначе бы все им торговали.
-----------------------------
Во фьючерсах максимальный убыток  равен убытку в акциях умноженному на "плечо"  
Плечо считается как отношение цены актива к величине задатка.
Потому убыток на фьючерсе не может быть  не может быть неограниченным.
А вот на опционах он может быть при продаже. Это даже в книжках написано.
-------------------------
Но есть Вы так считаете, то не буду Вас переубеждать.
---------------------------
Как говорил сатирик :"Там "кирпич" туда нельзя,но вам туда можно."  
 
На мой взгляд, вот интересная статья: "Сермяжная логика определения стоимости опционов". Erik Naiman. Более детально описано в его книге "Путь к финансовой свободе".

Рассматривает простой, пример определения цены опциона с учетом всех основных факторов влияния на его стоимость, с точки зрения финансовой логики, прикладной точности и практической полезности. Статья для тех, кто хочет быстро понять экономическую целесообразность продажи колл-опционов. Простая и наглядная логика без сложной математики с привязкой к реальным акциям, дивидендам и процентам. Упрощения в расчётах форварда и дивидендов, это не строгая математическая модель (не Black-Scholes).

Статья даёт полезную основу для понимания того, как оцениваются опционы через будущую стоимость акций, премию и волатильность. А главное помогает сформировать интуитивное чувство ценности опционов на рынке. Для практического, полезного применения, в QUIK или Excel, можно сделать, короткую схему или таблицу, которая визуализирует коридор безубыточности, премию и вероятность попадания цены в коридор, как это делает автор. Или же доработать, привести к более структурированному виду,
 
Вопрос был о другом: Как программно узнать текущую цену (премию) опциона?

Если банально просто, то текущая цена это просто параметр таблицы текущих торгов. Или можно взять данные из стакана и получить цены для других IV.

Если задача просто узнать сколько можно купить продать по текущей цене, то для этого есть методы в QLUA: CalcBuySell, getBuySellInfoEx (см. документацию по ним).

Если же задача найти неэффективности, то уже необходимо самому считать цену на базе своей модели. Например, ММВБ считает по формуле Блэка-Шоулза. Поэтому рассчитав по IV свою цену можно будет увидеть неэффективность и принять решение. Но это для покупателей опционов.

Продавцы же платят ГО. И здесь уже всё сложнее - расчет гарантийного обеспечения (ГО) по опционам осуществляется по методике, аналогичной системе SPAN (Standard Portfolio Analysis of Risk)

Спросим любой чат:

Главный принцип: ГО считается не изолированно для каждого контракта, а для всего портфеля (с учетом взаимной компенсации рисков позиций по одному базовому активу). Однако базовая аналитическая формула для отдельной позиции (проданного опциона) строится на сценарном подходе.

Для начала важно отметить: по купленным опционам ГО не списывается (уплачивается только премия). ГО взимается только с продавцов опционов.

Ниже приведена логика и аналитические формулы расчета.

1. Концептуальная формула (для одной короткой позиции)

Математически гарантийное обеспечение по короткой позиции по опциону равно максимальной стоимости этого опциона в стрессовых сценариях:

ГОshort​=max(V1​,V2​,...,Vn​)   где Vi​  — теоретическая стоимость опциона в i -м сценарии риска.

На практике Клиринговый центр (КЦ) Мосбиржи разделяет это ГО на две составляющие: Премиальную маржу (ПМ) и Рисковую маржу (РМ).  

Формула выглядит так:  

ГО=ПМ+РМ  

  • Премиальная маржа (ПМ) — это текущая рыночная (или теоретическая) стоимость опциона. То, что вы уже должны рынку, если бы позицию нужно было закрыть прямо сейчас. ПМ=V0​  (где V0​  — текущая стоимость опциона).
  • Рисковая маржа (РМ) — это резерв на случай неблагоприятного изменения рынка до следующего клиринга. РМ=max(Vi​)−V0​   Если подставить это в формулу, получим:  ГО=V0​+(max(Vi​)−V0​)=max(Vi​)
2. Как строятся сценарии (Vi​ )?

Чтобы рассчитать

max(Vi​) , Мосбиржа генерирует сценарии изменения цены и волатильности базового актива (фьючерса).  

Для этого рассчитываются интервалы риска:

  1. Интервал риска по цене (IR) — насколько может упасть/вырасти фьючерс. IR=F0​×RF​      где F0​  — текущая цена фьючерса, RF​  — ставка риска по фьючерсу (зависит от актива, например, 8-12% для валют, больше для акций).
  2. Интервал риска по волатильности (IV) — насколько может измениться подразумеваемая волатильность. IV=σ0​×RV​      где σ0​  — текущая волатильность, RV​  — ставка риска по волатильности.

Затем КЦ Мосбиржи моделирует до 16 (и более) сценариев, сдвигая цену фьючерса на доли интервала

IR  (например, +1/3IR , −2/3IR , +IR , −IR ) и волатильность на +IV , −IV  или 0 . В каждом сценарии по формуле Блэка-Шоулза (модифицированной для фьючерсов) считается новая цена опциона Vi​ .

3. Формула для портфеля (Базовое ГО)

В реальности у вас может быть купленный пут, проданный колл и купленный фьючерс. ГО портфеля не равно сумме ГО отдельных инструментов.

Для портфеля рассчитывается Базовое гарантийное обеспечение (БГО):

БГО=max(L1​,L2​,...,Ln​)   где Li​  — совокупный убыток всего портфеля по одному базовому активу в i -м сценарии.

Убыток в сценарии считается как изменение стоимости портфеля:  

Li​=∑k​(Vi,k​−V0,k​)×qk​  где qk​  — количество k -го инструмента (со знаком: минус для коротких, плюс для длинных).

Благодаря этому подходу риски взаимно зачитываются. Например, если вы продали опцион Call (большой риск роста), но купили фьючерс (даст прибыль при росте), ГО портфеля будет значительно меньше, чем ГО просто по проданному Call.

4. Итоговое ГО с учетом спредов

После расчета Базового ГО, КЦ применяет скидки за межтоварные спреды (если у вас позиции по коррелируемым активам, например, фьючерсы на акции Сбера и ВТБ) и минимальное ГО.

Итоговая формула:  

ГОитог​=БГО−Скидкаспреды​   При этом действует жесткое ограничение: ГО не может быть меньше минимальной маржи (обычно это половина от Базового ГО или фиксированная сумма в зависимости от типа спреда).

Резюме: где посмотреть точные параметры?

Аналитически посчитать ГО дома на коленке сложно, так как постоянно меняются:

  1. Ставки риска RF​  и RV​  (КЦ меняет их при изменении волатильности на рынке).
  2. Количество сценариев.
  3. Правила взаимозачета для сложных спредов (стрэддлы, конверсии, реверсы).

Поэтому для точного расчета используют API Московской биржи (соответствующие таблицы клиринга) или встроенные калькуляторы в торговых терминалах (QUIK, T-Invest), которые отправляют запрос на сервер Мосбиржи и получают точное значение ГО по вашей виртуальной позиции.

Страницы: 1
Читают тему
Наверх