bkcall

Ценовой европейский колл-опцион на связях с помощью модели Black

Описание

пример

CallPrice = bkcall(Strike,ZeroData,Sigma,BondData,Settle,Expiry) вычисляет цены европейских колл-опционов с помощью модели Черного цвета.

пример

CallPrice = bkcall(___,Period,Basis,EndMonthRule,InterpMethod,StrikeConvention) добавляют дополнительные входные параметры для Period, Basis, EndMonthRule, InterpMethod, и StrikeConvention.

Примеры

свернуть все

В этом примере показано, как оценить европейский колл-опцион на связях с помощью модели Black. Рассмотрите европейский колл-опцион на облигации с погашением за 9,75 лет. Базовая связь имеет чистую цену 935$, номинальную стоимость 1 000$, и платит 10%-е полугодовые купоны. Поскольку связь назревает за 9,75 лет, купон за 50$ будет заплачен через 3 месяца и снова через 9 месяцев. Кроме того, примите, что пересчитанная на год энергозависимость прямой цены облигаций составляет 9%. Кроме того, предположите, что опция истекает за 10 месяцев и имеет цену исполнения опциона 1 000$, и что пересчитываемые на год постоянно составляемые безрисковые учетные ставки на сроки платежа 3, 9, и 10 месяцев составляют 9%, 9,5% и 10%, соответственно.

% specify the option information
Settle       =  '15-Mar-2004';
Expiry       =  '15-Jan-2005'; % 10 months from settlement
Strike       =  1000;
Sigma        =  0.09;
Convention   =  [0 1]';

% specify the interest-rate environment
ZeroData     = [datenum('15-Jun-2004')  0.09   -1;  % 3 months
                datenum('15-Dec-2004')  0.095  -1;  % 9 months
                datenum(Expiry)         0.10   -1]; % 10 months
            
% specify the bond information           
CleanPrice   =  935;
CouponRate   =  0.1;
Maturity     = '15-Dec-2013';  % 9.75 years from settlement
Face         =  1000;
BondData     = [CleanPrice CouponRate datenum(Maturity) Face];
Period       =  2;
Basis        =  1;

% call Black's model
CallPrices = bkcall(Strike, ZeroData, Sigma, BondData, Settle,... 
Expiry, Period, Basis, [], [], Convention)
CallPrices = 2×1

    9.4873
    7.9686

Когда цена исполнения опциона является грязной ценой (Convention= 0 ), значение колл-опциона составляет 9,49$. Когда цена исполнения опциона является чистой ценой (Convention= 1 ), значение колл-опциона составляет 7,97$.

Входные параметры

свернуть все

Цена исполнения опциона в виде числового скаляра или NOPT- 1 вектор из цен исполнения опциона.

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

Нулевая информация об уровне раньше обесценивала будущие потоки наличности, заданное использование 2D столбца (опционально с тремя столбцами), матрица, содержащая нулевую (точечную) информацию об уровне раньше, обесценивала будущие потоки наличности.

  • Столбец 1 — Последовательная дата погашения сопоставлена с нулевым уровнем во втором столбце.

  • Столбец 2 — Пересчитанные на год нулевые уровни, в десятичной форме, подходящей для дисконтирования потоков наличности, происходящих в день заданный в первом столбце. Все даты должны произойти после Settle (даты должны соответствовать будущим инвестиционным горизонтам), и должно быть в порядке возрастания.

  • Столбец 3 — (дополнительная) Ежегодная частота соединения. Значениями является 1 (ежегодный), 2 (полугодовой, по умолчанию), 3 (три раза в год), 4 (ежеквартально), 6 (два раза в месяц), 12 (ежемесячно), и -1 (непрерывный).

Если потоки наличности происходят вне дат, заполненных ZeroData, входная кривая нулевой ширины, соответствующий нулевой уровень для дисконтирования таких потоков наличности получен путем экстраполирования самого близкого уровня на кривой (то есть, если поток наличности происходит перед первым или после последней даты на входной кривой нулевой ширины, пологая кривая принята).

Кроме того, можно использовать метод getZeroRates для IRDataCurve объект с Dates свойство создать вектор из дат и данных, приемлемых для bkcall. Для получения дополнительной информации смотрите Преобразование Объекта IRDataCurve или IRFunctionCurve.

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

Пересчитанные на год волатильности цен, требуемые моделью Black в виде скаляра или NOPT- 1 вектор.

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

Характеристики базовых связей в виде вектора-строки с три (опционально четыре) столбцы или NOPT- 3 (опционально NOPT- 4) матричные характеристики определения базовых связей в форме:

[CleanPrice CouponRate Maturity Face]

  • CleanPrice цена, исключая начисленные проценты.

  • CouponRate десятичная купонная ставка.

  • Maturity дата срока действия облигации в последовательном числовом формате даты.

  • Face номинальная стоимость связи. Если незаданный, номинальная стоимость принята, чтобы быть 100.

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

Расчетный день в виде последовательного номера даты или вектора символов даты. Settle также представляет стартовую ссылочную дату входной кривой нулевой ширины.

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

Дата погашения опции в виде скаляра или NOPT- 1 вектор из последовательных чисел даты или массив ячеек векторов символов даты.

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

(Необязательно) Количество купонов в год для базовой связи в виде целого числа с поддерживаемыми значениями 0, 1, 2, 3, 4, 6, и 12.

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

(Необязательно) базис Дневного количества базовых связей в виде скаляра или NOPT- 1 вектор с помощью следующих значений:

  •  0 = фактический/фактический

  •  1 = 30/360 (СИА)

  •  2 = Фактический/360

  •  3 = Фактический/365

  •  4 = 30/360 (PSA)

  •  5 = 30/360 (ISDA)

  •  6 = 30/360 (европеец)

  •  7 = Фактический/365 (японский язык)

  •  8 = фактический/фактический (ICMA)

  •  9 = Фактический/360 (ICMA)

  •  10 = Фактический/365 (ICMA)

  •  11 = 30/360E (ICMA)

  •  12 = Фактический/365 (ISDA)

  •  13 = ШИНА/252

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

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

(Необязательно) Конец месяца управляет флагом в виде скаляра или NOPT- 1 вектор из правил конца месяца.

  • 0 = Проигнорируйте правило, подразумевая, что платежный день облигационного купона всегда является тем же числовым днем месяца.

  • 1 = Установите правило о, подразумевая, что платежный день облигационного купона всегда является прошлым фактическим днем месяца.

Типы данных: логический

(Необязательно) метод интерполяции Кривой нулевой ширины для потоков наличности, которые не падают на дату, найденную в ZeroData определите кривую в виде скалярного целого числа. InterpMethod используется, чтобы интерполировать соответствующую нулевую учетную ставку. Доступные методы интерполяции (0) самый близкий, (1) линейный, и (2) кубический. Для получения дополнительной информации о методах интерполяции смотрите interp1.

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

(Необязательно) соглашение цены исполнения опциона Опционного контракта в виде скаляра или NOPT- 1 вектор.

StrikeConvention = 0 (значение по умолчанию) задает цену исполнения опциона как наличную (грязную) цену, заплаченную за базовую связь.

StrikeConvention = 1 задает цену исполнения опциона как заключенную в кавычки (чистую) цену, заплаченную за базовую связь. При оценке модели Черного цвета начисленные проценты связи по истечению опции добавляются к входной цене исполнения опциона.

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

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

свернуть все

Цена за европейский колл-опцион на связях, выведенных из модели Black, возвращенной как NOPT- 1 вектор.

Ссылки

[1] Оболочка, Джон К. Опции, фьючерсы и Другие Производные. 5-й Выпуск, Prentice Hall, 2003, стр 287–288, 508–515.

Представлено до R2006a