FateevVV
FateevVV личный блог
09 ноября 2014, 12:01

Анализатор опционных позиций.

  Предоставляю на суд общественности, разработанный мной, «анализатор опционных позиций». Анализатор написан в экселе на языке VBA и является бесплатным проектом, доступный всем. Анализатор будет полезен в первую очередь новичкам, которые еще не знают сильные и слабые стороны различных опционных стратегий и как изменится профиль их стратегии при изменении таких условий как количество дней удержания, волатильность или курс доллара. Внешний вид такой:

Анализатор опционных позиций.Анализатор опционных позиций.

Многие скажут  зачем надо создавать анализатор, которых существует уже большое количество. Я отвечу, среди бесплатных (я работал в option предоставляемый биржей и стандартный в КВИК), ни одна меня не устроила. В них нет возможности сравнивать стратегии между собой и нет возможности менять условия, такие как количество дней, волатильность и курс доллара. Платные версии я даже не рассматриваю. Считаю, что можно создать свой бесплатный продукт не хуже навороченных платных, по крайней мере удовлетворяющие мои скромные потребности. 

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

Итак начнем с настройки подключения. Данные в анализатор подгружаются из КВИК через DDE. Создаем в КВИК  «доску опционов» и «позиции по клиентским счетам». В доску опционов добавляем те опционные серии которые вам интересны, например я добавил ноябрьские и декабрьские серии по РТС. Внешний вид таблиц такой:

Анализатор опционных позиций.

Порядок следования и наименования столбцов, строго как указано на картинке.
Настройки вывода через DDE сервер для «доски опйционов» следующие:

Анализатор опционных позиций.

Настройки вывода через DDE сервер для «позиции по клиентским счетам» следующие:

Анализатор опционных позиций.

Рекомендую, перед экспортом данных во вкладке «Данные» очистить данные в экселе, скрин ниже:

Анализатор опционных позиций.

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

Как только данные подгрузились, переходим на вкладку «Портфель». Она состоит из двух зон, левая зона это текущий портфель, правая  – моделируемый. Нажимаем кнопку «Обновить портфель», ваши позиции появляются в таблице и расчитываются греки отдельных позиций и портфеля в целом — строка «Итого:».  Допустим мы хотим сравнить текущую позицию с немного измененной позицией, назовем её смоделированным портфелем.  Нажимаем кнопку «Скопировать портфель», ваши текушие позиции скопируются в моделируемый портфель. Стираем данные в появившейся строчке «Итоги:» и записываем туда новую позицию. Продадим опцион колл с более дальним страйком. Заполняем только те колонки которые выделены синим цветом.
Instrument – название инструмента которые добавляете, главное чтобы первые 2 буквы инструмента начинались с «RI», остальные символы неважны.
Q – коичество контрактов, + купили, — продали.
Type – тип контракта, только из 3 возможных, это CALL опцион колл, PUT опцион пут и FUT фьючерс.
Strike – страйк опциона, если это фьючерс пишем 0
Exp – дата экспирации опциона или фьючерса
Vola – волатильность опциона, смотрим во вкладке «Данные»
Нажимаем кнопку обновить, производится расчет греков отдельных позиций и портфеля в целом в моделируемом портфеле. Идем на вкладку «Диаграмма», выставляем галочки тоторые нас интересуют
«Текущий» — построит профиль текущего портфеля.
«Тек. эксп.» — построит профиль на экспирацию минус  1 день.
«Модель» — построит профиль моделируемого портфеля.
«Мод. эксп.» — построит профиль моделируемого портфеля на экспирацию минус  1 день.
«Рисовать в руб.» — если стоит галочка, то профиль позиций будет строится в рублях, если нет то в пунктах.
«Шаг сетки Y» — шаг отрисовки сетки по оси Y, в рублях или пунктах, в зависимости от предыдущего пункта. Если галочку убрать, то эксель сам будет сетку рисовать.
и нажимаем на кнопку «Построить». На диаграмме появится ваш профиль текщего портфеля и моделируемого.

Для того чтобы сравнить эти две позиции, необходимо прийти к каким то единым условиям, допустим это будет максимальный убыток. Подберем количество опционов в моделируемом портфеле такое, чтоб убыток моделируемого портфеля и текущего был одинаковым.  После этого делаем предположение, что цена пойдет в верх и за 7 дней хода волатильность уменьшится на 5 %. Вбиваем эти параметры в  «days» и «vola» моделируемого и текущего портфелей на вкладке «Портфель».
«days» — количество дне которых необходимо прибавить к текущей дате.
«vola» — на эту величину надо увеличить (знак +) или уменьшить (знак -) волатильность инстументов входящих в портфель.
«dollar» — на эту величину надо увеличить (знак +) или уменьшить (знак -) курс доллара указанного во вкладке  «Настройки» ячейка «Курс доллара».

Эти параметры относятся к тем портфелям где находятся, текущий или моделируемый портфель. Переходим на вкладку «Диаграмма», жмем кнопку «Построить» и сравниваем чего получилось. Рисунки чего получилось у меня ниже:

Анализатор опционных позиций.Анализатор опционных позиций.

Делаем какие то выводы, ну например такие. Профиль модели лучше выглядит вплоть до 109000. При дальнейшем увеличении прибыль получается менее чем у исходного портфеля. Но вероятность такого исхода мала.

Теперь посмотрим, а что произойдет с позицией, если цена упадет и за 7 дней волатильность выростет на 5. Устанавливаем значения «days» и «vola» в 7 и 5 соответственно, жмем кнопку «Построить». У меня получилось так:

Анализатор опционных позиций.

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

В текущем портфеле можно вводить не только текущие ваши позиции, а вообще любой произвольный портфель и сравнивать его с моделируемым. Вводим в поля обозначенные синим цветом свои значения, правила введения такие же как и при введении в моделируемом портфеле. После того как произвели какие то изменения с портфелем или добавили позицию, необходимо нажать кнопку «Обновить расчеты» для текущего портфеля или «Обновить» для моделируемого портфеля, касаемо того где производили изменения. Еще дополнительное условие, чтобы в текщем портфеле и в моделируемом, после ваших позиций было как минимум 2 пустые строчки,  в ячейке «Instrument» строчка «Итого:» должна отсутствовать. Это необходимо для того  чтобы программа поняла, что это конец ваших позиций. Также можно например ввести одинаковую стратегию в текущий портфель и в моделируемый, но поставить разные условия. Например в текущем портфеле оставить нули, а в моделируемом изменить их, ну например поставить что курс доллара увеличится на 5. В этом случае на диаграмме мы сможем наглядно увидеть как влияют на нашу позицию внешние условия, такие как «days», «vola» и «dollar».

Вкладка «Настройки», в ней можно настраивать следующие параметры:
«Больше текущей цены» — эта настройка относится к графику, на сколько пунктов более текущей цены необходимо построить диаграмму.
«Менее текущей цены» — эта настройка относится к графику, на сколько пунктов менее текущей цены необходимо построить диаграмму.
«Шаг расчета графика» -с таким шагом расчитываются точки диаграммы. Можно его вообще не трогать, если уж совсем нитерпится, то вбивать значения 50, 100, 250 или 500. Это необходимо для корректного отображения сетки по оси X на диаграмме.
«Интересуемый инструмент» — пока вариантов нет оставить как есть «RI».
«Курс доллара» — текущий курс доллара.
«Шаг цены опциона» и «Шаг цены фьючерса» тут вроде все понятно.

Вкладка «Для расчетов», там ничего нитрогать.

Вот такое краткое описание, моего анализатора.

Могу сказать следующеи замечания по данному анализатору:
-Данный продукт не планируется делать как супер универсальный. Изначальная цель, это изучение характеристик опционных стратегий от внешних факторов таких как дни удержания, изменение волатильности и изменение курса доллара, а также сравнение стратегий между собой. А так как у нас на опционном рынке, можно сказать что существует только один ликвидный инструмент, это РТС, то и мой анализатор заточен пока только под него.
-Пока есть небольшой косяк, который я со временем устраню. В данной версии анализатора, по DLL серверу с КВИК необходимо подгружать опционные серии у которых одна дата экспирации у фьючерсного контракта. Например текущие серии опционов ноябрь и декабрь подойдут, а вот декабрь 2014 и март 2015 уже неподойдут. Тут пока мне не понятно какую текущую цену отображать на диаграмме, декабря или марта, подумаю и устраню в дальнейшем.
— Анализатор создавался в эксель 2007, соответственно как он будет работать в более ранних версиях мне неизвестно. В более поздних версиях экселя, думаю будет работать корректно.
— Так как анализатор писался на VBA и использовались элемены AxtiveX, соответственно вы должны разрешить работу для  данного содержимого в экселе.

В краткосрочной перспективе планы по развитию анализатора такие:
— Анализатор будет бесплатным и доступным всем.
— Будут устранятся появляющиеся косяки.
— Добавлю диаграммы греков.
— Насчет профиля на экспирацию я подумаю чего с ним сделать. По просьбе трудящихся сделаю обычный как во всех платформах, у меня в данный момент сделано «дата экспирации минус  1 день». Просто я не собираюсь держать позиции до экспирации и он мне нужен просто для того чтобы наглядно видеть куда будет стремиться профиль со временем.
— Подумаю насчет даты открытия позиции. В даной версии используется текущая дата. Тут надо подумать как лучше это организовать.
— Сделаю панельку облегчающую ввод позиции, наподобии как в КВИК. На данном этапе ввод производится обычным способом с клавиатуры или копированием.
-Возможно сделаю поддержку других инструментов.
— Выслушаю ваши предложения и понравившиеся мне и соответствующие идеологии развития данной программы в будующем будут внедрены.

В отдаленной перспективе развития планируется :
— Сделать трехмерные графики профилей опционных позиций.
— Вести учет позиций совершенных в прошлом.
— Ввести автоматизацию подачи заявок в КВИК  через API. Это и просто открытие позиции по волатильности, и дельта хеджеры, и арбитражеры.

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

Я черезвычайно буду рад, если для когото из вас анализатор будет полезен. Будь то вы будете просто его использовать как есть, или вам интересны какието моменты программирования или расчет греков или еще чего.

Жду ваших предложений по усовершенствованию данной программы и конечно же обнаруженные косяки.

Скачать файл можно тут: файл

С уважением Фатеев Виктор!
81 Комментарий
  • Евгений
    09 ноября 2014, 12:06
    Зачем все это, если есть option.ru?
  • witwayer
    09 ноября 2014, 12:21
    Отлично! Спасибо! +++!
  • Алексей Ван <o-s-a.net>
    09 ноября 2014, 12:25
    Молодец. Делай свою прогу лучше всех. Стандартные штуки давно не работают на трейдера.
    Хоть ничего и не смыслю в опционах, но плюс лови. Судя по скринам, работа проделана сумасшедшая!
    Всё получится!
  • R14
    09 ноября 2014, 12:42
    хорошее решение! спасибо! плюсанул бы.

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

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