exponenta event banner

optstockbyblk

Ценовые опционы на фьючерсы и форварды с использованием модели ценообразования черного опциона

Описание

пример

Price = optstockbyblk(RateSpec,StockSpec,Settle,Maturity,OptSpec,Strike) вычисляет цены опциона на фьючерсы или форвардные цены с использованием модели ценообразования черного опциона.

Примечание

optstockbyblk вычисляет цены опционов по фьючерсам и форвардам. Если ForwardMaturity не передается, функция вычисляет цены будущих опционов. Если ForwardMaturity передается, функция вычисляет цены форвардных опционов. Эта функция используется для обработки нескольких видов основных средств, например, запасов и товаров. Дополнительные сведения о спецификации базового актива см. в разделе stockspec.

пример

Price = optstockbyblk(___,Name,Value) добавляет необязательный аргумент пара имя-значение для ForwardMaturity для вычисления цен опционов по форвардам с использованием модели ценообразования опционов Black.

Примеры

свернуть все

В этом примере показано, как вычислять цены опционов на фьючерсы с использованием модели ценообразования «черный опцион». Рассмотрим два европейских колл-опциона на фьючерсный контракт с ценами упражнений 20 и 25 долларов, которые истекают 1 сентября 2008 года. Предположим, что 1 мая 2008 года контракт торгуется по $20, и имеет волатильность 35% годовых. Безрисковая ставка составляет 4% годовых. С помощью этих данных рассчитайте цену опционов колл-фьючерсов с использованием модели Black.

Strike = [20; 25];
AssetPrice = 20;
Sigma = .35;
Rates = 0.04;
Settle = 'May-01-08';
Maturity = 'Sep-01-08';

% define the RateSpec and StockSpec
RateSpec = intenvset('ValuationDate', Settle, 'StartDates', Settle,...
 'EndDates', Maturity, 'Rates', Rates, 'Compounding', -1);

StockSpec = stockspec(Sigma, AssetPrice);

% define the call options
OptSpec = {'call'};

Price = optstockbyblk(RateSpec, StockSpec, Settle, Maturity,...
OptSpec, Strike)
Price = 2×1

    1.5903
    0.3037

В этом примере показано, как вычислять цены опционов по форвардам с использованием модели ценообразования Black. Рассмотрим два европейских варианта, звонок и поставьте форвардный контракт Brent Blend, который истекает 1 января 2015 года. Срок действия опционов истекает 1 октября 2014 года с ценой исполнения $200 и $90 соответственно. Предположим, что на 1 января 2014 года форвардная цена была на уровне $107, годовая непрерывно усложняемая безрисковая ставка - 3% годовых, волатильность - 28% годовых. Используя эти данные, вычислите цену опционов.

Определите RateSpec.

ValuationDate = 'Jan-1-2014';
EndDates = 'Jan-1-2015';
Rates = 0.03;
Compounding = -1;
Basis = 1;
RateSpec  = intenvset('ValuationDate', ValuationDate, ...
'StartDates', ValuationDate, 'EndDates', EndDates, 'Rates', Rates,....
'Compounding', Compounding, 'Basis', Basis')
RateSpec = struct with fields:
           FinObj: 'RateSpec'
      Compounding: -1
             Disc: 0.9704
            Rates: 0.0300
         EndTimes: 1
       StartTimes: 0
         EndDates: 735965
       StartDates: 735600
    ValuationDate: 735600
            Basis: 1
     EndMonthRule: 1

Определите StockSpec.

AssetPrice = 107;
Sigma = 0.28;
StockSpec  = stockspec(Sigma, AssetPrice);

Определите параметры.

Settle = 'Jan-1-2014';
Maturity = 'Oct-1-2014';  %Options maturity
Strike = [200;90];
OptSpec = {'call'; 'put'};

Цена прямого вызова и опционов на размещение.

ForwardMaturity = 'Jan-1-2015';  % Forward contract maturity
Price = optstockbyblk(RateSpec, StockSpec, Settle, Maturity, OptSpec, Strike,...
'ForwardMaturity', ForwardMaturity)
Price = 2×1

    0.0535
    3.2111

Рассмотрим колл-европейский опцион на фьючерс на сырую нефть Brent. Срок действия опциона истекает 1 декабря 2014 года с ценой исполнения $120. Предположим, что на 1 апреля 2014 года фьючерсная цена находится на уровне $105, годовая непрерывно усложняемая безрисковая ставка - 3,5% годовых, волатильность - 22% годовых. Используя эти данные, вычислите цену опциона.

Определите RateSpec.

ValuationDate = 'January-1-2014';
EndDates = 'January-1-2015';
Rates = 0.035;
Compounding = -1;
Basis = 1;
RateSpec  = intenvset('ValuationDate', ValuationDate, 'StartDates', ValuationDate,...
'EndDates', EndDates, 'Rates', Rates, 'Compounding', Compounding, 'Basis', Basis')
RateSpec = struct with fields:
           FinObj: 'RateSpec'
      Compounding: -1
             Disc: 0.9656
            Rates: 0.0350
         EndTimes: 1
       StartTimes: 0
         EndDates: 735965
       StartDates: 735600
    ValuationDate: 735600
            Basis: 1
     EndMonthRule: 1

Определите StockSpec.

AssetPrice = 105;
Sigma = 0.22;
StockSpec  = stockspec(Sigma, AssetPrice)
StockSpec = struct with fields:
             FinObj: 'StockSpec'
              Sigma: 0.2200
         AssetPrice: 105
       DividendType: []
    DividendAmounts: 0
    ExDividendDates: []

Определите опцию.

Settle = 'April-1-2014';
Maturity = 'Dec-1-2014'; 
Strike = 120;
OptSpec = {'call'};

Цена фьючерсного колл опциона.

Price = optstockbyblk(RateSpec, StockSpec, Settle, Maturity, OptSpec, Strike)
Price = 2.5847

Входные аргументы

свернуть все

Структура срока действия процентной ставки (в годовом исчислении и с постоянным усложнением), определяемая RateSpec получено из intenvset. Для получения информации о спецификации процентной ставки см. intenvset.

Типы данных: struct

Спецификация запаса для базового основного средства. Для получения информации о спецификации заготовки см. stockspec.

stockspec обрабатывает несколько типов базовых активов. Например, для физических товаров цена равна StockSpec.Asset, волатильность StockSpec.Sigma, и удобство доходности StockSpec.DividendAmounts.

Типы данных: struct

Дата расчета или торговая дата, указанная как серийный номер даты или символьный вектор даты с использованием NINSTоколо-1 вектор.

Типы данных: double | cell

Дата погашения для опциона, указанная как серийный номер даты или вектор символов даты с использованием NINSTоколо-1 вектор.

Типы данных: double | cell

Определение опции как 'call' или 'put', указано как NINSTоколо-1 массив ячеек символьных векторов со значениями 'call' или 'put'.

Типы данных: cell

Цена страйка опциона, указанная как неотрицательная NINSTоколо-1 вектор.

Типы данных: double

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: Price = optstockbyblk(RateSpec,StockSpec,Settle,Maturity,OptSpec,Strike,'ForwardMaturity',ForwardMaturity)

Дата погашения или дата поставки форвардного контракта, указанная как пара, разделенная запятыми, состоящая из 'ForwardMaturity' и NINSTоколо-1 вектор с использованием серийных номеров дат или векторов символов даты.

Типы данных: double | cell

Выходные аргументы

свернуть все

Ожидаемые цены опционов, возвращенные как NINSTоколо-1 вектор.

Подробнее

свернуть все

Фьючерсный опцион

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

Фьючерсные контракты заключаются на фьючерсной бирже, которая выступает посредником между двумя сторонами. Сторона, соглашающаяся на покупку основного актива в будущем, «покупатель» договора, считается «длинной», а сторона, соглашающаяся на продажу актива в будущем, «продавец» договора, - «короткой».

Фьючерсный контракт - это поставка товара J в момент времени T и:

  • На рынке существует котируемая цена F (t, T), которая известна как фьючерсная цена в момент t для поставки J в момент T.

  • Цена заключения фьючерсного контракта равна нулю.

  • В течение любого временного интервала [t, s] держатель получает количество F (s, T) F (t, T) (это отражает мгновенную маркировку на рынке).

  • В момент времени T держатель платит F (T, T) и имеет право на получение J. Обратите внимание, что F (T, T) должна быть спотовой ценой J в момент времени T.

Дополнительные сведения см. в разделе Опцион на фьючерсы.

Вариант пересылки

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

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

Погашение для форвардного опциона, где стоимость форвардной позиции на момент погашения зависит от взаимосвязи между ценой поставки (K) и базовой ценой (ST) в это время, является:

  • Для длинного положения: fT = ST − K

  • Для короткого положения: fT = K − ST

Дополнительные сведения см. в разделе Параметр пересылки.

Представлен в R2008b