fitFunction

Подобранная на заказ кривая процентной ставки возражает против данных о рынке облигаций

Описание

пример

CurveObj = fitFunction(Type,Settle,FunctionHandle,Instruments,IRFitOptionsObj) соответствует связи к подбирающей на заказ функции.

пример

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

Примеры

свернуть все

В этом примере показано, как использовать fitFunction подбирать на заказ связь.

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];
CurveSettle = datenum('30-Apr-2008');
OptOptions = optimoptions('lsqnonlin','display','iter');
functionHandle = @(t,theta) polyval(theta,t);    

CustomModel = IRFunctionCurve.fitFunction('Zero', CurveSettle, ...
functionHandle,Instruments, ...
IRFitOptions([.05 .05 .05],'FitType','price',...
'OptOptions',OptOptions))
                                         Norm of      First-order 
 Iteration  Func-count     f(x)          step          optimality
     0          4         38036.7                      4.92e+04
     1          8         38036.7             10       4.92e+04      
     2         12         38036.7            2.5       4.92e+04      
     3         16         38036.7          0.625       4.92e+04      
     4         20         38036.7        0.15625       4.92e+04      
     5         24         30741.5      0.0390625       1.72e+05      
     6         28         30741.5       0.078125       1.72e+05      
     7         32         30741.5      0.0195312       1.72e+05      
     8         36         28713.6     0.00488281       2.33e+05      
     9         40         20323.3     0.00976562       9.47e+05      
    10         44         20323.3      0.0195312       9.47e+05      
    11         48         20323.3     0.00488281       9.47e+05      
    12         52         20323.3      0.0012207       9.47e+05      
    13         56         19698.8    0.000305176       1.08e+06      
    14         60           17493    0.000610352          7e+06      
    15         64           17493      0.0012207          7e+06      
    16         68           17493    0.000305176          7e+06      
    17         72         15455.1    7.62939e-05       2.25e+07      
    18         76         15455.1    0.000177499       2.25e+07      
    19         80         13317.1     3.8147e-05       3.18e+07      
    20         84         12865.3    7.62939e-05       7.83e+07      
    21         88         11779.8    7.62939e-05       7.58e+06      
    22         92         11747.6    0.000152588       1.45e+05      
    23         96         11720.9    0.000305176       2.33e+05      
    24        100         11667.2    0.000610352       1.48e+05      
    25        104         11558.6      0.0012207       3.55e+05      
    26        108         11335.5     0.00244141       1.57e+05      
    27        112         10863.8     0.00488281       6.36e+05      
    28        116         9797.14     0.00976562       2.53e+05      
    29        120         6882.83      0.0195312       9.18e+05      
    30        124         6882.83      0.0373993       9.18e+05      
    31        128         3218.45     0.00934981       1.96e+06      
    32        132         612.703      0.0186996       3.01e+06      
    33        136         13.0998      0.0253882       3.05e+06      
    34        140       0.0762922     0.00154002       5.05e+04      
    35        144       0.0731652    3.61102e-06           29.9      
    36        148       0.0731652    6.32344e-08          0.063      

Local minimum possible.

lsqnonlin stopped because the final change in the sum of squares relative to 
its initial value is less than the value of the function tolerance.
CustomModel = 
			 Type: Zero
		   Settle: 733528 (30-Apr-2008)
	  Compounding: 2
			Basis: 0 (actual/actual)

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

свернуть все

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

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

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

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

Указатель на функцию, который задает кривую процентной ставки, заданное использование указателя на функцию. Указатель на функцию берет два числовых вектора (время к зрелости и вектор из функциональных коэффициентов) и возвращает один числовой выходной параметр (процентная ставка или коэффициент дисконтирования). Для получения дополнительной информации об определении указателя на функцию смотрите MATLAB® Документация Основ программирования.

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

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

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

IRFitOptions объект, заданное использование ранее созданного объекта с помощью IRFitOptions.

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

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

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

Пример: CurveObj = IRFunctionCurve.fitFunction('Zero',CurveSettle,functionHandle,Instruments,IRFitOptions([.05 .05 .05],'FitType','price','OptOptions',OptOptions))
Аргументы в виде пар имя-значение для всех инструментов связи

свернуть все

Соединение частоты в год для 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

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

свернуть все

Купоны в год для связи в виде разделенной запятой пары, состоящей из '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.

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

свернуть все

Модель кривой, возвращенная как структура.

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