bondbycir

Ценовая связь от дерева процентной ставки Кокса-Инджерсолла-Росса

Описание

пример

[Price,PriceTree] = bondbycir(CIRTree,CouponRate,Settle,Maturity) ценовая связь от Кокса-Инджерсолла-Росса (CIR) дерево процентной ставки. bondbycir вычисляет цены связей ванили, продвинулся облигации на предъявителя и связи амортизации с помощью модели CIR ++ с подходом Навалька-Беляевой (NB).

пример

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

Примеры

свернуть все

Задайте CouponRate для связи.

CouponRate = 0.035;

Создайте RateSpec использование intenvset функция.

Rates = [0.035; 0.042147; 0.047345; 0.052707]; 
Dates = {'Jan-1-2017'; 'Jan-1-2018'; 'Jan-1-2019'; 'Jan-1-2020'; 'Jan-1-2021'}; 
ValuationDate = 'Jan-1-2017'; 
EndDates = Dates(2:end)'; 
Compounding = 1; 
RateSpec = intenvset('ValuationDate', ValuationDate, 'StartDates', ValuationDate, 'EndDates',EndDates,'Rates', Rates, 'Compounding', Compounding); 

Создайте CIR дерево.

NumPeriods = length(EndDates); 
Alpha = 0.03; 
Theta = 0.02;  
Sigma = 0.1;   
Settle = '01-Jan-2017'; 
Maturity = '01-Jan-2021'; 
CIRTimeSpec = cirtimespec(ValuationDate, Maturity, NumPeriods); 
CIRVolSpec = cirvolspec(Sigma, Alpha, Theta); 

CIRT = cirtree(CIRVolSpec, RateSpec, CIRTimeSpec)
CIRT = struct with fields:
      FinObj: 'CIRFwdTree'
     VolSpec: [1x1 struct]
    TimeSpec: [1x1 struct]
    RateSpec: [1x1 struct]
        tObs: [0 1 2 3]
        dObs: [736696 737061 737426 737791]
     FwdTree: {[1.0350]  [1.0790 1.0500 1.0298]  [1x5 double]  [1x7 double]}
     Connect: {[3x1 double]  [3x3 double]  [3x5 double]}
       Probs: {[3x1 double]  [3x3 double]  [3x5 double]}

Оцените связь.

[Price,PriceTree] = bondbycir(CIRT,CouponRate,Settle,Maturity) 
Price = 94.0880
PriceTree = struct with fields:
     FinObj: 'CIRPriceTree'
       tObs: [0 1 2 3 4]
       dObs: [736696 737061 737426 737791 738157]
      PTree: {1x5 cell}
     AITree: {[0]  [0 0 0]  [0 0 0 0 0]  [0 0 0 0 0 0 0]  [0 0 0 0 0 0 0]}
    Connect: {[3x1 double]  [3x3 double]  [3x5 double]}

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

свернуть все

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

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

Уровень облигационного купона, заданный как NINST- 1 десятичный годовой показатель или NINST- 1 массив ячеек, где каждым элементом является NumDates- 2 cellArray. Первый столбец NumDates- 2 массив ячеек является датами, и второй столбец является сопоставленными уровнями. Дата указывает в последний день, что купонная ставка допустима.

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

Расчетный день, заданный или как скаляр или как NINST- 1 вектор последовательных чисел даты, векторов символов даты, строковых массивов или массивов datetime.

Settle дата каждой связи назначена к ValuationDate из дерева CIR. Аргумент Settle связи проигнорирован.

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

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

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

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

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

Пример: [Price,PriceTree] = bondbycir(CIRTree,CouponRate,Settle,Maturity,'Period',4,'Face',10000)

Купоны в год, заданный как разделенная запятой пара, состоящая из 'Period' и NINST- 1 вектор. Значения для Period 1, 2, 3, 4, 6, и 12.

Типы данных: 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

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

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

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

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

Дата выпуска облигаций, заданная как разделенная запятой пара, состоящая из 'IssueDate' и NINST- 1 вектор с помощью последовательного номера даты, вектора символов даты, массива строк или массива datetime.

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

Неправильная первая дата купона, заданная как разделенная запятой пара, состоящая из 'FirstCouponDate' и NINST- 1 вектор с помощью последовательного номера даты, вектора символов даты, массива строк или массива datetime.

Когда FirstCouponDate и LastCouponDate оба заданы, FirstCouponDate более приоритетен в определении структуры купонного платежа. Если вы не задаете FirstCouponDate, платежные дни потока наличности определяются из других входных параметров.

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

Неправильная последняя дата купона, заданная как разделенная запятой пара, состоящая из 'LastCouponDate' и NINST- 1 вектор с помощью последовательного номера даты, вектора символов даты, массива строк или массива datetime.

В отсутствие заданного FirstCouponDate, заданный LastCouponDate определяет структуру купона связи. Структура купона связи является усеченной в LastCouponDate, независимо от того, где это падает и сопровождается только датой потока наличности зрелости связи. Если вы не задаете LastCouponDate, платежные дни потока наличности определяются из других входных параметров.

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

Передайте срок начала работы платежей (дата, с которой поток наличности связи рассматривается), заданный как разделенная запятой пара, состоящая из 'StartDate' и NINST- 1 вектор с помощью последовательных чисел даты, векторов символов даты, строковых массивов или массивов datetime.

Если вы не задаете StartDate, эффективной датой начала является Settle дата.

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

Поверхность или номинальная стоимость, заданная как разделенная запятой пара, состоящая из 'Face' и NINST- 1 вектор неотрицательных номинальных стоимостей или NINST- 1 массив ячеек номинальных стоимостей или расписаний номинальной стоимости. Для последнего случая каждым элементом массива ячеек является NumDates- 2 массив ячеек, где первый столбец является датами и вторым столбцом, является своей связанной номинальной стоимостью. Дата указывает в последний день, что номинальная стоимость допустима.

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

Отметьте, чтобы настроить потоки наличности на основе фактического дневного количества периода, заданного как разделенная запятой пара, состоящая из 'AdjustCashFlowsBasis' и NINST- 1 вектор logicals со значениями 0 (FALSE) или 1 TRUE.

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

Соглашения рабочего дня, заданные как разделенная запятой пара, состоящая из 'BusinessDayConvention' и вектор символов или N- 1 (или NINST- 2 если BusinessDayConvention отличается для каждого участка), массив ячеек из символьных векторов соглашений рабочего дня. Выбор для соглашения рабочего дня определяет, как обработаны нерабочие дни. Нерабочие дни заданы как выходные плюс любая другая дата, что компании не открыты (например, установленные законом праздники). Значения:

  • actual — Нерабочие дни эффективно проигнорированы. Потоки наличности, которые падают в нерабочие дни, приняты, чтобы быть распределенными в фактическую дату.

  • follow — Потоки наличности, которые падают в нерабочий день, приняты, чтобы быть распределенными в следующий рабочий день.

  • modifiedfollow — Потоки наличности, которые падают в нерабочий день, приняты, чтобы быть распределенными в следующий рабочий день. Однако, если следующий рабочий день находится в различном месяце, предыдущий рабочий день принят вместо этого.

  • previous — Потоки наличности, которые падают в нерабочий день, приняты, чтобы быть распределенными в предыдущий рабочий день.

  • modifiedprevious — Потоки наличности, которые падают в нерабочий день, приняты, чтобы быть распределенными в предыдущий рабочий день. Однако, если предыдущий рабочий день находится в различном месяце, следующий рабочий день принят вместо этого.

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

Праздники используются в вычислении рабочих дней, заданных как разделенная запятой пара, состоящая из 'Holidays' и числа даты MATLAB с помощью NHolidays- 1 вектор.

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

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

свернуть все

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

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

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

  • PriceTree.dObs содержит даты наблюдения.

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

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

Больше о

свернуть все

Связь ванили

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

Выпускающий связи делает периодические выплаты процентов, пока связь не назревает. В зрелости выпускающий выплачивает держателю связи основную сумму, бывшую должную (номинальную стоимость) и последнюю выплату процентов.

Ступенчатая облигация на предъявителя

Связь повышения и понижения является долговой безопасностью с предопределенной структурой купона в зависимости от времени.

С этими инструментами увеличение купонов (подходит) или уменьшается (уходят) в конкретные моменты времени во время жизни связи.

Связь с расписанием амортизации

Амортизируемая связь обработана как актив с суммой скидки, амортизируемой к процентным расходам по жизни связи.

Ссылки

[1] Cox, J., Ингерсолл, J. и С. Росс. "Теория термина структура процентных ставок". Econometrica. Издание 53, 1985.

[2] Brigo, D. и Ф. Меркурио. Модели процентной ставки - теория и практика. Финансы Спрингера, 2006.

[3] Hirsa, A. Вычислительные методы в финансах. Нажатие CRC, 2012.

[4] Nawalka, S., Soto, G. и Н. Беляева. Динамическое моделирование структуры термина. Вайли, 2007.

[5] Нельсон, D. и К. Рамасвами. "Простые Биномиальные Процессы как Приближения Диффузии в Финансовых Моделях". Анализ Финансовых Исследований. Vol 3. 1990, стр 393–430.

Введенный в R2018a