rangefloatbyhw

Ценовая область значений плавающей ноты с использованием дерева Hull-White

Описание

[Price,PriceTree] = rangefloatbyhw(HWTree,Spread,Settle,Maturity,RateSched) цены варьируются в области значений плавающей ноты с помощью дерева Hull-White.

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

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

Примеры

свернуть все

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

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;

HWVS = hwvolspec(RS.ValuationDate, VolDates, VolCurve,... 
AlphaDates, AlphaCurve);
HWTS = hwtimespec(RS.ValuationDate, VolDates, Compounding);
HWT = hwtree(HWVS, RS, HWTS);

% price the instrument  
Price = rangefloatbyhw(HWT, Spread, Settle, Maturity, RateSched)
Price = 96.6107

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

свернуть все

Древовидная структура процентной ставки, заданная при помощи hwtree.

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

Количество базисных точек над скоростью ссылки, заданное как NINST-by- 1 вектор.

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

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

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

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

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

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

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

  • RateSched.RatesNDates-by- 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] = rangefloatbyhw(HWTree,Spread,Settle,Maturity,RateSched,'Reset',4,'Basis',5,'Principal',10000)

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

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

Базис отсчета дней, представляющий базис, используемый при аннуализации входа дерева прямой скорости, заданный как разделенная запятой пара, состоящий из 'Basis' и a NINST-by- 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' и a NINST-by- 1 вектор.

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

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

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

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

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

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

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

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

свернуть все

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

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

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

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

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

Подробнее о

свернуть все

Примечание к области значений

A range note является структурированным (рыночным) обеспечением, ставка купона которого равна ссылочной ставке, пока базовая ставка находится в определенной области значений.

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

Ссылки

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

Введенный в R2012a