fitNelsonSiegel

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

Синтаксис

CurveObj = IRFunctionCurve.fitNelsonSiegel(Type,Settle,Instruments)
CurveObj = IRFunctionCurve.fitNelsonSiegel(Type,Settle,Instruments,Name,Value)

Аргументы

Type

Тип процентной ставки изгибается для связи: zero или forward.

Settle

Скаляр для Settle дата кривой.

Instruments

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

Compounding

(Необязательно) Скаляр, который устанавливает частоту соединения в год для IRFunctionCurve объект:

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

Basis

(Необязательно) основание Дневного количества кривой процентной ставки. Скаляр целых чисел.

  •  0 = фактический/фактический (значение по умолчанию)

  •  1 = 30/360 (СИА)

  •  2 = Фактический/360

  •  3 = Фактический/365

  •  4 = 30/360 (BMA)

  •  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

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

IRFitOptions

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

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

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

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

Инструментальные параметры

Для каждой связи Instrument, можно задать следующие дополнительные инструментальные параметры как пары "имя-значение". Например, InstrumentBasis отличает инструмент связи Basis значение от Basis кривой значение.

InstrumentPeriod

(Необязательно) Купоны в год связи. Вектор целых чисел. Позволенными значениями является 0, 1, 2 (значение по умолчанию), 3, 4, 6, и 12.

InstrumentBasis

(Необязательно) основание Дневного количества связи. Вектор целых чисел.

  •  0 = фактический/фактический (значение по умолчанию)

  •  1 = 30/360 (СИА)

  •  2 = Фактический/360

  •  3 = Фактический/365

  •  4 = 30/360 (BMA)

  •  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

Для получения дополнительной информации смотрите Основание (Financial Toolbox).

InstrumentEndMonthRule

(Необязательно) правило Конца месяца. Вектор. Это правило применяется только когда Maturity дата конца месяца в течение месяца, имея 30 или меньше дней. 0 = проигнорируйте правило, подразумевая, что дата купонного платежа связи всегда является тем же числовым днем месяца. 1 = установите правило о (значении по умолчанию), подразумевая, что дата купонного платежа связи всегда является прошлым фактическим днем месяца.

InstrumentIssueDate

(Необязательно) Дата, когда инструмент был выпущен.

InstrumentFirstCouponDate

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

InstrumentLastCouponDate

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

InstrumentFace

(Необязательно) Поверхность или номинальная стоимость. Значение по умолчанию = 100.

Примечание

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

Описание

CurveObj = IRFunctionCurve.fitNelsonSiegel(Type, Settle, Instruments,Name,Value) соответствует функции Нельсона-Сигеля, чтобы продать данные для связи. Необходимо ввести дополнительные аргументы для Basis, Compounding, и IRFitOptions как разделенные запятой пары NameЗначение аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Можно задать несколько имен и аргументов пары значения в любом порядке как Name1, Value1..., NameN, ValueN.

После создания модели Нельсона-Сигеля можно просмотреть использование параметров модели Нельсона-Сигеля:

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

Примеры

свернуть все

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

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')

Алгоритмы

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

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

Для просмотра документации необходимо авторизоваться на сайте