fitNelsonSiegel

Соответствуйте функции Нельсона-Сигеля к данным о рынке облигаций

fitNelsonSiegel для IRFunctionCurve не рекомендуется. Использование fitNelsonSiegel с parametercurve объект вместо этого. Для получения дополнительной информации смотрите fitNelsonSiegel.

Описание

пример

CurveObj = IRFunctionCurve.fitNelsonSiegel(Type,Settle,Instruments) соответствует функции Нельсона-Сигеля, чтобы продать данные для связи.

пример

CurveObj = IRFunctionCurve.fitNelsonSiegel(___,Name,Value) добавляют дополнительные аргументы пары "имя-значение".

Примеры

свернуть все

В этом примере показано, как использовать функцию Нельсона-Сигеля, чтобы соответствовать данным о рынке облигаций.

Settle = repmat(datenum('30-Apr-2008'),[6 1]);
Maturity = [datenum('07-Mar-2009');datenum('07-Mar-2011');...
datenum('07-Mar-2013');datenum('07-Sep-2016');...
datenum('07-Mar-2025');datenum('07-Mar-2036')];

CleanPrice = [100.1;100.1;100.8;96.6;103.3;96.3];
CouponRate = [0.0400;0.0425;0.0450;0.0400;0.0500;0.0425];
Instruments = [Settle Maturity CleanPrice CouponRate];
PlottingPoints = datenum('07-Mar-2009'):180:datenum('07-Mar-2036');
Yield = bndyield(CleanPrice,CouponRate,Settle,Maturity);

NSModel = IRFunctionCurve.fitNelsonSiegel('Zero',datenum('30-Apr-2008'),Instruments);

NSModel.Parameters
ans = 1×4

    4.6617   -1.0227   -0.3484    1.2386

% create the plot
plot(PlottingPoints, getParYields(NSModel, PlottingPoints),'r')
hold on
scatter(Maturity,Yield,'black')
datetick('x')

Figure contains an axes object. The axes object contains 2 objects of type line, scatter.

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

свернуть все

Тип процентной ставки изгибается для связи, заданной при помощи скалярного вектора символов.

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

Уладьте дату кривой процентной ставки, заданное использование скалярного вектора символов даты или последовательного номера даты.

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

Инструменты, заданное использование N- 4 матрица данных, где первым столбцом является Settle дата, вторым столбцом является Maturity, третий столбец является чистой ценой, и четвертым столбцом является CouponRate для связи.

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

Аргументы name-value

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

Пример: CurveObj = IRFunctionCurve.fitNelsonSiegel('Zero',datenum('30-Apr-2008'),Instruments)
Аргументы в виде пар имя-значение для всех инструментов связи

свернуть все

Соединение частоты в год для IRFunctionCurve объект в виде разделенной запятой пары, состоящей из 'Compounding' и скалярное числовое использование одного из поддерживаемых значений:

  • −1 = Непрерывное соединение

  • 0 = Простой процент (никакое соединение)

  • 1 = Ежегодное соединение

  • 2 = Полугодовое соединение

  • 3 = Соединение три раза в год

  • 4 = Ежеквартально соединение

  • 6 = Два раза в месяц соединение

  • 12 = Ежемесячно соединение

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

Дневной базис количества процентной ставки изгибается в виде разделенной запятой пары, состоящей из 'Basis' и скалярное целое число.

  • 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

IRFitOptions объект, заданное использование ранее созданного объекта с помощью IRFitOptions. При использовании IRFitOption, FitType по умолчанию DurationWeightedPrice. Взвешенная цена длительности относится к форме целевой функции, которая должна быть минимизирована, чтобы найти оптимальные параметры Нельсона-Сигеля. А именно, эта целевая функция минимизирует использование следующих трех алгоритмов:

  • Различие между наблюдаемыми и предсказанными моделью выражениями для каждой связи, ObsY_i PredY_i

  • Различие между наблюдаемыми и предсказанными моделью ценами за каждую связь, ObsP_i PredP_i

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

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

Аргументы в виде пар имя-значение для каждого инструмента связи

свернуть все

Купоны в год для связи в виде разделенной запятой пары, состоящей из 'InstrumentPeriod' и скалярное числовое значение.

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

Дневной базис количества связи в виде разделенной запятой пары, состоящей из 'InstrumentBasis' и скалярное целое число.

  • 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

Примечание

InstrumentBasis отличает инструмент связи Basis значение от кривой процентной ставки Basis значение.

Для получения дополнительной информации смотрите Базис.

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

Правило конца месяца в виде разделенной запятой пары, состоящей из 'InstrumentEndMonthRule' и логическое значение. Это правило применяется только когда Maturity дата конца месяца в течение месяца, имея 30 или меньше дней.

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

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

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

Инструментальная дата выпуска в виде разделенной запятой пары, состоящей из 'InstrumentIssueDate' и скалярный вектор символов даты или последовательный номер даты.

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

Дата, когда связь делает свой первый купонный платеж (используемый, когда связь имеет неправильный первый период купона) в виде разделенной запятой пары, состоящей из 'InstrumentFirstCouponDate' и скалярный вектор символов даты или последовательный номер даты. Когда InstrumentFirstCouponDate и InstrumentLastCouponDate оба заданы, InstrumentFirstCouponDate более приоритетен в определении структуры купонного платежа. Если вы не задаете InstrumentFirstCouponDate, платежные дни потока наличности определяются из других входных параметров.

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

Последняя дата купона связи перед датой погашения (используемый, когда связь имеет неправильный последний период купона) в виде разделенной запятой пары, состоящей из 'InstrumentLastCouponDate' и скалярный вектор символов даты или последовательный номер даты. В отсутствие заданного InstrumentFirstCouponDate, заданный InstrumentLastCouponDate определяет структуру купона связи. Структура купона связи является усеченной в InstrumentLastCouponDate, независимо от того, где это падает и сопровождается только датой потока наличности зрелости связи. Если вы не задаете InstrumentLastCouponDate, платежные дни потока наличности определяются из других входных параметров.

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

Поверхность или номинальная стоимость в виде разделенной запятой пары, состоящей из 'InstrumentFace' и числовой скаляр.

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

Примечание

При использовании Instrument пары "имя-значение", можно задать простой процент для связи путем определения InstrumentPeriod значение как 0. Если InstrumentBasis и InstrumentPeriod не заданы для связи, следующие значения по умолчанию используются: InstrumentBasis 0 (действие/действие) и InstrumentPeriod 2.

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

свернуть все

Модель кривой Нельсона-Сигеля, возвращенная как структура. После создания модели Нельсона-Сигеля можно просмотреть использование параметров модели Нельсона-Сигеля:

CurveObj.Parameters
где порядком параметров является [Beta0, Beta1, Beta2, tau1].

Алгоритмы

Модель Нельсона-Сигеля предлагает, чтобы мгновенная прямая кривая могла быть смоделирована со следующим:

f=β0+β1emτ+β2mτemτ

Это может быть интегрировано, чтобы вывести уравнение для кривой нулевой ширины (см. [6] для получения дополнительной информации об уравнениях и деривации):

См. [1] для получения дополнительной информации.

Ссылки

[1] Нельсон, C.R., Зигель, A.F. “Экономное моделирование кривых доходности”. Журнал Бизнеса. Издание 60, 1987, стр 473–89.

[2] Свенсон, L.E.O. “Оценивая и интерпретируя прямые процентные ставки: Швеция 1992-4”. Международный валютный фонд, Рабочий документ МВФ, 1994/114.

[3] Фишер, M., Nychka, D., Zervos, D. “Соответствуя термину структура процентных ставок со сглаживанием сплайнов”. Совет управляющих Федеральной резервной системы, Рабочего документа 1995-1 Федерального резервного управления.

[4] Андерсон, N., Sleath, J. “Новые оценки Великобритании действительные и номинальные кривые доходности”. Банк Англии Ежеквартальный Бюллетень, ноябрь 1999, стр 384–92.

[5] Извозчик, D. “Методы сплайна для извлечения кривых процентной ставки от цен облигации на предъявителя”. Рабочий документ 1997-10 федерального резервного управления.

[6] “Кривые доходности нулевого купона: техническая документация”. Бумаги BIS № 25, октябрь 2005.

[7] Более полужирный, D.J., Gusba, S. “Экспоненциалы, полиномы и ряд Фурье: больше моделирования кривой доходности в Банке Канады”. Рабочие документы 2002-29, Банк Канады.

[8] Более полужирный, D.J., Стрелиский, D. “Моделирование кривой доходности в Банке Канады”. Технические отчеты 84, 1999, Банк Канады.

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