fitNelsonSiegel

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

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

Синтаксис

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

Аргументы

Type

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

Settle

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

Instruments

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

Compounding

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

  • -1 = Непрерывное компаундирование

Basis

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

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

  • 1 = 30/360 (SIA)

  • 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 = BUS/252

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

IRFitOptions

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

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

  • Различие между наблюдаемыми и прогнозируемыми моделью ценами для каждой облигации, ObsP_iPredP_i

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

Параметры КИПиА

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

InstrumentPeriod

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

InstrumentBasis

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

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

  • 1 = 30/360 (SIA)

  • 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 = BUS/252

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

InstrumentEndMonthRule

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

InstrumentIssueDate

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

InstrumentFirstCouponDate

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

InstrumentLastCouponDate

(Необязательно) Дата последнего купона облигации до даты погашения; используется, когда облигация имеет нерегулярный последний купонный период. При отсутствии заданного FirstCouponDate, a заданное 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, Value аргументы. 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')

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

Алгоритмы

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

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

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

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

Ссылки

[1] Nelson, C.R., Siegel, A.F. «Parsimonious modeling of выражения curves». Журнал бизнеса. Том 60, 1987, стр. 473-89.

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

[3] Фишер, М., Нычка, Д., Зервос, Д. «Подбор кривой срочной структуры процентных ставок с сглаживанием сплайнов». Совет управляющих Федеральной резервной системы, рабочий документ Федерального резервного совета 1995-1.

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

[5] Вагонер, Д. «Методы сплайна для извлечения кривых процентной ставки из цен купонных облигаций». Рабочий документ Федерального резервного совета 1997-10.

[6] «Кривые выражения с нулевым купоном: техническая документация». Документы БИС № 25, октябрь 2005 года.

[7] Bolder, D.J., Gusba, S. «Exponentials, Polynomials and Fourier Series: More Yield Curve Modeling at the Bank of Canada». Рабочие документы 2002-29, Банк Канады.

[8] Bolder, D.J., Streliski, D. «Yield Curve Modeling at the Bank of Canada». Технические отчеты 84, 1999, Банк Канады.

Введенный в R2008b