fitFunction
针对债券市场数据自定义拟合利率曲线
语法
描述
适配自定义适配函数的绑定。CurveObj
= fitFunction (类型
,解决
,FunctionHandle
,仪器
,IRFitOptionsObj
)
例子
使用自定义贴合功能贴合一个债券
这个例子展示了如何使用fitFunction
定制粘接
解决= repmat(datenum(30 - 4月- 2008 '), 1 [6]);成熟度= [datenum(' 07 - 3月- 2009 '); datenum (' 07 - 3月- 2011 ');...datenum (' 07 - 3月- 2013 '); datenum (的7 - 9月- 2016);...datenum (' 07 - 3月- 2025 '); datenum (' 07 - 3月- 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]工具=[结算期限清洁价格息票率];CurveSettle = datenum(30 - 4月- 2008 ');OptOptions = optimoptions(“lsqnonlin”,“显示”,“通路”);functionHandle = @(t,theta) polyval(theta,t);CustomModel = IRFunctionCurve.fitFunction(“零”CurveSettle,...functionHandle,仪器,...IRFitOptions([。05 .05 .05],“FitType”,“价格”,...“OptOptions”, OptOptions))
一阶迭代函数函数数f(x)步进最优性04 38036.7 4.92 2e+04 1 8 38036.7 10 4.92 2e+04 2 12 38036.7 2.5 4.92 2e+04 3 16 38036.7 0.625 4.92 2e+04 4 20 38036.7 0.15625 4.92 2e+05 6 28 30741.5 0.078125 1.72e+05 7 32 30741.5 0.0195312 1.72e+05 9 40 28713.6 0.00488281 2.33e+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 174930.000610352 7e+06 15 64 17493 0.0012207 7e+06 16 68 17493 0.000305176 7e+06 17 72 15455.1 0.000177499 2.25e+07 19 80 13317.1 3.8147e +07 21 88 11779.8 7.62939e-05 7.83e+07 21 88 11779.8 7.62939e-05 7.58e+ 05 22 92 11779.8 0.000305176 1.45e+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 29120 6882.83 0.0195312 9.18e+05 30 124 6882.83 0.0373992 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.32265e-08 0.063本地最小值可能。Lsqnonlin停止了,因为最终平方和相对于其初始值的变化小于函数公差的值。
CustomModel =类型:零结算:733528 (30-Apr-2008)复合:2基础:0(实际/实际)
输入参数
类型
- - - - - -利率曲线的类型
值为的字符向量“零”
,“前进”
,或“折扣”
利率曲线类型,通过使用标量字符向量指定。
数据类型:字符
解决
- - - - - -利率曲线的结算日期
日期字符向量|流水号
确定利率曲线的日期,使用标量日期、字符向量或连续日期编号指定。
数据类型:双
|字符
FunctionHandle
- - - - - -定义利率曲线的函数句柄
函数处理
定义利率曲线的函数句柄,使用函数句柄指定。函数句柄接受两个数字向量(到期时间和函数系数向量),并返回一个数字输出(利率或贴现因子)。有关定义函数句柄的更多信息,请参阅MATLAB®编程基础文档。
数据类型:function_handle
仪器
- - - - - -仪器
矩阵
仪器,指定使用N
——- - - - - -4
第一列所在的数据矩阵解决
日期,第二列是成熟
,第三列是清洁价格,第四列是aCouponRate
对于化学键。
数据类型:双
IRFitOptionsObj
- - - - - -IRFitOptions对象
IRFitOptions
对象
IRFitOptions
对象,使用之前创建的对象using指定IRFitOptions
.
数据类型:对象
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字
在报价。
例子:CurveObj = IRFunctionCurve.fitFunction(' 0 ',CurveSettle,functionHandle,Instruments,IRFitOptions([.]05 .05 .05],'FitType','price','OptOptions',OptOptions)))
复合
- - - - - -每年的复利频率IRFunctionCurve
对象
CurveObj。复合
(默认)|可能的值包括:1
,0
,1
,2
,3.
,4
,6
,12
.
每年的复利频率IRFunctionCurve
对象,指定为逗号分隔的对,由“复合”
和使用所支持的值之一的标量数值:万博1manbetx
−1
=连续复利0
=单利(无复利)1
=年度复利2
=半年复利3.
=每年复利三次4
=每季度复利6
=双月复利12
=每月复利
数据类型:双
基础
- - - - - -债券的日期计算基础
0
(实际/实际)(默认)|整数的0
来13
日计数的基础上的债券,指定为逗号分隔对组成“基础”
一个标量整数。
0 - actual/实际的
1 - 30/360 (sia)
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
有关更多信息,请参见基础.
数据类型:双
InstrumentPeriod
- - - - - -每年的债券息票
2
(默认)|数值为0
,1
,2
,3.
,4
,6
,12
每年的债券息票,以逗号分隔的对组成“InstrumentPeriod”
和一个标量数值。
数据类型:双
InstrumentBasis
- - - - - -债券以日为基准
0
(实际/实际)(默认)|整数的0
来13
日计数的基础上的债券,指定为逗号分隔对组成“InstrumentBasis”
一个标量整数。
0 - actual/实际的
1 - 30/360 (sia)
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
区分债券票据的基础
利率曲线的价值基础
价值。
有关更多信息,请参见基础.
数据类型:双
InstrumentEndMonthRule
- - - - - -月底规则
1
(默认)|有价值的逻辑0
或1
月末规则,指定为逗号分隔的对,由“InstrumentEndMonthRule”
和一个逻辑值。此规则仅适用于成熟
是一个月的月底日期,该月的天数为30天或更少。
0
= ignore规则,这意味着债券的息票支付日期总是同一个数字日。1
=集
规则(默认),这意味着债券的息票支付日期总是每月的最后一天。
数据类型:逻辑
InstrumentIssueDate
- - - - - -出具文书日期
[]
(默认)|日期字符向量|流水号
票据出具日期,由逗号分隔的对组成“InstrumentIssueDate”
和标量日期字符向量或串行日期编号。
数据类型:字符
|双
InstrumentFirstCouponDate
- - - - - -债券第一次支付息票的日期
现金流支付日期由其他投入确定(默认)|日期字符向量|流水号
债券第一次支付息票的日期(当债券的第一次息票期不固定时使用),由逗号分隔的对组成“InstrumentFirstCouponDate”
和标量日期字符向量或串行日期编号。当InstrumentFirstCouponDate
而且InstrumentLastCouponDate
都是指定的,InstrumentFirstCouponDate
优先决定息票支付结构。如果没有指定InstrumentFirstCouponDate
时,现金流支付日期由其他投入确定。
数据类型:字符
|双
InstrumentLastCouponDate
- - - - - -债券到期日之前的最后一个息票日
现金流支付日期由其他投入确定(默认)|日期字符向量|流水号
债券到期日之前的最后票面日(当债券的最后票面期不固定时使用),由逗号分隔的对组成“InstrumentLastCouponDate”
和标量日期字符向量或串行日期编号。在没有指定的情况下InstrumentFirstCouponDate
,指定的InstrumentLastCouponDate
决定债券的息票结构。债券的息票结构在InstrumentLastCouponDate
,而不管它落在哪里,紧随其后的只是债券的到期日现金流。如果没有指定InstrumentLastCouponDate
时,现金流支付日期由其他投入确定。
数据类型:字符
|双
InstrumentFace
- - - - - -面值或票面价值
One hundred.
(默认)|数字
面值或票面价值,指定为逗号分隔的对,由“InstrumentFace”
一个标量数值。
数据类型:双
请注意
当使用仪器
名称-值对时,可以指定债券的简单利息InstrumentPeriod
值作为0
.如果InstrumentBasis
而且InstrumentPeriod
如果不指定bond,则使用以下默认值:InstrumentBasis
是0
(行动/行为)InstrumentPeriod
是2
.
输出参数
CurveObj
-曲线模型
结构
曲线模型,作为结构返回。
版本历史
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。