rangefloatbyhjm

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

Синтаксис

[Price,PriceTree] = rangefloatbyhjm(HJMTree,Spread,Settle,Maturity,RateSched)
[Price,PriceTree] = rangefloatbyhjm(___Name,Value)

Описание

пример

[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-by-1 вектор.

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

Расчетный день для плавающего примечания области значений, заданного как NINST-by-1 вектор последовательных чисел даты или векторов символов даты. Дата Settle каждого плавающего инструмента области значений назначена к ValuationDate дерева HJM. Плавающий аргумент 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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

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

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

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

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

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

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

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

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

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

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

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

свернуть все

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

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

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

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

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

Больше о

свернуть все

Инструмент примечания области значений

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

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

Ссылки

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

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