Ценовой европеец swaption инструмент с помощью модели Black
цены swaptions использование Черной модели ценообразования опционов. Price
= swaptionbyblk(RateSpec
,OptSpec
,Strike
,Settle
,ExerciseDates
,Maturity
,Volatility
)
добавляют дополнительные аргументы пары "имя-значение". Price
= swaptionbyblk(___,Name,Value
)
Оцените европейский swaption, который дает держателю право войти за пять лет в трехлетнюю подкачку оплаты, где с фиксированной процентной ставкой из 6,2% заплачен, и плавание получено. Примите, что кривая доходности является плоской в 6% в год с непрерывным соединением, энергозависимость уровня подкачки составляет 20%, принципал составляет 100$, и платежами раз в полгода обмениваются.
Создайте RateSpec
.
Rate = 0.06; Compounding = -1; ValuationDate = 'Jan-1-2010'; EndDates = 'Jan-1-2020'; Basis = 1; RateSpec = intenvset('ValuationDate', ValuationDate,'StartDates', ValuationDate, ... 'EndDates', EndDates, 'Rates', Rate, 'Compounding', Compounding, 'Basis', Basis);
Оцените swaption использование модели Black.
Settle = 'Jan-1-2011'; ExerciseDates = 'Jan-1-2016'; Maturity = 'Jan-1-2019'; Reset = 2; Principal = 100; Strike = 0.062; Volatility = 0.2; OptSpec = 'call'; Price= swaptionbyblk(RateSpec, OptSpec, Strike, Settle, ExerciseDates, Maturity, ... Volatility, 'Reset', Reset, 'Principal', Principal, 'Basis', Basis)
Price = 2.0710
Этот пример показывает Цене европейский swaption с получением и оплатой участков, который дает держателю право войти за пять лет в трехлетнюю подкачку оплаты, где с фиксированной процентной ставкой из 6,2% заплачен, и плавание получено. Примите, что кривая доходности является плоской в 6% в год с непрерывным соединением, энергозависимость уровня подкачки составляет 20%, принципал составляет 100$, и платежами раз в полгода обмениваются.
Rate = 0.06; Compounding = -1; ValuationDate = 'Jan-1-2010'; EndDates = 'Jan-1-2020'; Basis = 1;
Задайте RateSpec
.
RateSpec = intenvset('ValuationDate',ValuationDate,'StartDates',ValuationDate, ... 'EndDates',EndDates,'Rates',Rate,'Compounding',Compounding,'Basis',Basis);
Задайте swaption аргументы.
Settle = 'Jan-1-2011'; ExerciseDates = 'Jan-1-2016'; Maturity = 'Jan-1-2019'; Reset = [2 4]; % 1st column represents receiving leg, 2nd column represents paying leg Principal = 100; Strike = 0.062; Volatility = 0.2; OptSpec = 'call'; Basis = [1 3]; % 1st column represents receiving leg, 2nd column represents paying leg
Оцените swaption.
Price= swaptionbyblk(RateSpec,OptSpec,Strike,Settle,ExerciseDates,Maturity,Volatility, ... 'Reset',Reset,'Principal',Principal,'Basis',Basis)
Price = 1.6494
Оцените европейский swaption, который дает держателю право ввести в 5-летнюю подкачку получения через год, где фиксированная процентная ставка 3% получена, и плавание заплачено. Примите, что 1 год, 2-летний, 3-летний, 4-летний и нулевые уровни 5-лет, составляет 3%, 3,4%, 3,7%, 3,9% и 4% с непрерывным соединением. Энергозависимость уровня подкачки составляет 21%, принципал составляет 1 000$, и платежами раз в полгода обмениваются.
Создайте RateSpec
.
ValuationDate = 'Jan-1-2010'; EndDates = {'Jan-1-2011';'Jan-1-2012';'Jan-1-2013';'Jan-1-2014';'Jan-1-2015'}; Rates = [0.03; 0.034 ; 0.037; 0.039; 0.04;]; 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: [5x1 double]
Rates: [5x1 double]
EndTimes: [5x1 double]
StartTimes: [5x1 double]
EndDates: [5x1 double]
StartDates: 734139
ValuationDate: 734139
Basis: 1
EndMonthRule: 1
Оцените swaption использование модели Black.
Settle = 'Jan-1-2011'; ExerciseDates = 'Jan-1-2012'; Maturity = 'Jan-1-2017'; Strike = 0.03; Volatility = 0.21; Principal =1000; Reset = 2; OptSpec = 'put'; Price = swaptionbyblk(RateSpec, OptSpec, Strike, Settle, ExerciseDates, ... Maturity, Volatility,'Basis', Basis, 'Reset', Reset,'Principal', Principal)
Price = 0.5771
Задайте кривые LIBOR и OIS.
Settle = datenum('15-Mar-2013');
CurveDates = daysadd(Settle,360*[1/12 2/12 3/12 6/12 1 2 3 4 5 7 10],1);
OISRates = [.0018 .0019 .0021 .0023 .0031 .006 .011 .017 .021 .026 .03]';
LiborRates = [.0045 .0047 .005 .0055 .0075 .0109 .0162 .0216 .0262 .0309 .0348]';
Создайте связанный RateSpec
для OIS и кривых LIBOR.
OISCurve = intenvset('Rates',OISRates,'StartDate',Settle,'EndDates',CurveDates,'Compounding',2,'Basis',1); LiborCurve = intenvset('Rates',LiborRates,'StartDate',Settle,'EndDates',CurveDates,'Compounding',2,'Basis',1);
Задайте swaption инструменты.
ExerciseDate = '15-Mar-2018'; Maturity = {'15-Mar-2020';'15-Mar-2023'}; OptSpec = 'call'; Strike = 0.04; BlackVol = 0.2;
Оцените swaption инструменты с помощью структуры термина OISCurve
и для дисконтирования потоков наличности и для генерации будущих форвардных курсов.
Price = swaptionbyblk(OISCurve, OptSpec, Strike, Settle, ExerciseDate, Maturity, BlackVol,'Reset',1)
Price = 2×1
1.0956
2.6944
Оцените swaption инструменты с помощью структуры термина LiborCurve
сгенерировать будущие форвардные курсы. Структура термина OISCurve
используется в дисконтировании потоков наличности.
PriceLC = swaptionbyblk(OISCurve, OptSpec, Strike, Settle, ExerciseDate, Maturity, BlackVol,'ProjectionCurve',LiborCurve,'Reset',1)
PriceLC = 2×1
1.5346
3.8142
Создайте RateSpec
.
ValuationDate = 'Jan-1-2016'; EndDates = {'Jan-1-2017';'Jan-1-2018';'Jan-1-2019';'Jan-1-2020';'Jan-1-2021'}; Rates = [-0.02; 0.024 ; 0.047; 0.090; 0.12;]/100; 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: [5x1 double]
Rates: [5x1 double]
EndTimes: [5x1 double]
StartTimes: [5x1 double]
EndDates: [5x1 double]
StartDates: 736330
ValuationDate: 736330
Basis: 1
EndMonthRule: 1
Оцените swaption с отрицательной забастовкой с помощью модели Shifted Black.
Settle = 'Jan-1-2016'; ExerciseDates = 'Jan-1-2017'; Maturity = 'Jan-1-2020'; Strike = -0.003; % Set -0.3 percent strike. ShiftedBlackVolatility = 0.31; Principal = 1000; Reset = 1; OptSpec = 'call'; Shift = 0.008; % Set 0.8 percent shift. Price = swaptionbyblk(RateSpec,OptSpec,Strike,Settle,ExerciseDates, ... Maturity,ShiftedBlackVolatility,'Basis',Basis,'Reset',Reset,... 'Principal',Principal,'Shift',Shift)
Price = 12.8301
Создайте RateSpec
.
ValuationDate = 'Jan-1-2016'; EndDates = {'Jan-1-2017';'Jan-1-2018';'Jan-1-2019';'Jan-1-2020';'Jan-1-2021'}; Rates = [-0.02; 0.024 ; 0.047; 0.090; 0.12;]/100; 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: [5x1 double]
Rates: [5x1 double]
EndTimes: [5x1 double]
StartTimes: [5x1 double]
EndDates: [5x1 double]
StartDates: 736330
ValuationDate: 736330
Basis: 1
EndMonthRule: 1
Оцените swaptions с использованием модели Shifted Black.
Settle = 'Jan-1-2016'; ExerciseDates = 'Jan-1-2017'; Maturities = {'Jan-1-2018';'Jan-1-2019';'Jan-1-2020'}; Strikes = [-0.0034;-0.0032;-0.003]; ShiftedBlackVolatilities = [0.33;0.32;0.31]; % A vector of volatilities. Principal = 1000; Reset = 1; OptSpec = 'call'; Shifts = [0.0085;0.0082;0.008]; % A vector of shifts. Prices = swaptionbyblk(RateSpec,OptSpec,Strikes,Settle,ExerciseDates, ... Maturities,ShiftedBlackVolatilities,'Basis',Basis,'Reset',Reset, ... 'Principal',Principal,'Shift',Shifts)
Prices = 3×1
4.1117
8.0577
12.8301
RateSpec
— Структура термина процентной ставкиСтруктура термина процентной ставки (пересчитанный на год и постоянно составляемый), заданный RateSpec
полученный из intenvset
. Для получения информации о спецификации процентной ставки смотрите intenvset
.
Если участок оплаты отличается, чем участок получения, RateSpec
может быть NINST
- 2
входная переменная RateSpec
s, со вторым входом, являющимся скидкой, изгибаются для участка оплаты. Если только одна кривая задана, то она используется, чтобы обесценить оба участка.
Типы данных: struct
OptSpec
— Определение опции 'call'
или 'put'
| массив ячеек вектора символов со значениями 'call'
или 'put'
Определение опции как 'call'
или 'put'
, заданный как NINST
- 1
массив ячеек из символьных векторов.
'call'
swaption или Payer swaption, позволяет покупателю опции вводить в процентную ставку, загружают, который покупатель опции платит фиксированной процентной ставке и получает плавающий курс.
'put'
swaption или Receiver swaption, позволяет покупателю опции вводить в процентную ставку, загружают, который покупатель опции получает фиксированную процентную ставку и платит плавающему курсу.
Типы данных: char |
cell
Strike
— Ударьте значения уровня подкачкиУдарьте значения уровня подкачки, заданные как NINST
- 1
вектор десятичных значений.
Типы данных: double
Settle
— Расчетный деньРасчетный день (представляющий уладить дату каждого swaption), заданный как NINST
- 1
вектор последовательных чисел даты или векторов символов даты. Settle
не должен быть позже, чем ExerciseDates
.
Settle
дата вводится для swaptionbyblk
дата оценки, в которую оценен swaption (опция, чтобы ввести в подкачку). swaption покупатель платит эту цену на эту дату, чтобы содержать swaption.
Типы данных: double |
char
ExerciseDates
— Даты, в которые swaption истекает и базовая подкачка, запускаютсяДаты, заданные как последовательные числа даты или векторы символов даты, на которых swaption истекает и базовая подкачка, запускаются. swaption держатель может принять решение ввести в подкачку в эту дату, если ситуация благоприятна.
Для европейской опции, ExerciseDates
NINST
- 1
вектор дат осуществления. Каждая строка является расписанием для одной опции. При использовании европейской опции существует только один ExerciseDate
на дате окончания срока действия опции.
Типы данных: double |
char
| cell
Maturity
— Дата погашения для каждой прямой подкачкиДата погашения для каждой прямой подкачки, заданной как NINST
- 1
вектор дат с помощью последовательных чисел даты или векторов символов даты.
Типы данных: double |
char
| cell
Volatility
— Ежегодные значения колебанийЕжегодные значения колебаний, заданные как NINST
- 1
вектор числовых значений.
Типы данных: double
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
Price = swaptionbyblk(OISCurve,OptSpec,Strike,Settle,ExerciseDate,Maturity,BlackVol,'Reset',1,'Shift',.5)
'Basis'
— Основание дневного количества инструмента
(фактическое/фактическое) (значение по умолчанию) | целое число от 0
к 13
Основание дневного количества инструмента, заданного как разделенная запятой пара, состоящая из 'Basis'
и NINST
- 1
вектор или NINST
- 2
матрица, представляющая основание для каждого участка. Если Basis
NINST
- 2
, первый столбец представляет участок получения, в то время как второй столбец представляет участок оплаты. Значением по умолчанию является 0
(фактический/фактический).
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
'Principal'
— Отвлеченная основная сумма
(значение по умолчанию) | числовойОтвлеченная основная сумма, заданная как разделенная запятой пара, состоящая из 'Principal'
и NINST
- 1
вектор.
Типы данных: double
'Reset'
— Сбросьте частоту в год для лежания в основе прямой подкачки
(значение по умолчанию) | числовойСбросьте частоту в год для базовой прямой подкачки, заданной как разделенная запятой пара, состоящая из 'Reset'
и NINST
- 1
вектор или NINST
- 2
матрица, представляющая частоту сброса в год для каждого участка. Если Reset
NINST
- 2
, первый столбец представляет участок получения, в то время как второй столбец представляет участок оплаты.
Типы данных: double
'ProjectionCurve'
— Кривая уровня используется в генерации будущих форвардных курсовProjectionCurve
не задан, затем RateSpec
используется и в дисконтировании потоков наличности и в проектировании будущих форвардных курсов (значение по умолчанию) | структураКривая уровня, которая будет использоваться в генерации будущих форвардных курсов, заданных как разделенная запятой пара, состоящая из 'ProjectionCurve'
и структура, созданная с помощью intenvset
. Используйте этот дополнительный вход, если прямая кривая отличается от дисконтной кривой.
Типы данных: struct
'Shift'
— Переключите десятичные числа на нижний регистр для переключенной модели Black
(никакой сдвиг) (значение по умолчанию) | положительное десятичное числоПереключите десятичные числа на нижний регистр для переключенной модели Black, заданной как разделенная запятой пара, состоящая из 'Shift'
и скаляр или NINST
- 1
вектор уровня переключает положительные десятичные числа на нижний регистр. Установите этот параметр на положительный уровень, переключают десятичные числа на нижний регистр, чтобы добавить положительный сдвиг на прямой уровень подкачки и забастовку, которая эффективно устанавливает отрицательную нижнюю границу для прямого уровня подкачки и забастовки. Например, Shift
из 0.01
равно 1%-му сдвигу.
Типы данных: double
Price
— Цены на swaptions во время 0Цены на swaptions во время 0, возвращенный как NINST
- 1
вектор цен.
forward swap является подкачкой, которая запускается позднее.
Модель Shifted Black является по существу тем же самым как моделью Черного цвета, за исключением того, что это моделирует перемещения (F + Shift) как базовый актив вместо F (который является прямым уровнем подкачки в случае swaptions).
Эта модель позволяет отрицательные уровни с фиксированной отрицательной нижней границей, заданной суммой сдвига; то есть, нулевая нижняя граница модели Черного цвета была смещена.
Где F является прямым значением, и K является забастовкой.
Где F +Shift является прямым значением, и K +Shift является борьбой за переключенную версию.
blackvolbysabr
| bondbyzero
| capbyblk
| cfbyzero
| fixedbyzero
| floatbyzero
| floorbyblk
| intenvset
| swaptionbynormal
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.