Таблица excel по опционам

В начале 70-х годов прошлого века экономисты Фишер Блэк, Майрон Шоулз и Роберт Мертон вывели формулу ценообразования опционов Блэка–Шоулза, которая позволяет получить оценку европейских колл- и пут-опционов. За свою работу Шоулз и Мертон были удостоены Нобелевской премии по экономике в 1997 г. (Блэк умер до 1997 г., а Нобелевская премия не присуждается посмертно.) Их научный труд произвел революцию в области корпоративных финансов. В данной заметке приведены основные положения этой важной научной работы, а также показано, как рассчитать стоимость опциона с помощью Excel.[1]

Рис. 1. Стоимость колл-опциона

Скачать заметку в формате Word или pdf, примеры в формате Excel

Основные сведения об опционах

Колл-опцион дает владельцу опциона право купить акцию (или иной актив, например, валюту) по цене исполнения. Пут-опцион дает владельцу опциона право продать акцию по цене исполнения.

Американский опцион может быть исполнен не позднее даты, известной как дата исполнения (часто называемой датой истечения срока действия опциона). Европейский опцион может быть исполнен только в последний день срока его действия.

Давайте рассмотрим итоги сделки по приобретению шестимесячного европейского колл-опциона на акции IBM с ценой исполнения 110 долларов. Пусть P — это курс акции IBM через шесть месяцев. Выигрыш от колл-опциона на эти акции составит 0 долларов, если P < 110 (зачем исполнять опцион, если цена акций на спотовом рынке ниже цены исполнения!?), и (P – 110) долларов, если P > 110. Если значение P больше 110 долларов, владелец может исполнить опцион, купив акцию за 110 долларов и немедленно продав ее на спотовом рынке за P долларов, и тем самым получить прибыль (P – 110) долларов. На рис. 1 представлен выигрыш по этому колл-опциону. Выигрыш можно записать как формулу в Excel =МАКС(0;Р-110). Если Р ≤ 110, говорят опцион не в деньгах.

Ситуация с пут-опциона противоположна (рис. 2). Выигрыш по пут-опциону составит 0 долларов, если P > 110, и (110 – Р) долларов, если P < 110. Для значений P меньше 110 долларов владелец опциона может купить акцию за P долларов и немедленно продать ее за 110 долларов, реализуя опцион. Это принесет прибыль (110 – P) долларов. Если P больше 110 долларов, покупать акцию за P долларов и продавать за 110 долларов невыгодно, так что владелец не исполнит пут-опцион. Формула выигрыша =МАКС(0;110-Р).

Рис. 2. Стоимость пут-опциона

Параметры, определяющие цену опциона

При создании модели ценообразования Блэк, Шоулз и Мертон показали, что цена опциона зависит от следующих параметров:

  • Текущая цена акции (или иного актива).
  • Цена исполнения опциона.
  • Время (в годах) до истечения срока действия опциона (называемое сроком опциона).
  • Процентная ставка (в год с учетом сложных процентов) на безрисковые инвестиции (как правило, в казначейские векселя) в течение всего срока инвестирования. Например, если трехмесячные казначейские векселя приносят 5% дохода, безрисковая ставка вычисляется как ln(1 + 0,05). (Взятие логарифма преобразует простую процентную ставку в ставку с учетом сложных процентов.) Сложные проценты означают, что в каждый момент времени проценты приносят проценты.
  • Годовая ставка (в процентах от курса акции), по которой выплачиваются дивиденды. Если акция приносит каждый год 2% своей стоимости в качестве дивидендов, норма дивидендов составляет 0,02.
  • Волатильность акции (измеряемая в годовом исчислении). Годовая волатильность акции, например, 30% означает, что (приближенно) стандартное отклонение относительного годичного изменения курса акции составит примерно 30%. Во времена интернет-пузыря в конце 1990-х годов волатильность акций многих интернет-компаний превышала 100%. Этот важный параметр можно вычислить двумя способами.

В формуле ценообразования Блэка–Шоулза курс акции должен соответствовать логарифмически нормальному распределению.

Оценка волатильности акции на основе исторических данных

Для оценки исторической волатильности акции необходимо выполнить следующие шаги:

  1. Определить прибыль (убыток) по акции за несколько лет.
  2. Определить для каждого месяца ln(1 + прибыль).
  3. Определить стандартное отклонение для ln(1 + прибыль). Это вычисление дает ежемесячную волатильность.
  4. Умножить ежемесячную волатильность на для преобразования ежемесячной волатильности в годовую.

На рис. 3 приведены данные ежемесячной стоимости акций компании Dell за период с августа 1988 г. по май 2001 г. Прибыль равна разности цен за две соседние даты. Ежемесячная волатильность в ячейке Н3 определена по формуле =СТАНДОТКЛОН.В(E2:E155). (Если вам интересно в чем различие между двумя формулами Excel: СТАНДОТКЛОН.В и СТАНДОТКЛОН.Г, см. здесь.) В ячейке Н4 используется формула =КОРЕНЬ(12)*H3. Годовая волатильность акций Dell составляет 57,8%.

Рис. 3. Вычисление исторической волатильности стоимости акций Dell

Формулу Блэка–Шоулза в Excel

Цена европейского колл-опциона вычисляется по формуле:

N(x) — вероятность того, что нормальная случайная величина со средним значением 0 и стандартным отклонением σ=1, меньше или равна x. Например, N(-1) = 0,16, N(0) = 0,5, N(1) = 0,84 и N(1,96) = 0,975. Нормальная случайная величина со средним значением 0 и стандартным отклонением 1 называется нормированной случайной величиной, распределенной по нормальному закону. Нормальное интегральное распределение в Microsoft Excel вычисляет функция НОРМ.СТ.РАСП. Формула =НОРМ.СТ.РАСП(x;ИСТИНА) возвращает вероятность того, что нормированная случайная величина, распределенная по нормальному закону, меньше или равна х. Например, формула =НОРМ.СТ.РАСП(-1;ИСТИНА), дает в результате 0,16. Это значение показывает, что нормальная случайная величина со средним значением 0 и стандартным отклонением 1 с вероятностью 16% примет значение менее -1.

S — текущий курс акции; t — срок опциона (в годах); X — цена исполнения; r — годовая безрисковая ставка (предполагается, что эта ставка постоянно вычисляется с учетом сложных процентов); σ — годовая волатильность акции; y — процент от стоимости акции, выплачиваемый в качестве дивидендов.

На рис. 4 находится шаблон, который вычисляет цену для европейских колл- и пут-опционов. Введите значения параметров в ячейки С5:С10 и получите цену европейского колл-опциона в С13, а цену европейского пут-опциона в С14. В качестве примера предположим, что акция Cisco сегодня продается за 20 долларов и вы выпустили семилетний европейский колл-опцион. Пусть годовая волатильность акции Cisco равна 50%, и безрисковая ставка в течение семилетнего периода исчисляется исходя из 5% в год. С учетом сложных процентов она преобразуется в ln(1+0,05) = 0,0488. Компания Cisco не выплачивает дивиденды, так что годовая норма дивидендов равна 0. Цена колл-опциона составляет 10,64 долл. Семилетний пут-опцион с ценой исполнения 24 доллара будет стоить 7,69 долларов.

Рис. 4. Определение цены европейских колл- и пут-опционов

Чувствительность стоимости опционов к росту основных параметров

Как правило, влияние изменения входных параметра на цену колл- или пут- опциона соответствует указанному на рис. 5.

Рис. 5. Влияние роста входных параметров на стоимость опционов

Повышение сегодняшнего курса акции всегда повышает цену колл-опциона и снижает цену пут-опциона.

Повышение цены исполнения всегда повышает цену пут-опциона и снижает цену колл-опциона.

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

Увеличение волатильности всегда повышает цену опциона.

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

Дивиденды, как правило, снижают темпы роста курса акции, поэтому увеличенные дивиденды снижают цену колл-опциона и повышают цену пут-опциона.

Конкретное влияние изменения параметров на цену колл- и пут-опционов можно исследовать с помощью таблицы данных (рис. 6), см. также Анализ чувствительности в Excel (анализ «что–если», таблицы данных).

Рис. 6. Анализ чувствительности опционов от волатильности

Оценка волатильности акции по формуле Блэка–Шоулза

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

Для вычисления подразумеваемой волатильности можно воспользоваться инструментом Подбор параметра и описанными ранее входными параметрами (см. рис. 4). 22 июля 2003 г. акция Cisco продавалась за 18,43 долларов. В октябре 2003 г. колл-опцион с ценой исполнения 17,50 долларов продавался за 1,85 долларов. Срок действия этого опциона истекал 18 октября (через 89 дней в будущем). Таким образом, срок действия опциона составляет 89/365 = 0,2438 лет. Предположительно, Cisco не выплачивает дивиденды. Пусть ставка для казначейских векселей составляет 5%, и соответствующая безрисковая ставка равна ln(1 + 0,05) = 0,04879. Для определения волатильности акции Cisco, которая подразумевается ценой опциона, введите в ячейки B5:B10 (рис. 7) релевантные параметры.

Рис. 7. Вычисление волатильности акции Cisco согласно подразумеваемой волатильности

Далее в диалоговом окне Подбор параметра (Меню Данные –> Анализ «что-если»), показанном на рис. 8, определите волатильность (значение в ячейке B10), при которой цена опциона (формула в С13) достигает значения 1,85 долларов.

Как показано на рис. 7, этот опцион подразумевает годовую волатильность для Cisco в размере 34%.

Рис. 8. Настройки в диалоговом окне Подбор параметра

На сайте http://www.ivolatility.com/ и http://www.ivolatility.ru/ предоставляются оценки волатильности любой акции, как исторические, так и подразумеваемые.

Реальные опционы

Ценообразование опционов может повлиять на повышение эффективности долгосрочных инвестиций компании или на процесс принятия финансовых решений. Использование ценообразования опционов для оценки фактических инвестиционных проектов называется реальными опционами. Идею реальных опционов приписывают Джуди Левен, в прошлом финансовому директору компании Merck. По существу, реальные опционы позволяют назначить явную цену для управленческой гибкости, которую часто упускают из вида при традиционном составлении плана долгосрочных инвестиций. Рассмотрим два примера.

Пусть вы являетесь владельцем нефтяной скважины. Сегодня наиболее правдоподобное предположение о стоимости нефти в скважине — 50 млн. долларов. Через 5 лет (оставаясь владельцем скважины) вам предстоит принять решение о разработке нефтяной скважины, которая обойдется вам в 70 млн. долларов. Бизнесмен с сомнительной репутацией готов купить скважину сегодня за 10 млн. долларов. Следует ли продать скважину?

Безусловно, цена нефти через 5 лет может вырасти. Даже если предположить, что цена нефти будет расти на 5% в год, через 5 лет нефть будет стоить 63,81 млн долларов. Традиционный план долгосрочного инвестирования предполагает, что нефть обесценится, поскольку стоимость ее разработки превышает стоимость нефти в скважине. Но не торопитесь — через 5 лет цена нефти в скважине будет другой, т.к. многие вещи (такие как мировая цена на нефть) могут измениться. Существует вероятность, что через 5 лет нефть будет стоить не меньше 70 млн. долларов. Если через 5 лет нефть будет стоить 80 млн. долларов, разработка скважины через пять лет принесет 10 млн долларов.

По сути, вы владеете пятилетним европейским колл-опционом на эту скважину, т.к. выигрыш от скважины через 5 лет такой же, как выигрыш по европейскому колл-опциону с курсом акции 50 млн. долларов, ценой исполнения 70 млн. долларов и сроком опциона 5 лет. Можно предположить, что годовая волатильность подобна волатильности акции типичной нефтяной компании (например, 30%). Если использовать безрисковую ставку 4,879%, можно определить, что цена такого колл- опциона составляет 11,47 млн. долларов (рис. 9). Из этого следует, что вы не должны продавать скважину за 10 млн. долларов.

Рис. 9. Реальный опцион на нефтяную скважину

Конечно, фактическая волатильность для этой нефтяной скважины неизвестна. По этой причине с помощью таблицы данных с одним входом определим, как цена опциона зависит от оценки волатильности (см. рис. 9). Как видно из таблицы, пока волатильность скважины составляет, по меньшей мере, 27%, опцион на нефтяную скважину стоит более 10 млн. долларов.

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

По существу, биотехнологическая компания запрашивает платеж в 1 млн. долларов для каждого миллиона долларов, на который цена препарата упадет ниже уровня 50 млн. долларов, через 5 лет. Это эквивалентно пятилетнему пут-опциону на цену лекарственного препарата. Предположим, что ставка по казначейскому векселю составляет 5% и годовая волатильность для акций сопоставимых компаний равна 40% (рис. 10), тогда цена этого опциона — 10,51 млн. долларов. Такой тип опциона часто называют опционом на отказ от проекта, но он эквивалентен пут-опциону. (На рис. 10 таблица данных показывает, как цена опциона отказа от проекта зависит от предполагаемой волатильности, составляющей 30–45% от цены лекарственного препарата.)

Рис. 10. Вычисление стоимости пут-опциона отказа от проекта

[1] Заметка написана на основе материалов из книги Уэйн Л. Винстон. Microsoft Excel 2013. Анализ данных и бизнес-моделирование, глава 78.

Содержание

  1. Пояснение-дисклеймер от Excellentricks: автор сайта критично относится к криптовалютам и к используемым в статье ниже подходам (и явным ошибкам), статья приведена, как иллюстрация сопряжения элементов Excel и имитационного моделирования, поэтому некоторые формулы, написанные с применением  MathJax отображаются некорректно (полную версию можно прочитать по ссылке внизу статьи на хабре).
  2. Введение
  3. Определение опциона
  4. Как продавец оценивает премию по опциону
  5. Эталонный расчет — модель Блэка — Шоулза
  6. Логнормальное распределение
  7. Расчет премии по формуле Б-Ш
  8. Историческая волатильность
  9. Расчет премии в Excel
  10. Расчет премии для “ненормального” ценового распределения
  11. Моделирование “реальной” цены

Пояснение-дисклеймер от Excellentricks: автор сайта критично относится к криптовалютам и к используемым в статье ниже подходам (и явным ошибкам), статья приведена, как иллюстрация сопряжения элементов Excel и имитационного моделирования, поэтому некоторые формулы, написанные с применением  MathJax отображаются некорректно (полную версию можно прочитать по ссылке внизу статьи на хабре).

Введение

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

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

Определение опциона

Опцион — контракт, дающий покупателю право (но не обязанность!) купить или продать торгуемый на рынке актив по указанной им (покупателем контракта) цене. Продавец опциона назначает покупателю премию — свое вознаграждение за предоставленную покупателю опциона возможность купить или продать актив в определенный срок по определенной цене.
Пример опционного контракта:

  • покупатель опциона хочет получить право купить 10 Ethereum (ETH) по цене $470 за 1 ETH через 30 дней.
  • текущая цена Ethereum равна $450.

Допустим, через 30 дней рыночный курс Ethereum вырастет до $500. Покупатель опциона сможет купить 10 Ethereum (10 ETH) по оговоренной в контракте цене $470. После чего, покупатель, желающий сейчас же извлечь выгоду из своей сделки, тут же продаст Ethereum по цене $500, заработав:

10 x (500 — 470) = 300 (USD).

Если же цена Ethereum окажется ниже $470, покупатель опциона просто откажется от невыгодной сделки. 

Беспроигрышное предложение! Разумеется, за такую чудесную возможность продавец запросит какую-то сумму — премию по опциону.

Итак, спецификация опционного контракта:

  • в данном примере покупатель приобрел европейский call опцион в объеме 10 ETH со страйк-ценой $470 USD с экспирацией через 30 дней.
  • “Европейский” — в данном контексте означает, что покупатель опциона может совершить сделку по указанной цене строго на определенную дату — на момент экспирации опциона. Существуют также “американские” опционы, где покупатель контракта может исполнить его в любое время до момента экспирации, но рассмотрение американских опционов выходит за рамки статьи.
  • Покупатель опциона получает право купить актив (Ethereum) по указанной цене. Опцион на покупку актива определен как call-опцион, на продажу — put-опцион.
  • Цена, по которой покупатель опциона имеет право приобрести актив — в нашем примере $470 — называется страйк-ценой.
  • Сумма, которую покупатель опциона уплатит продавцу, называется премией.

Размер премии по опциону и есть предмет нашего небольшого исследования.

Как продавец оценивает премию по опциону

Рассчитать величину премии — такую, чтобы и самому не остаться в накладе, и не отпугнуть потенциального покупателя “задранным” ценником — настоящее искусство. По крайней мере, было таковым до поры. Пока в 1973 году два математика не явили свету изящную формулу, названную их именами — формула Блэка-Шоулза. Об этой формуле и ее влиянии на рынок деривативов написана даже популярная книга — “Кванты. Как волшебники от математики заработали миллиарды и чуть не обрушили фондовый рынок”. Конечно, реальная история несколько сложнее, чем “тьма невежества — вжух! — формула”… Но меня интересуют не столь глобальные процессы, а непосредственно вопрос: насколько формула Блэка-Шоулза применима для оценки “справедливой” премии по опциону, рассчитанной для популярных у трейдеров криптовалютных контрактов?

Модель Блэка-Шоулза описывает некий “стандартизированный” рынок. Выхолощенный, избавленный от резких ценовых перепадов, живущий годами в одном ритме. Разумеется, формула, выведенная для “идеального” рынка, не так хорошо работает на практике, как в теории.

Как принято у трейдеров — там, где недостает теории, обращаются к эмпирике. К трейдерской “чуйке”, к “опыту”. Как программист, я негодую от такого невежества. Потому приведу свое решение: чужие выкладки, немного тервера, магия Excel и, в самом конце, исходники на C#.

Эталонный расчет — модель Блэка — Шоулза

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

Для дальнейших расчетов нам нужны “идеальные” данные — ценовой ряд, обладающий нужными характеристиками.

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

Логнормальное распределение

Модель Б-Ш (давайте уже сократим имена авторов в названии) предполагает, что ценовой ряд описывает логнормальное распределение. Что это означает? Приведу пример: 

в столбце A — цена абстрактного актива ABS/USD, pipi.
Столбец B содержит натуральный логарифм от частного pipi и pi1pi−1.

Логнормальное распределение описывает ценовой ряд, производный ряд от которого, полученный как натуральный логарифм частного от деления текущего значения с предыдущим, имеет нормальное распределение. Сложно. Поясню на нашем примере: если значения в столбце B распределены согласно нормальному закону, то значения столбца A описывает логнормальное распределение.

Как нам получить “логнормальный” ценовой ряд? MS Excel, который я уже использовал для примера, умеет генерировать случайные числа, имеющие равномерное (увы, не нормальное) распределение. Есть несложная методика, по которой мы сможем получить ряд нормально распределенной СВ из равномерно распределенной СВ. Методика называется “метод обратной функции”. Не вдаваясь в детали метода, отмечу следующий его важный аспект:

  • метод обратной функции позволяет получить СВ с произвольным, заданным функцией (таблицей), законом распределения, получая на входе СВ, равномерно распределенную в диапазоне от 0 до 1.

Нам нужна обратная интегральная (как ее еще называют, кумулятивная) функция нормального распределения. Такая есть в Excel: функция “НОРМ.ОБР”.

Функция НОРМ.ОБР принимает значения: вероятность, среднее, стандартное отклонение.

  • Вероятность — то самое значение, от которого мы строим нашу функцию. Строго больше 0 и строго меньше 1. Сгенерируем 999 значений от 0.001 до 0.999 с шагом 0.001 в столбце A. Значения из столбца A и пойдут на вход функции НОРМ.ОБР.
  • Среднее — математическое ожидание нашей СВ. Напомню, мы генерируем величину, пропорциональную динамике нашего ценового актива ABS/USD. Положительные значения соответствуют росту цены (pi>pi1ln(pi/pi1)>0pi>pi−1⟹ln(pi/pi−1)>0), отрицательные — падению. Если мы зададим параметр “среднее” большим нуля, наш актив будет, скорее всего, расти (программист говорит: проведем миллион итераций и гарантированно увидим конечную цену, превышающую начальное значение). Наш выбор — среднее, равное 0. Что означает “нейтрально дрейфующую” цену ABS/USD.
  • Стандартное отклонение. О нем тоже пойдет речь впоследствии. Величина, характеризующая волатильность нашего актива. Примем ее равной 0.5% или 0.005. Что примерно соответствует изменению цены в день на ± 0.5% в среднем.

Как интерпретировать эти данные? Возьмем первую пару чисел:

“СВ примет значение -0.015451 или меньше с вероятностью 0.001 (0.1%)”.

Вторая пара: “СВ примет значение -0.014391 или меньше с вероятностью 0.002 (0.2%)”. И т.д.
Метод обратной функции: мы случайным образом выбираем число в диапазоне от 0 до 1 (столбец A) и находим соответствующее ему значение обратной кумулятивной функции распределения (столбец B). Или же, в нашем случае, просто случайным образом выбираем число из столбца B.

Т.е., выбираем значение N в диапазоне от 0 до 999 и читаем содержимое ячейки BN+2BN+2:

  • Формула ячейки B2: =НОРМ.ОБР(A2;0;0,005)
  • Формула ячейки C2: =СЛУЧМЕЖДУ(0;999)
  • Формула ячейки D2: =ДВССЫЛ(СЦЕПИТЬ(«B»;C2+2))

Вот мы и получили нормально распределенную случайную величину с математическим ожиданием 0 и среднеквадратичным отклонением 0.005.

В столбце D может быть сколько угодно значений. Нам понадобится 3650 значений — мы собираемся моделировать дневные изменения цены ABS/USD за 10 лет. Осталось сгенерировать собственно цену ABS/USD.

В столбце D мы имеем ряд величин ∆, а ∆, по формуле логнормального распределения, определена как

Δi=ln(pi/pi1)∆i=ln(pi/pi−1)

Значит, цены ABS/USD, последующая и предшествующая, будут связаны функцией

pi=pi1eΔpi=pi−1∗e∆

Перенесем столбец D на новый лист, скопировав его, а затем вставив значения, начиная с ячейки A3.

Теперь укажем начальную цену ABS/USD равную 1000 (USD за 1 ABS) — введем “1000” в ячейку B2:

В ячейку B3 введем “=B2*EXP(A3)” и скопируем это значение во все последующие ячейки — B4:B3652.

На этом подготовка исходных данных, наконец, завершена. Столбец B содержит ценовой ряд нашего эталонного актива ABS/USD. Ряд, обладающий характеристиками логнормального распределения со среднеквадратичным отклонением, равным 0.005 (0.5%). У меня получились такие значения:

Нет никакой гарантии, что у вас, если вы проделаете ровно те же вычисления в MS Excel, получатся ровно те же значения, так как исходные данные — случайная величина. И все же — согласитесь, график вполне походит на биржевую сводку?

Расчет премии по формуле Б-Ш

Раз уж у нас есть “эталонные” данные, проведем “эталонный” расчет. Мы считаем премию по “ванильному” европейскому CALL-опциону:

  • текущая цена (S) равна 1000,
  • страйк (X) равен 1000. Страйк равен текущей цене, такой опцион на сленге именуется “ванильным”,
  • экспирация через 30 дней (T),
  • объем сделки — один контракт.

Наш инструмент ABS — не акция, не облигация и не иная ценная бумага. Никаких дивидендов за обладание ABS владельцу не полагается.

Та самая формула — формула расчета премии за европейский опцион Call (значение C):

C=SN(d1)XerTN(d2)C=SN(d1)−Xe−rTN(d2)

d1=ln(SX)+(r+σ22)TσTd1=ln(SX)+(r+σ22)TσT

d2=d1σTd2=d1−σT

Разберем параметры формулы. 

  • S и X нам уже известны — текущая (1000 USD) и страйк (1000 USD) цены актива, соответственно.
  • T — время до экспирации, выраженное, как часть года. К примеру, наш контракт ABS торгуется 365 дней в году, подобно криптовалютным контрактам. Экспирация произойдет через 30 дней, следовательно, T = 30/365 ~ 0.082. Другой пример — опцион на EURUSD на Чикагской бирже, торгуется приблизительно 265 дней в году. Считаем количество торговых дней до конкретной даты — до дня экспирации. Скажем, мы посчитали 23 торговых дня. В таком случае параметр T будет равен 23/265 или примерно 0.087.
  • r — безрисковая процентная ставка. Как мы уже отмечали, для актива ABS она равна 0.
  • σ (сигма) — историческая волатильность актива. Здесь потребуется небольшое отступление.

Историческая волатильность

За волатильность мы берем среднеквадратичное отклонение (СКО), пересчитанное на годичный интервал. Приведу очередную формулу из Википедии:

S0=1n1i=1n(xix¯¯¯)2S0=1n−1∑i=1n(xi−x¯)2

Как нам посчитать среднеквадратичное отклонение цен ABS/USD в MS Excel?

  • Столбец C содержит разность текущего и предыдущего значения цен ABS, поделенную на предыдущее значение и умноженную на 100%.
  • Ячейка D2 содержит среднее значение из столбца C.
  • Столбец E содержит квадраты разности ценового отклонения (столбец C) и среднего значения ценового отклонения (ячейка D2, вторая строка “зафиксирована” в формуле символом $).
  • Ячейка G2 — дисперсия, сумма квадратов отклонений, деленная на количество значений за вычетом 1 (SIC!).
  • Наконец, ячейка H2 содержит искомое СКО — корень из дисперсии (G2).

Часть вычислений можно пропустить: достаточно посчитать столбец C (величины отклонений в процентах) и воспользоваться функцией Excel для нахождения среднеквадратичного (стандартного) отклонения — что мы и определили в ячейке I2 — функция “СТАНДОТКЛОН.В”.

Осталось пересчитать значение СКО (σ) на интервал один год. Наш ABS/USD торгуется 365 дней в году. Значение σ, рассчитанное для одного дня, надо умножить на корень квадратный из 365:

σY=σ365=0,4943%×19,105=9,443%σY=σ365=0,4943%×19,105=9,443%

Откуда взялся квадратный корень в формуле пересчета дневного значения среднеквадратичного отклонения в годовое? Заинтересовавшихся адресую в интернет, искать модель случайного блуждания, random walk (RW).

Расчет премии в Excel

Теперь, когда мы определили все параметры формулы Блэка — Шоулза, введем их значения и функции в Excel:

Сразу отмечу: значения T и σ я указываю в абсолютных величинах, не в процентах.

  • Формула коэффициента d1 =(LN(B2/B3)+B4*(B6+B5*B5/2))/(B5*КОРЕНЬ(B4))
  • d2 =H2-B5*КОРЕНЬ(B4)
  • N(d1) =НОРМ.РАСП(H2;0;1; ИСТИНА)
  • N(d2)=НОРМ.РАСП(H3;0;1; ИСТИНА)
  • Наконец, премия CALL-опциона: =B2*СТЕПЕНЬ(2,71818;-B7*B4)*K2-B3*СТЕПЕНЬ(2,71818;-B6*B4)*K3

“Справедливая” премия за ванильный European CALL-опцион ABS/USD со страйком 1000 и экспирацией через 30 дней составила $10.80 за один контракт.

Расчет премии для “ненормального” ценового распределения

Выше утверждалось, что ценовая модель Б-Ш адекватна для логнормального распределения ценового ряда. Но насколько близок “реальный” рынок по своим характеристикам подобному закону распределения СВ? Точнее, насколько рынок далек от него?

Наш гипотетический актив ABS/USD характеризуется нормальным распределением логарифмов от частного соседних (текущая и предыдущая) цен. График плотности вероятности появления больших и малых отклонений цены (логарифмов) имеет классическую для нормального распределения форму, примерно такую:

Иначе говоря, имеет форму колокола, с “крутой” вершиной и “плечами”, или “хвостами”, быстро приближающимися к оси абсцисс по мере удаления от среднего значения (0).

Каким эмпирическим наблюдениям могли бы соответствовать для реального рынка эти самые “хвосты” нормального распределения?

Большие отклонения цены возможны, но имеют крайне низкую вероятность. Для графика, приведенного выше, можно сказать, что отклонение цены на +2% и более имеет вероятность 5%. А отклонение цены на +3% и более имеет уже околонулевую вероятность — какие-то незначительные доли процента.

“Реальному” рынку свойственно несколько иное поведение. А конкретно: большинство ценовых изменений лежат в довольно узком диапазоне, при этом, однако, существенна вероятность значительных ценовых колебаний. График плотности вероятностей ценовых отклонений для “реального” рынка примет вид приблизительно такой:

Повлияет ли тот факт, что характеристики распределения дневных отклонений цены для “реального” рынка отличаются от модели Б-Ш на точность расчета?

Очевидно, повлияет. Вопрос — насколько сильно будет ошибаться формула Б-Ш в своей оценке “справедливой” премии?

Моделирование “реальной” цены

Сейчас моя задача — генерировать новый ценовой ряд. Ценовой ряд, логарифмы от частного соседних цен в котором подчиняются некоторому “ненормальному” распределению — распределению, отличающемуся “толстыми хвостами”. Более того, я немного усложню себе задачу. 

Итоговый ценовой ряд должен характеризоваться той же величиной исторической волатильности, что и ценовой ряд ABS/USD, построенный нами ранее.

Для примера приведу две кривых плотности распределения СВ: нормальное распределение (коричневая линия) и “реальное” распределение (синяя линия) — то, что мы хотим получить. С толстыми и длинными хвостами:

В нормальном распределении мы можем варьировать один параметр — среднеквадратичное отклонение (σ). Вот как выглядят два графика плотности нормального распределения с σ, равной 1 и 0.4 соответственно:

Оба графика — не совсем то, что нам бы хотелось. Тонкое “тело” графика для параметра σ = 0,4 — близко к желаемому. Но нам бы хотелось “хвостов” потолще. Иначе говоря — большой процент отклонений, концентрирующихся в окрестностях среднего значения (0), при все еще значимой вероятности больших (2% и более) ценовых отклонений.

Решение: сложить два графика. Я получу ту самую зависимость, что привел выше на рисунке как “реальную” плотность вероятности распределения цен.

Сейчас мы складывали значения функции плотности нормального распределения. Как же построить распределение, плотность которого будет соответствовать сумме двух функций нормального распределения с параметрами σ = 1 и σ = 0,4?

Очевидно (исправлено):

  1. сложить две (обратные) интегральные функции плотности нормального распределения,
  2. подставить в получившуюся функцию аргумент — равномерно распределенную СВ.

Проделаю примерно те же вычисления, что и раньше, при генерации ряда ABS/USD. Но теперь заполню два столбца функцией “НОРМ.ОБР”. Результирующая величина должна иметь годовое среднеквадратичное отклонение, равное 9.44% — как и в предыдущем примере. Этого я добьюсь, проведя несколько итераций подбора параметров, так как результат (сгенерированная выборка) недетерминирован:

  • Столбцы C (R1), D (R2) содержат обратную функцию нормального распределения с параметрами 0.005 и 0.0015 соответственно.
  • Столбец E (R ) — взвешенную сумму двух этих величин — 0,8 x R1 + 0,65 x R2.
  • Столбец F (RND) — случайное число в диапазоне от 2 до 1000.
  • Наконец, столбец G(∆) — случайным образом выбранную из столбца E (R ) ячейку. То распределение, которого мы добивались.

Осталось применить к полученному ряду формулу:

xi=xi1eΔixi=xi−1∗e∆i

Сумму двух нормально распределенных случайных величин копируем в столбец A. В столбце B, как и раньше, мы умножаем предыдущее значение цены (начинается от 1000) на экспоненту от СВ из столбца A.

В итоге у меня получился следующий график цены WRD/USD:

wrdusd

Премия за опцион CALL для WRDUSD на тех же условиях контракта, что мы уже рассчитали ранее, останется неизменной, так как параметры в формуле Б-Ш не менялись. Напомню цифры: премия за ванильный European CALL-опцион WRD/USD со страйком 1000 и экспирацией через 30 дней составила $10.80 за один контракт.

Мы располагаем двумя активами, динамика цен на которые выражается разными законами:

ABS/USD WRD/USD
Закон распределения цен логнормальное распределение «Реальное» распределение
Премия по формуле Б-Ш $10.80 $10.80
“Справедливая” премия ? ?


На этом этапе возможностей MS Excel мне уже недостает (их не достаёт автору статьи, а не автору https://Excellentricks.ru), пора переходить к программированию.

Simplified

Simple Option Pricing Screen

On the «basic» worksheet tab you will find a simple option calculator that generates fair values and option Greeks for a single call and put according to the underlying inputs you select. The white areas are for your user input while the shaded green areas are the model outputs.

Implied Volatility

Implied Volatility Calculator

Underneath the main pricing outputs is a section for calculating the implied volatility for the same call and put option. Here, you enter the market prices for the options, either last paid or bid/ask into the white Market Price cell and the spreadsheet will calculate the volatility that the model would have used to generate a theoretical price that is in-line with the market price i.e. the «implied» volatility.

Payoff Graphs

Basic Option Payoff Graphs

The PayoffGraphs tab gives you the profit and loss profile of basic option legs; buy call, sell call, buy put and sell put. You can change the underlying inputs to see how your changes effect the profit profile of each option.

Strategies

Option Strategy Input

The Strategies tab allows you to create option/stock combinations of up to 10 components. Again, use the while areas for your user input while the shaded areas are for the model outputs.

Formulas

Theoretical and Greek Prices

Use this Excel formula for generating theoretical prices for either call or put as well as the option Greeks:

=OTW_BlackScholes(Type, Output, Underlying Price, Exercise Price, Time, Interest Rates, Volatility, Dividend Yield)

Type
c = Call, p = Put, s = Stock
Output
p = theoretical price, d = delta, g = gamma, t = theta, v = vega, r = rho
Underlying Price
The current market price of the stock
Exercise Price
The exercise/strike price of the option
Time
Time to expiration in years e.g. 0.50 = 6 months
Interest Rates
As a percentage e.g. 5% = 0.05
Volatlity
As a percentage e.g. 25% = 0.25
Dividend Yield
As a percentage e.g. 4% = 0.04

A Sample formula would look like =OTW_BlackScholes(c, p, 25, 26, 0.25, 0.05, 0.21, 0.015).

Implied Volatility

=OTW_IV(Type, Underlying Price, Exercise Price, Time, Interest Rates, Market Price, Dividend Yield)

Same inputs as above except:

Market Price
The current market last, bid/ask of the option

Example: =OTW_IV(p, 100, 100, 0.74, 0.05, 8.2, 0.01)

Support

If you’re having troubles getting the formulas to work, please check out the support page or send me an email.

If you’re after an online version of an option calculator then you should visit Option-Price.com

Just to note that much of what I have learnt that made this spreadsheet possible was taken from the highly acclaimed book on financial modeling by Simon Benninga — Financial Modeling — 3rd Edition

If you’re an Excel junkie, you’ll love this book. There are loads of real world problems that Simon solves using Excel. The book also comes with a disk that contains all the exercises Simon illustrates. You can find a copy of Financial Modeling at Amazon of course.

In finance, option pricing is a term used for estimating the value of an option contract using all known inputs. Monte Carlo Simulation is a popular algorithm that can generate a series of random variables with similar properties to simulate realistic inputs. In this guide, we’re going to show you how to calculate Option Pricing using Monte Carlo Simulations in Excel.

Download Workbook

Monte Carlo Simulation

Monte Carlo simulation is a special type of probability simulation which is mainly used to determine the risk factors by observing the cluster of possible results. First developed for finding the possible outcomes of a solitaire game, Monte Carlo takes its name from the famous casino in Monaco.

The simulation takes random values of the inputs within constraints and the results are recorded as more iterations are run. Then, you get a rather big pool of answers created from all those random inputs.

We can simulate the possible future stock prices and then use them to find the discounted expected option payoffs.

Using the statistical formulas NORM.S.INV and VBA, we can generate random variables in normal distribution and run the simulation as many times as necessary..

European-style Options Pricing

In this example, we are going to be using the Black-Scholes formula to calculate a European-style option pricing model, which restricts its options execution until the expiration date. There are two major types of options: calls and puts.

  • Call is an option contract between the buyer and the seller of the call option, to exchange a security at a set price.
  • Put is an option contract which gives the purchaser of the put option the right to sell an asset, at a specified price, by a specified date to the seller of the put.

The Black-Scholes formula is a popular approach for calculating European put and call options. In its simplest form, the Black-Scholes model involves underlying assets of a risk-free rate of return and a risky share price. The following equation shows how a stock price varies over time:

How to calculate Option Pricing using Monte Carlo Simulations in Excel - Black-Scholes

St = Stock price at time t

r = Risk-free rate

t = time

σ = T he volatility of the stock’s returns; this is the square root of the quadratic variation of the stock’s log price process

ε = random generated variable from a normal distribution

δ = Dividend yield which was not in the Black-Scholes model originally. The original model was for pricing options on non-paying dividends stocks.

Once the formula is run thousands or million times, you will have the set of St values. The payoff values can be calculated with the following formula, where K is the strike price:

Calculating Option Pricing with VBA

Let’s pass these formulations into a VBA code. We are going to create a user defined function (UDF) which can be used as a built-in function like SUM or VLOOKUP. Our function name is “EuropeanOptionMonteCarlo”.

Public Function EuropeanOptionMonteCarlo(OptionType As String, S As Double, K As Double, r As Double, sigma As Double, T As Double, Div As Double, N As Double, nIt As Double)

  Dim i As Integer, j As Integer
  Dim Payoff() As Double, St As Double, dt As Double, e As Double, price As Double

  ReDim Payoff(1 To nIt)

  dt = T / N

  Randomize 'new seed for random number generation

  For i = 1 To nIt
    St = S
    For j = 1 To N
      e = WorksheetFunction.NormSInv(Rnd()) 'random factor
      St = St * Exp((r - Div - sigma ^ 2 / 2) * dt + sigma * Sqr(dt) * e) 'European option formula
    Next j

    If OptionType = "Call" Then 'Call or Put
      Payoff(i) = WorksheetFunction.Max(St - K, 0) * Exp(-r * T)
    ElseIf OptionType = "Put" Then
      Payoff(i) = WorksheetFunction.Max(K - St, 0) * Exp(-r * T)
    End If

  Next i

  For i = 1 To nIt
    price = price + Payoff(i) 'Total of iterations
  Next i

  EuropeanOptionMonteCarlo = price / nIt 'Return average of iterations as the function's result

End Function

Once the UDF is ready, we are ready to see the result in Excel.
How to calculate Option Pricing using Monte Carlo Simulations in Excel

Главный секрет успешной торговли опционами — умение минимизировать убытки. Профессиональный трейдер должен в первую очередь искать способы сокращения и компенсации финансовых потерь, а не гнаться за сверхприбылью. Одним из методов, позволяющих уменьшить денежные убытки в трейдинге, является торговля по Мартингейлу. Ее суть предельно проста: если одна сделка приносит потери, то их необходимо компенсировать путем увеличения размера последующей сделки. Таблица Мартингейла для бинарных опционов, которая будет приведена ниже, позволит грамотно управлять капиталом и избегать серьезных денежных потерь.

Торговля по Мартингейлу

Система Мартингейла

Как работает метод?

Торговля по этой стратегии ведется следующим образом. Первая сделка всегда открывается на небольшую сумму, которая не превышает 1-2% от размера депозита — к примеру, на 100 руб. при наличии суммарного капитала 10000 руб. Если торговая операция оказывается неудачной, и трейдер теряет эти 100 рублей, то вторая сделка открывается в таком размере, чтобы прибыль по ней полностью перекрыла предыдущий убыток. Например, если по валютной паре GBP/USD выплачивается 80% прибыли, то второй опцион нужно покупать на сумму 125 руб (100/0.8=125). Если эта сделка окажется успешной, на счет будет возвращено 225 руб., трейдер выйдет «в ноль» и убыток будет компенсирован.

Если же, наоборот, вторая сделка также оказывается проигрышной, то на третьем шаге нужно увеличивать уже не размер этой операции (125 руб.), а сумму накопленного убытка (100+125=225). Полученное значение 225 делится на 0.8, результат равен 282 руб. Именно на такую сумму следует покупать опционы в третьем цикле Мартингейла. Доход по этой операции, если он будет, полностью перекроет предыдущие потери, и трейдер снова выйдет «в ноль», отделавшись малой кровью.

Для наглядности ниже приведен расчет десяти циклов Мартингейла в рублях.

№ сделки Сумма сделки Накопленный убыток Возможная прибыль
1 100 100 180
2 125 225 225
3 282 507 508
4 634 1141 1140
5 1427 2568 2570
6 3210 5778 5780
7 7220 13001 13000
8 16250 29250 29250
9 36570 65820 65820
10 82280 148090 148100

Что нужно учитывать?

Данная методика весьма неоднозначно воспринимается трейдерами. Одни участники рынка активно пользуются ею и получают неплохой доход от торговли. Другие же твердо убеждены в том, что использование этой стратегии крайне опасно для торгового депозита и рано или поздно приводит к полному «сливу». Безусловно, в этом есть доля истины. Ведь никто, даже самые опытные спекулянты, не застрахованы от длинной серии неудачных сделок.

Если последовательность убыточных торговых операций окажется слишком длинной, денег на депозите попросту не хватит для выполнения достаточного количества циклов Мартингейла. Но при грамотном подходе к трейдингу такое происходит крайне редко. В подавляющем большинстве случаев удается компенсировать убытки по ранее открытым сделкам уже на 3-м или 4-м цикле Мартингейла.

Как правильно использовать стратегию?

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

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

Но финансовые рынки — это не азартные игры. Здесь есть определенные закономерности, по которым можно с высокой точностью предсказывать движения котировок. Если вы учитываете эти закономерности, ваши шансы на получение прибыли существенно возрастают. Если при «слепой» торговле шансы на успех равны 50:50, то при тщательном изучении аналитических методов этот «баланс» нарушается, и вероятность получения прибыли по каждой сделке возрастает до 70-80% (чего вполне достаточно для стабильной прибыльной торговли).

Иными словами, тактику Мартингейла необходимо применять только в качестве вспомогательного инструмента, а не основного. Если торговля идет по плану, вы открываете сделки на сумму 1-2% от депозита (по правилам манименеджмента) и они закрываются «в плюс», нет никакой необходимости в увеличении объемов торговых операций. Если изначальные ставки сделаны на $2 (при размере депозита $200), оставляйте их без изменения и торгуйте такими же объемами. Увеличение базовых размеров сделок допустимо лишь при условии, что ваш депозит планомерно увеличивается. Превратив $200 в $400, вы уже сможете спокойно оперировать опционами на $4, а не $2, т.к. это вписывается в рамки манименеджмента ($4 — это всего 1% от депозита размером $400).

Основной же упор необходимо делать именно на аналитику. Нужно внимательно следить за показаниями индикаторов, вовремя реагировать на сигналы, проводить тщательный анализ графиков. Только в этом случае можно безопасно торговать по Мартингейлу, не рискуя «слить» весь депозит за полчаса.

Примеры расчетов в долларах

Если вы торгуете через брокерскую компанию, в которой допускается открытие только долларовых счетов, воспользуйтесь таблицей, приведенной ниже. Базовый размер ставки составляет $1, что оптимально при размере депозита в $100. Если на вашем торговый счете имеется $200, табличные значения нужно лишь домножить на 2, и аналогичным образом для любой другой суммы депозита.

№ сделки Сумма сделки Накопленный убыток Возможная прибыль
1 1 1 1.8
2 1.25 2.25 2.25
3 2.82 5.07 5.08
4 6.34 11.41 11.4
5 14.27 25.68 25.7
6 32.1 57.78 57.8
7 72.2 130.01 130
8 162.5 292.5 292.5
9 365.7 658.2 658.2
10 822.8 1480.9 1481

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

Понравилась статья? Поделить с друзьями:
  • Таблица excel не работает прокрутка
  • Таблица excel по логистике
  • Таблица excel не помещается при печати
  • Таблица excel по дням месяца
  • Таблица excel не перемещается курсор по таблице