rangefloatbyhjm

Диапазон цен, плавающий примечание с помощью дерева Хита-Джарроу-Мортона

Описание

пример

[Price,PriceTree] = rangefloatbyhjm(HJMTree,Spread,Settle,Maturity,RateSched) ценовая область значений, плавающая примечание с помощью дерева Хита-Джарроу-Мортона.

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

пример

[Price,PriceTree] = rangefloatbyhjm(___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:
Volatility = [.2; .19; .18; .17];
CurveTerm = [ 1;  2;   3;   4];
MaTree = {'Jan-1-2012'; 'Jan-1-2013'; 'Jan-1-2014'; 'Jan-1-2015'};
HJMTS = hjmtimespec(ValuationDate, MaTree);
HJMVS = hjmvolspec('Proportional', Volatility, CurveTerm, 1e6);
HJMT = hjmtree(HJMVS, RS, HJMTS);

% price the instrument  
Price = rangefloatbyhjm(HJMT, Spread, Settle, Maturity, RateSched)
Price = 90.2348

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

свернуть все

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

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

Количество пунктов по ссылочному уровню в виде NINST- 1 вектор.

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

Расчетный день для плавающей области значений отмечает в виде NINST- 1 вектор из последовательных чисел даты или векторов символов даты. Settle дата каждого плавающего инструмента области значений назначена к ValuationDate из дерева HJM. Плавающая область значений отмечает аргумент 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] = rangefloatbyhjm(HJMTree,Spread,Settle,Maturity,RateSched,'Reset',4,'Basis',5,'Principal',10000)

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

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

Основание дневного количества, представляющее основание, используемое при пересчитывании на год входного дерева форвардного курса в виде разделенной запятой пары, состоящей из 'Basis' и NINST- 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

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

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

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

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

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

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

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

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

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

свернуть все

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

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

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

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

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

Больше о

свернуть все

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

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

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

Ссылки

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

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