exponenta event banner

rangefloatbybk

Ценовой диапазон плавающей ноты с использованием Black-Karasinski дерева

Описание

пример

[Price,PriceTree] = rangefloatbybk(BKTree,Spread,Settle,Maturity,RateSched) цены варьируют плавающую ноту с использованием дерева Black-Karasinski.

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

пример

[Price,PriceTree] = rangefloatbybk(___,Name,Value) добавляет необязательные аргументы пары имя-значение.

Примеры

свернуть все

В этом примере показано, как вычислить цену примечания диапазона с помощью дерева Black-Karasinski со следующими данными структуры условий процентной ставки.

Rates = [0.035; 0.042147; 0.047345; 0.052707];
ValuationDate = 'Jan-1-2011';
StartDates = ValuationDate;
EndDates = {'Jan-1-2012'; 'Jan-1-2013'; 'Jan-1-2014'; 'Jan-1-2015'};
Compounding = 1;

% define RateSpec
RS = intenvset('ValuationDate', ValuationDate, 'StartDates', StartDates,...
'EndDates', EndDates, 'Rates', Rates, 'Compounding', Compounding);
                       
% range note instrument matures in Jan-1-2014 and has the following RateSchedule:
Spread = 100;
Settle = 'Jan-1-2011';
Maturity = 'Jan-1-2014';
RateSched(1).Dates = {'Jan-1-2012'; 'Jan-1-2013'  ; 'Jan-1-2014'};
RateSched(1).Rates = [0.045 0.055 ; 0.0525  0.0675; 0.06 0.08];

% data to build the tree is as follows:
VolDates = ['1-Jan-2012'; '1-Jan-2013'; '1-Jan-2014';'1-Jan-2015'];
VolCurve = 0.01;
AlphaDates = '01-01-2015';
AlphaCurve = 0.1;

BKVS = bkvolspec(RS.ValuationDate, VolDates, VolCurve,... 
AlphaDates, AlphaCurve);
BKTS = bktimespec(RS.ValuationDate, VolDates, Compounding);
BKT = bktree(BKVS, RS, BKTS);

% price the instrument 
Price = rangefloatbybk(BKT, Spread, Settle, Maturity, RateSched)
Price = 102.7574

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

свернуть все

Древовидная структура процентных ставок, определенная с помощью bktree.

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

Количество базисных пунктов над эталонной ставкой, указанное как NINSTоколо-1 вектор.

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

Дата расчета для примечания плавающего диапазона, указанного как NINSTоколо-1 вектор серийных номеров дат или векторы символов дат. Settle для каждого плавающего прибора диапазона устанавливается дата ValuationDate дерева БК. Аргумент примечания плавающего диапазона Settle игнорируется.

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

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

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

Диапазон ставок, в пределах которых денежные потоки ненулевые, указанный как NINSTоколо-1 вектор структур. Каждый элемент массива структуры содержит два поля:

  • RateSched.DatesNDatesоколо-1 массив ячеек дат, соответствующих расписанию диапазона.

  • RateSched.RatesNDatesоколо-2 массив с первым столбцом, содержащим нижнюю границу диапазона, и вторым столбцом, содержащим верхнюю границу диапазона. Денежный поток на дату RateSched.Dates(n) ненулевое значение для скоростей в диапазоне RateSched.Rates(n, 1) <Rate < RateSched.Rate (n, 2).

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

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

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

Пример: [Price,PriceTree] = rangefloatbybk(BKTree,Spread,Settle,Maturity,RateSched,'Reset',4,'Basis',5,'Principal',10000)

Частота платежей в год, указанная как разделенная запятыми пара, состоящая из 'Reset' и NINSTоколо-1 вектор.

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

Базисное значение количества дней, представляющее базисное значение, используемое при ежегодной классификации входного дерева форвардных ставок, определяемого как пара, разделенная запятыми, состоящая из 'Basis' и NINSTоколо-1 вектор целых чисел.

  • 0 = факт/факт

  • 1 = 30/360 (SIA)

  • 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 = BUS/252

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

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

Условная основная сумма, указанная как разделенная запятыми пара, состоящая из 'Principal' и NINSTоколо-1 вектор.

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

Структура опционов ценообразования деривативов, указанная как пара, разделенная запятыми, состоящая из 'Options' и структура, полученная при использовании derivset.

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

Флаг правила конца месяца, заданный как пара, разделенная запятыми, состоящая из 'EndMonthRule' и неотрицательное целое число со значением 0 или 1 использование NINSTоколо-1 вектор.

  • 0 = Игнорировать правило, означающее, что дата платежа всегда совпадает с числовым днем месяца.

  • 1 = Установите правило, означающее, что дата платежа всегда является последним фактическим днем месяца.

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

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

свернуть все

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

Древовидная структура цен инструментов, возвращаемая как структура, содержащая деревья векторов цен инструментов и начисленных процентов, и вектор времени наблюдения для каждого узла. Значения:

  • PriceTree.PTree содержит чистые цены.

  • PriceTree.AITree содержит начисленные проценты.

  • PriceTree.tObs содержит время наблюдения.

Подробнее

свернуть все

Примечание диапазона

Нота диапазона - это структурированная (связанная с рынком) ценная бумага, купонная ставка которой равна базовой ставке, если базовая ставка находится в пределах определенного диапазона.

Если ссылочная ставка находится за пределами диапазона, купонная ставка для этого периода равна 0. Этот вид инструмента дает держателю право на денежные потоки, которые зависят от уровня определенной ссылочной процентной ставки и являются положительными. Держатель банкноты получает прямой доступ к эталонной ставке. В обмен на недостаток, заключающийся в том, что проценты не выплачиваются за время, оставленное диапазоном, они предлагают более высокие купонные ставки, чем сопоставимые стандартные продукты, такие как ванильные плавающие купюры. Дополнительные сведения см. в разделе Примечание диапазона.

Ссылки

[1] Jarrow, Роберт. «Моделирование ценных бумаг с фиксированным доходом и процентных ставок». Стэнфордский отдел экономики и финансов. 2-е издание. 2002.

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