exponenta event banner

optstockbybls

Ценовые опционы с использованием модели ценообразования опционов Блэка-Шоулза

Описание

пример

Price = optstockbybls(RateSpec,StockSpec,Settle,Maturity,OptSpec,Strike) возвращает цены опционов с использованием модели ценообразования опционов Блэка-Шоулза.

Примечание

При использовании StockSpec с optstockbybls, вы можете изменить StockSpec для обработки других типов недочетов при ценообразовании инструментов, использующих модель Блэка-Шоулза.

При расчете цены фьючерсов (черная модель) введите следующее в StockSpec:

DivType = 'Continuous'; 
DivAmount = RateSpec.Rates;
Например, см. раздел Расчет опционных цен с использованием модели ценообразования опционов Black-Scholes.

При расчете цены в иностранной валюте (модель Гармана-Кольхагена) введите в StockSpec:

DivType = 'Continuous'; 
DivAmount = ForeignRate; 

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

Примеры

свернуть все

В этом примере показано, как вычислять цены опционов с использованием модели ценообразования опционов Блэка-Шоулза. Рассмотрим два европейских варианта, призыв и пут, с ценой упражнений 29 долларов 1 января 2008 года. Срок действия опционов истекает 1 мая 2008 года. Предположим, что базовая акция для колл-опциона обеспечивает денежный дивиденд в размере 0,50 долл. США 15 февраля 2008 года. Базовая акция для пут-опциона обеспечивает непрерывную дивидендную доходность 4,5% годовых. Акции торгуются на уровне $30 и имеют волатильность 25% годовых. Годовая постоянно усложняемая безрисковая ставка составляет 5% годовых. Используя эти данные, вычислите цену опционов с помощью модели Блэка-Шоулза.

Strike = 29;
AssetPrice = 30;
Sigma = .25;
Rates = 0.05;
Settle = 'Jan-01-2008';
Maturity = 'May-01-2008';

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

DividendType = {'cash';'continuous'};
DividendAmounts = [0.50; 0.045];
ExDividendDates = {'Feb-15-2008';NaN};

StockSpec = stockspec(Sigma, AssetPrice, DividendType, DividendAmounts,...
ExDividendDates);

OptSpec = {'call'; 'put'};

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

    2.2030
    1.2025

В этом примере показано, как вычислять цены опционов по иностранным валютам с использованием модели ценообразования опционов Гармана-Кольхагена. Рассмотрим европейский пут-опцион на валюту с ценой исполнения $0,50 1 октября 2015 года. Срок действия опции истекает 1 июня 2016 года. Предположим, что текущий курс составляет $0,52 и имеет волатильность 12% годовых. Годовая постоянно усложняемая внутренняя безрисковая ставка составляет 4% годовых, а иностранная безрисковая ставка - 8% годовых. Используя эти данные, рассчитайте цену опциона с помощью модели Гармана-Кольхагена.

Settle = 'October-01-2015';
Maturity = 'June-01-2016';
AssetPrice = 0.52;
Strike = 0.50;
Sigma = .12;
Rates = 0.04;
ForeignRate = 0.08;

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

RateSpec = intenvset('ValuationDate', Settle, 'StartDates', Settle, 'EndDates',...
Maturity, 'Rates', Rates, 'Compounding', -1)
RateSpec = struct with fields:
           FinObj: 'RateSpec'
      Compounding: -1
             Disc: 0.9737
            Rates: 0.0400
         EndTimes: 0.6667
       StartTimes: 0
         EndDates: 736482
       StartDates: 736238
    ValuationDate: 736238
            Basis: 0
     EndMonthRule: 1

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

DividendType = 'Continuous';
DividendAmounts = ForeignRate;

StockSpec = stockspec(Sigma, AssetPrice, DividendType, DividendAmounts)
StockSpec = struct with fields:
             FinObj: 'StockSpec'
              Sigma: 0.1200
         AssetPrice: 0.5200
       DividendType: {'continuous'}
    DividendAmounts: 0.0800
    ExDividendDates: []

Цена европейского пут-опциона.

OptSpec = {'put'};
Price = optstockbybls(RateSpec, StockSpec, Settle, Maturity, OptSpec, Strike)
Price = 0.0162

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

свернуть все

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

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

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

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

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

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

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

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

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

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

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

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

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

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

свернуть все

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

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

Подробнее

свернуть все

Вариант ванили

Вариант ванили - это категория вариантов, включающая только самые стандартные компоненты.

Вариант ванили имеет срок годности и простую цену страйка. Варианты в американском и европейском стиле классифицируются как варианты ванили.

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

  • Для вызова: max (St K, 0)

  • Для put: max (K St, 0)

где:

St - цена базового актива в момент времени t.

K - цена удара.

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

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