optstockbybls

Опции цены с использованием модели ценообразования Black-Scholes

Описание

пример

Price = optstockbybls(RateSpec,StockSpec,Settle,Maturity,OptSpec,Strike) Возвраты цены на опцию с помощью модели ценообразования Black-Scholes опции.

Примечание

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

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

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

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

DivType = 'Continuous'; 
DivAmount = ForeignRate; 

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

Примеры

свернуть все

В этом примере показов, как вычислить цены на опцию с помощью модели ценообразования Black-Scholes опции. Рассмотрим две европейские опции, вызов и размещение, с ценой исполнения $29 на 1 января 2008 года. Срок действия опций истекает 1 мая 2008 года. Предположим, что базовый акции для вызова опции предоставляет денежный дивиденды в размере 0,50 долларов США на 15 февраля 2008 года. Базовый акции для опции put обеспечивает непрерывное дивидендное выражение в 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-by- 1 вектор.

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

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

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

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

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

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

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

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

свернуть все

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

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

Подробнее о

свернуть все

Ванильные Опции

A vanilla option - это категория опций, которая включает только самые стандартные компоненты.

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

Выплата для ванильной опции следующая:

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

  • Для размещения: max(KSt,0)

где:

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

K - цена доставки.

Для получения дополнительной информации смотрите Опцию Vanilla.

Введенный в R2008b