Финансы в Excel+VBA

Основы опционов

Для начала кратко о сути и ценообразовании опционов. Опцион имеет четыре основных параметра:

1. Базовый актив
2. Тип опциона (Колл или Пут)
3. Цена страйка (цена исполнения опциона)
4. Дата экспирации (истечения) опциона

Для покупателя опциона он представляет собой право купить (опцион Колл) или продать (опцион Пут) базовый актив по цене страйка в день экспирации. Для продавца опциона он представляет собой обязанность продать (опцион Колл) или купить (опцион Пут) базовый актив по цене страйка в день экспирации. Фактически опцион представляет собой страховку от изменения цены базового актива (БА) от момента сделки до даты экспирации — в роли страховщика выступает продавец (в случае неблагоприятного изменения цены БА он выплачивает страховку покупателю опциона), а страхователем является покупатель опциона (он платит за страховку продавцу).

Как и цена страховки цена опциона полностью определяется вероятностью «страхового случая», т.е. исполнения опциона (исполнения права покупателя опциона). Основные составляющие, которые влияют эту вероятность и на цену опциона, на стоимость страховки, которую платит покупатель и получает продавец:

  • Разница между ценой страйка и ценой базового актива. Т.е. при покупке Колла, чем выше его страйк, тем он дешевле (т.к. снижается вероятность того, что на момент экспирации БА будет выше цены страйка)
  • Волатильность базового актива. Чем выше волатильность (грубо размах колебаний цены) БА, тем выше вероятность достичь страйка до экспирации.
  • Время до экспирации. Чем больше времени до экспирации опциона, тем при покупке Колла выше вероятность что за это время цена базового актива уйдёт выше страйка, соответственно цена опциона выше.

При этом зависимость цены опциона по каждой из этих трёх составляющих нелинейная. Ставшая общепринятой формула оценки опционов с учётом этих основных факторов была выведена Фишером Блэком и Майроном Шоулзом в 1973 году.

Формула Блэка-Шоулза имеет следующий вид (подробно можно посмотреть в Википедии):

Цена (европейского) опциона call:
image

image

image

Цена (европейского) опциона put:
image

Обозначения:
C(S,t) — текущая стоимость опциона call в момент t до истечения срока опциона (до экспирации);
S — текущая цена базового актива;
N(x) — вероятность того, что отклонение будет меньше в условиях стандартного нормального распределения (таким образом, и ограничивают область значений для функции стандартного нормального распределения);
K — цена исполнения опциона;
r — безрисковая процентная ставка;
T — t — время до истечения срока опциона;
image
— волатильность доходности (квадратный корень из дисперсии) базового актива.

Греки опционов

Для оценки чувствительности цены опциона к цене БА, волатильности, и времени до экспирации, применяют коэффициенты, называемые Греками (коэффициенты в основном обозначаются греческими буквами, за исключением «веги»).

Греки в модели Блэка-Шоулза вычисляются следующим образом:

1. Дельта (image
) — скорость изменения цены опциона от изменения цены БА. Для опциона Колл дельта равна image
, для опциона Пут image
. Дельта показывает текущий наклон кривой стоимости опциона в зависимости от цены БА.

2. Гамма ( image
) — скорость изменения цены опциона от изменения Дельты (или ускорение от изменения цены БА). Гамма равна image
.

3. Вега ( image
) — описывает зависимость цены опциона от изменения волатильности БА: image
. Вега отражает число пунктов изменения стоимости опциона на каждый процентный пункт (1%) изменения волатильности.

4. Тета ( image
) — описывает снижение цены опциона в зависимости от времени до экспирации. Для Колла — image
, для Пута — image
.

Вышеприведенные формулы верны для общего случая, в том числе для случая опционов на акции. Для расчёта опционов на фьючерсные контракты безрисковая ставка r не применяется. Т.к. на Московской бирже торгуются опционы на фьючерсы, далее в расчётах процентную ставку не учитываем.

Реализация модели в MS Excel

Итак, реализация модели Блэка-Шоулза в Excel+VBA.

Для удобства создадим функцию для каждой переменной из модели БШ. В каждой функции будут входные переменные:

S — цена БА
X — цена страйка
d — число дней до экспирации
y — число дней в году
v — волатильность
OptionType — тип опциона «Call» или «Put» (только для расчета цены и дельты)

Запись обычной функции в VBA выглядит следующим образом:

Function НазваниеФункции(входные переменные через запятую)
… вычисления…
НазваниеФункции =… вычисления…
End Function

Такую функцию можно вызывать как из других функций, так и из листа Excel.
Функции записываются в созданный Модуль (запускаем VBA в Excel, например нажатием Alt+F11, выбираем Insert -> Module):

Function d_1(S, X, d, y, v)

T = d / y
d_1 = (Log(S / X) + (0.5 * (v ^ 2)) * T) / (v * (T ^ 0.5))
End Function

Function d_2(S, X, d, y, v)
T = d / y
d_2 = d_1(S, X, d, y, v) — v * (T ^ 0.5)
End Function

Function Nd_1(S, X, d, y, v)
Nd_1 = Application.NormSDist(d_1(S, X, d, y, v))
End Function

Function Nd_2(S, X, d, y, v)
Nd_2 = Application.NormSDist(d_2(S, X, d, y, v))
End Function

Function N_d_1(S, X, d, y, v)
N_d_1 = Application.NormSDist(-d_1(S, X, d, y, v))
End Function

Function N_d_2(S, X, d, y, v)
N_d_2 = Application.NormSDist(-d_2(S, X, d, y, v))
End Function

Function N1d_1(S, X, d, y, v)
T = d / y
N1d_1 = 1 / (2 * Application.Pi()) ^ 0.5 * (Exp(-0.5 * d_1(S, X, d, y, v) ^ 2))
End Function

Function OptionPrice(OptionType, S, X, d, y, v)
If OptionType = «Call» Then
OptionPrice = S * Nd_1(S, X, d, y, v) — X * Nd_2(S, X, d, y, v)
ElseIf OptionType = «Put» Then
OptionPrice = X * N_d_2(S, X, d, y, v) — S * N_d_1(S, X, d, y, v)
End If
End Function

Function Delta(OptionType, S, X, d, y, v)
If OptionType = «Call» Then
Delta = Application.NormSDist(d_1(S, X, d, y, v))
ElseIf OptionType = «Put» Then
Delta = Application.NormSDist(d_1(S, X, d, y, v)) — 1
End If
End Function

Function Theta(S, X, d, y, v)
T = d / y
Theta = -((S * v * N1d_1(S, X, d, y, v)) / (2 * (T ^ 0.5))) / y
End Function

Function Gamma(S, X, d, y, v)
T = d / y
Gamma = N1d_1(S, X, d, y, v) / (S * (v * (T ^ 0.5)))
End Function

Function Vega(S, X, d, y, v)
T = d / y
Vega = (S * (T ^ 0.5) * N1d_1(S, X, d, y, v)) / 100
End Function

Готовый Excel-файл можно скачать по ссылке.

Читайте также:  Metatrader 4 для Андройд и IOS уже можно скачать

Теперь в екселевской ячейке можем вызывать любую прописанную нами функцию, например введя в ячейке =OptionPrice(«Put»;76870;90000;13;365;0.47) мы получим теоретическую цену опциона Пут при цене базового актива 76870, страйке 90000, предполагаемой волатильности 45% и за 13 дней до экспирации.

Некоторые моменты, которые хотелось бы отметить

  • Полученные в нашей программе значения теорцены практически идентичны тем, что транслирует Мосбиржа, это значит что биржа в своих расчётах использует именно модель БШ.
  • На самом деле опцион (как и страховка) не имеет истинной справедливой стоимости — она для каждого своя, и зависит от того какая предполагается волатильность или например какое учитывать число дней (учитывать ли выходные, с каким весом учитывать разные дни недели, сколько дней в году использовать в формуле) и т.д.
  • Греки обладают замечательным свойством — чтобы получить значение греков для портфеля фьючерсов и опционов нужно просто сложить соответствующие греки для отдельных активов портфеля. Т.е. мы легко можем рассчитать, например, сколько нужно купить/продать базовых фьючерсов чтобы общая стоимость портфеля не изменялась при изменении цены этого фьючерса (т.н. выравнивание Дельты или дельта-хеджирование).
  • Не смотря на свою распространённость, модель БШ основана на допущении, что доходность актива имеет нормальное распределение, что на реальном рынке не выполняется никогда.

Закономерность временной стоимости

 

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

 

 

В связи с постоянным падением временной цены возникла необходимость в модели, которая позволяла бы рассчитать стоимость опциона на определенную дату. Подобных моделей существует много, однако, наиболее широкой популярностью пользуются формула Блэка-Шоулза и биноминальная модель ценообразования (BOPM). О последней можно прочитать в этой статье – http://utmagazine.ru/posts/8468-binominalnaya-model-cenoobrazovaniya-opciona.

 

Для чего нужен опционный калькулятор?

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

Учитывая все это, мы начинаем понимать сколько различных расчетов необходимо сделать, чтобы составить более-менее точный анализ.

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

Самое важное о трейдинге Call и Put опционов

Вы можете отслеживать биржевые отчеты, публикуемые в онлайне, где прямо увидите сколько опционов Call и Put и по каким ценам открыто участниками торгов. И исходя из этого уже можете вычислить, к примеру, опционные уровни или другие показатели. Те же уровни необходимо рассчитывать с учетом премий за опционы, а также использовать много другой информации.

ТОП БРОКЕРОВ БИНАРНЫХ ОПЦИОНОВ ДЛЯ ПРОФЕССИОНАЛЬНОЙ ТОРГОВЛИ

1.Olymp Trade. НОВАЯ АКЦИЯ БРОКЕРА: ДЕПОЗИТ х 2
2.Binomo. ДАРИМ БЕСПЛАТНЫЕ ОПЦИОНЫ: ПОЛУЧИТЬ $150
3.FinMax. ПОЛУЧИТЕ 1 БЕЗРИСКОВУЮ СДЕЛКУ: ВЫБРАТЬ КРИПТОВАЛЮТУ

Как работать с опционным калькулятором в онлайне?

Итак, для чего нужен опционный калькулятор мы разобрали – чтобы вести рассмотренные выше и многие другие расчеты в онлайне и не тратить время на ручные вычисления. Теперь давайте рассмотрим, как работать с такими программами в онлайне…

Такие программы, как опционный калькулятор, предназначены для расчета различных показателей, к примеру, премии за опцион, коэффициентов опционной чувствительности (греков), implied volatility (ожидаемой волатильности), опционных уровней и так далее.

Читайте также:  Индикатор TMA with distances скачать для mt4

онлайн расчеты с утилитой опционный калькулятор

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

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

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

Опционный калькулятор от Option Trader, преимущества онлайн расчетов

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

Также отметим, что в отличие от иных подобных программ, Option Trader имеет мощное преимущество – возможность вести торги еще и экзотическими опционами, а также совмещать сделки по любым опционам (товарным, валютным, сырьевым и другим).

Опционный калькулятор Option Trader

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

Возможности калькулятора Option Trader

OptionsOracle – работа и расчет по опционному калькулятору

Следующая бесплатная программа OptionsOracle, это опционный калькулятор, включающий в себя «OptoinsMaxPain».

Работа с калькулятором OptionsOracle

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

Где брать информацию для построения опционных уровней?

Вся информация для проведения опционного анализа находится в свободном доступе на сайте ftp://ftp.cmegroup.com/bulletin . Она представлена в виде бюллетеней CME, которые публикуются каждый день кроме выходных. В отчетах CME находится вся информация о заключенных сделках за предыдущую торговую сессию на Чикагской бирже. Бюллетени CME разбиты на несколько секций. Нас будут интересовать, прежде всего, следующие секции:

  • 27 (опционы CALL на британский фунт);

  • 28 (опционы PUT на британский фунт);

  • 29 (опционы CALL на канадский доллар);

  • 30 (опционы PUT на канадский доллар);

  • 33 (опционы CALL на японскую иену);

  • 34 (опционы PUT на японскую иену);

  • 35 (опционы CALL на швейцарский франк);

  • 36 (опционы PUT на швейцарский франк);

  • 38 (опционы CALL и PUT на австралийский и новозеландский доллар);

  • 39 (опционы CALL и PUT на евро).

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

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

Нас интересуют следующие столбцы: Strike (цена исполнения опциона), Sett. Price (премия за риск), Volume Trades Cleared (объем) – общее число открытых и закрытых контрактов, Open Interest (открытый интерес) – количество открытых контрактов по заданному уровню, а также следующий за ним столбец, показывающий изменения открытого интереса (+/–) на текущую дату по данному уровню (UNCH – изменений не было). В самом первом столбце наименования JUL16, AUG16, SEP16 и т. д. обозначают дату экспирации (окончания) опциона.

Смотрите также, какие брокеры для скальпинга предоставляют самые выгодные условия.

Расчеты опционных уровней

Теперь нужно пролистать отчет ниже и найти запись «EURO FX CALL». Сортировку можно проводить как по объемам, так и по открытому интересу, но самым оптимальным методом расчета опционных уровней является сортировка по открытому интересу. Нужно выбрать самый большой открытый интерес. В нашем случае OI = 2910.

Формула расчета опционных уровней для опциона CALL по валютной паре EURUSD выглядит следующим образом:

Уровень CALL = Страйк × 0.001 + Премия × 0.001 = 1140 × 0.001 + 1.60 × 0.001 = 1.140 + 0.0016 = 1.1416.

Знак «минус» в столбце Sett. Price не учитываем, так как он относится к размеру изменения премии. Как вы уже заметили, для EURUSD мы умножаем премию на коэффициент 0.001, но это правило применяется не для всех валютных пар. Так, для GBPUSD, USDCAD, AUDUSD и USDCHF используется коэффициент 0.01, а для валютной пары USDJPY применяется коэффициент 0.0001, а страйк нужно умножить на 0.00001.

Кроме того, для обратных валютных пар, к которым относятся USDCAD, USDCHF и USDJPY применяется следующая формула расчета опционных уровней:

Читайте также:  Подробный обзор-отзыв форекс брокера MFX Broker

Уровень = 1 / (Страйк × 0.001 ± Премия × 0.01), при этом знак «минус» используется при расчете уровней PUT.

Для валютной пары USDJPY применяется следующая формула:

Уровень = 1 / (Страйк × 0.00001 ± Премия × 0.0001).

Теперь рассчитаем уровень PUT для валютной пары EURUSD.

Также выбираем самый большой интерес, но уже в «EURO FX PUT». В нашем примере самый большой OI = 6937. Основное отличие от расчета опционных уровней CALL состоит в том, что для уровней PUT премия вычитается из страйка:

Уровень PUT = Страйк × 0.001 – Премия × 0.001 = 1090 × 0.001 – 4.00 × 0.001 = 1.09 – 0.004 = 1.0860.

Полученные уровни CALL и PUT отмечаем на графике и получаем следующую картину:

Посмотрите, как четко расположились наши опционные уровни. Как вы уже догадались, они могут использоваться в качестве уровней поддержки / сопротивления, но в отличие от простых горизонтальных уровней, проводимых на глаз, опционные уровни имеют под собой реальные объемы крупных игроков. Полученные нами уровни называются опционными уровнями первого порядка или «границы рынка», то есть крупным игрокам крайне невыгодно, если цена окажется за пределами этих уровней. Но это вовсе не означает, что цена всегда отскакивает от них, иногда бывает, что цена успешно их преодолевает, но это случается очень редко, в основном в 95% случаев происходит отскок от уровней.

Смотрите также, какие существуют брокеры с 4-значной котировкой.

Как торговать при помощи опционного анализа?

Как вы видите на графике, опционный анализ – это, как правило, среднесрочная стратегия с торговлей на дневном таймфрейме. Соответственно сигналов будет не более 1-2 в месяц, но и держать позицию мы будем не менее двух недель, а с учетом торговли на шести валютных парах получается вполне неплохая прибыль. Но если вам кажется этого мало, то вы можете нанести на график дополнительные опционные уровни и торговать на младших таймфреймах, например, на H1. Также нужно обращать внимание на изменение открытого интереса и объема, при этом смотреть необходимо только на крупные значения. Если перед изменением объема стоит знак «минуса», то данные уровни утрачивают свою значимость, а знак «плюса» говорит о силе уровня. Однако не стоит нагромождать график опционными уровнями, график должен оставаться читабельным, выбирайте только самые значимые уровни с открытым интересом более 2000. К тому же корректировать уровни нужно каждый день, поэтому не следует допускать, чтобы на опционный анализ уходило более получаса в день, иначе он будет отнимать много времени и сил.

Если говорить об уровнях первого порядка, то торговля заключается следующим образом. Устанавливаем лимитные отложенные ордера на уровни CALL и PUT, но не забываем их каждый день передвигать в соответствии с корректировкой уровней, пока не сработает отложенный ордер. Стоп-лосс устанавливаем на расстоянии 300 «старых» пунктов. Да, стоп-лосс очень большой, но мы не можем точно определить, в каком месте маркет-мейкеры развернут цену. Иногда отскок от уровня происходит пункт в пункт, но бывает, что цена уходит за пределы уровня, но затем все равно идет в нужную сторону, так как для маркет-мейкеров зона за пределами уровня – это риск потери своих денег. Заметим, что срабатывание стоп-лосов происходит крайне редко, не чаще 1-2 раз в год. Тейк-профит обычно равен стоп-лоссу, так как защитный ордер очень большой, то ставить завышенный тейк-профит нецелесообразно. Также вы можете использовать опционный анализ в сочетании с другими стратегиями, например, Price Action. Тогда можно добиться снижения размера стоп-лосса.

Что такое форвард-пойнт?

Желающие усовершенствовать опционный анализ могут использовать поправку «форвард-пойнт». Те данные, которые представлены в отчетах CME, предназначены для фьючерсов на опционы, а они на несколько пунктов отличаются от рынка Форекс. Чтобы скорректировать эти данные, применяются форвардные пункты, которые можно посмотреть на сайте биржи CME ftp://ftp.cmegroup.com/forwardpoints . Переходим по ссылке, выбираем соответствующую дату, и видим примерно следующее:

Как рассчитывать опционные уровни с учетом форвард-пойнт? Нужно от полученного значения вычесть (с учетом знака), как для коллов, так и для путов, среднеарифметическую величину форвард-пойнт. Например, на сайте CME указаны два значения форвард-пойнт для евро: 27.80 и 28.30, получаем среднеарифметическое значение 28.05, умножаем его на коэффициент 0.0001, округляем до четвертого знака после запятой (0.0028), отнимаем его от уровня CALL 1.1416 и в результате получаем скорректированное значение уровня 1.1388. Для уровня PUT все аналогично: 1.0860 – 0.0028 = 1.0832. Для японской иены коэффициент форвард-пойнт равен 0.01.

Для отрицательных значений форвард-пойнта нужно следовать математическому правилу, то есть минус на минус дает плюс, соответственно отрицательные значения форвард-пойнта необходимо не отнимать, а прибавлять. Например, для австралийского доллара указаны отрицательные значения: -18.60 и -18.10, значит мы должны к уровню CALL или PUT прибавить значение форвард-пойнта, равное 0.0018.

Смотрите также, какие бывают брокеры с торговлей CFD.

Источники

  • https://habr.com/post/248949/
  • https://utmagazine.ru/posts/11453-vremennaya-stoimost-opciona
  • http://InfoFx.ru/trejding/opcionnyj-kalkulyator-v-onlajne-dlya-chego-on-trejderu-i-kak-po-nemu-rabotat/
  • http://TradeLife.ru/optional-levels.html

[свернуть]
Помогла статья? Оцените её
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд
Загрузка...