主要内容

FixedBond

FixedBond仪对象

描述

创建和定价FixedBond使用此工作流的固定Bond工具之一的instrument对象:

  1. 使用fininstrument创建一个FixedBond用于多个固定债券工具之一的工具对象。

  2. 使用ratecurve为…指定曲线模型FixedBond仪器、物体或使用HullWhiteBraceGatarekMusielaSABRBraceGatarekMusiela,或LinearGaussian2F模型。

  3. 选择一种定价方法。

    • 当使用一个ratecurve使用finpricer指定一个折扣一个或多个的定价方法FixedBond仪器。

    • 当使用一个HullWhiteBraceGatarekMusielaSABRBraceGatarekMusiela,或LinearGaussian2F模型,使用finpricer指定一个IRMonteCarlo一个或多个的定价方法FixedBond仪器。

有关此工作流的更详细信息,请参见开始使用基于对象的框架为金融工具定价的工作流

欲了解更多关于a的可用模型和定价方法的信息FixedBond仪器,看选择仪器、型号和定价

创建

描述

例子

FixedBondObj= fininstrument (InstrumentType”,CouponRate“couponrate_value,”成熟”,maturity_date)创建一个FixedBond为多个固定债券工具之一指定InstrumentType并设置属性用于指定的名称-值对参数CouponRate成熟

FixedBond该工具支持普通债券、阶金宝app梯式息票债券和摊销债券。有关更多信息,请参见更多关于

例子

FixedBondObj= fininstrument (___名称,值设置可选属性除了前面语法中要求的参数外,还使用了其他的名称-值对。例如,FixedBondObj = fininstrument(“FixedBond”、“CouponRate”,0.034,“成熟”,datetime(2019, 30),“时期”,4,“基础”,1,“校长”,100年,“FirstCouponDate”,datetime(2016, 30),“EndMonthRule”,的确,“名字”,“fixedbond_instrument”)创建一个FixedBond票面利率为0.34,到期日期为2019年1月30日。可以指定多个名称-值对参数。

输入参数

全部展开

仪器类型,指定为值为的字符串“FixedBond”的字符向量“FixedBond”,一个NINST——- - - - - -1值为的字符串数组“FixedBond”,或者一个NINST——- - - - - -1值为的字符向量单元格数组“FixedBond”

数据类型:字符|细胞|字符串

FixedBond名称-值对的观点

指定必需的和可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:FixedBondObj = fininstrument(“FixedBond”、“CouponRate”,0.034,“成熟”,datetime(2019, 30),“时期”,4,“基础”,1,“校长”,100年,“FirstCouponDate”,datetime(2016, 30),“EndMonthRule”,的确,“名字”,“fixedbond_instrument”)
要求FixedBond名称-值对的观点

全部展开

FixedBond票面利率,指定为逗号分隔的对,由“CouponRate”和一个标量小数NINST——- - - - - -1一个年利率或时间表的小数向量,其中第一列是日期,第二列是相关的利率。此日期表示票面利率有效的最后一天。

请注意

如果您正在创建一个或多个FixedBond仪器和使用一个时间表,时间表的规范适用于所有的FixedBond仪器。CouponRate不接受NINST——- - - - - -1作为输入的时间表单元格数组。

数据类型:|时间表

FixedBond到期日期,指定为逗号分隔的对,由“成熟”和标量日期时间、串行日期号、日期字符向量、日期字符串或NINST——- - - - - -1日期时间向量、连续日期号、日期字符向量的单元格数组或日期字符串数组。

如果使用日期字符向量或日期字符串,则格式必须是可识别的datetime因为成熟属性存储为日期时间。

数据类型:字符|细胞||字符串|datetime

可选FixedBond名称-值对的观点

全部展开

支付频率,指定为逗号分隔对,由“时间”和一个标量整数NINST——- - - - - -1向量的整数。值123.46,或12

数据类型:

日计数的基础,指定为逗号分隔的对,由“基础”和一个标量整数NINST——- - - - - -1使用下列值的整数向量:

  • 0 -实际/实际

  • 1 - 30/360 (sia)

  • 2 -实际/ 360

  • 3 -实际/ 365

  • 4 - 30/360 (psa)

  • 5 - 30/360 (isda)

  • 6 - 30/360(欧洲)

  • 7 -实际/365(日文)

  • 8 - actual/actual (ICMA)

  • 9 -实际/360 (ICMA)

  • 10 -实际/365 (ICMA)

  • 11 - 30/360e (icma)

  • 12 -实际/365 (ISDA)

  • 13 -总线/ 252

有关更多信息,请参见基础

数据类型:

主量或主值计划,指定为逗号分隔的对,由“校长”和一个标量数字或NINST——- - - - - -1数字向量或时间表。

主要接受一个时间表,其中第一列是日期,第二列是相关的名义主值。日期表示主值有效的最后一天。

请注意

如果您正在创建一个或多个FixedBond仪器和使用一个时间表,时间表的规范适用于所有的FixedBond仪器。主要不接受NINST——- - - - - -1作为输入的时间表单元格数组。

数据类型:|时间表

指示现金流量是否按日计数约定调整的标志,指定为逗号分隔对,由“DaycountAdjustedCashFlow”一个标量逻辑或NINST——- - - - - -1值为的逻辑向量真正的

数据类型:逻辑

现金流日期的营业日约定,指定为逗号分隔的对,由“BusinessDayConvention”标量字符串或字符向量或NINST——- - - - - -1字符向量或字符串数组的单元格数组。工作日惯例的选择决定了如何对待非工作日。非营业日定义为周末加上任何其他不营业的日期(例如,法定假日)。值:

  • “实际”-非工作时间实际上被忽略了。在非营业日的现金流量被假定在实际日进行分配。

  • “关注”-假定在一个非营业日的现金流将在下一个营业日分配。

  • “modifiedfollow”-假定在一个非营业日的现金流将在下一个营业日分配。但是,如果下一个营业日在不同的月份,则采用前一个营业日。

  • “以前”-假定在非营业日的现金流是在前一个营业日分配的。

  • “modifiedprevious”-假定在非营业日的现金流是在前一个营业日分配的。但是,如果前一个营业日在不同的月份,则采用下一个营业日。

数据类型:字符|细胞|字符串

用于计算工作日的假日,指定为逗号分隔的对,由“假期”使用NINST——- - - - - -1日期时间向量、连续日期号、日期字符向量的单元格数组或日期字符串数组。例如:

H =假期(datetime(今天),datetime(2025、12、15));FixedBondObj = fininstrument(“FixedBond”、“CouponRate”,0.34,“成熟”,datetime(2025、12、15),“假期”,H)

数据类型:|细胞|datetime|字符串

月末规则标志,用于生成日期成熟一个月只有30天或更少的月末日期,指定为逗号分隔对,由“EndMonthRule”和标量逻辑值或NINST——- - - - - -1值为的逻辑向量真正的

  • 如果你设置EndMonthRule在美国,该软件忽略了这一规则,也就是说,付款日期总是同一个数字日期。

  • 如果你设置EndMonthRule真正的在美国,该软件会设定规则,这意味着付款日期总是当月的最后一天。

数据类型:逻辑

债券发行日期,指定为逗号分隔对,由“IssueDate”和标量日期时间、串行日期号、日期字符向量、日期字符串或NINST——- - - - - -1日期时间向量、连续日期号、日期字符向量的单元格数组或日期字符串数组。

如果使用日期字符向量或日期字符串,则格式必须是可识别的datetime因为IssueDate属性存储为日期时间。

数据类型:|字符|细胞|字符串|datetime

不规则的第一个优惠券日期,指定为逗号分隔的对,由“FirstCouponDate”和标量日期时间、串行日期号、日期字符向量、日期字符串或NINST——- - - - - -1日期时间向量、连续日期号、日期字符向量的单元格数组或日期字符串数组。

FirstCouponDateLastCouponDate都是指定的,FirstCouponDate优先确定息票支付结构。如果没有指定FirstCouponDate,现金流支付日期由其他输入确定。

如果使用日期字符向量或日期字符串,则格式必须是可识别的datetime因为FirstCouponDate属性存储为日期时间。

数据类型:|细胞|字符|字符串|datetime

不规则的最后优惠券日期,指定为逗号分隔的对,包括“LastCouponDate”和标量日期时间、串行日期号、日期字符向量、日期字符串或NINST——- - - - - -1日期时间向量、连续日期号、日期字符向量的单元格数组或日期字符串数组。

如果您指定LastCouponDate但不是FirstCouponDateLastCouponDate决定债券的息票结构。债券的息票结构在LastCouponDate,不管它落在哪里,后面只跟随着债券的到期日现金流。如果没有指定LastCouponDate,现金流支付日期由其他输入确定。

如果使用日期字符向量或日期字符串,则格式必须是可识别的datetime因为LastCouponDate属性存储为日期时间。

数据类型:|细胞|字符|字符串|datetime

预付款的开始日期,指定为逗号分隔对组成StartDate可以的和标量日期时间、串行日期号、日期字符向量、日期字符串或NINST——- - - - - -1日期时间向量、连续日期号、日期字符向量的单元格数组或日期字符串数组。

如果使用日期字符向量或日期字符串,则格式必须是可识别的datetime因为StartDate可以属性存储为日期时间。

数据类型:字符|细胞||字符串|datetime

多个仪器中的一个用户定义的名称,指定为逗号分隔对,由“名字”标量字符串或字符向量或NINST——- - - - - -1字符向量或字符串数组的单元格数组。

数据类型:字符|细胞|字符串

属性

全部展开

FixedBond票面年利率,以标量小数或NINST——- - - - - -1小数向量或时间表。

数据类型:|时间表

FixedBond到期日期,返回标量日期时间或NINST——- - - - - -1向量的日期时间。

数据类型:datetime

每年支付的频率,返回为标量整数或NINST——- - - - - -1向量的整数。

数据类型:

日计数的基础,作为一个标量整数或NINST——- - - - - -1向量的整数。

数据类型:

标量或主值调度,作为标量数字或NINST——- - - - - -1数字向量或时间表。

数据类型:

指示现金流量是否按日计约定调整的标志,作为标量逻辑或NINST——- - - - - -1值为的逻辑向量真正的

数据类型:逻辑

工作日约定,作为标量字符串或NINST——- - - - - -1字符串数组。

数据类型:字符串

用于计算工作日的假日,作为返回NINST——- - - - - -1向量的日期时间。

数据类型:datetime

月末规则标志,用于生成日期成熟对于一个月只有30天或更少的月份,月末日期是否作为标量逻辑或NINST——- - - - - -1逻辑值的向量。

数据类型:逻辑

债券发行日期,返回标量日期时间或NINST——- - - - - -1向量的日期时间。

数据类型:datetime

不规则的第一个优惠券日期,返回标量日期时间或NINST——- - - - - -1向量的日期时间。

数据类型:datetime

不规则的最后一个优惠券日期,返回标量日期时间或NINST——- - - - - -1向量的日期时间。

数据类型:datetime

预付款的开始日期,返回标量日期时间或NINST——- - - - - -1向量的日期时间。

数据类型:datetime

仪器的用户定义名称,返回为标量字符串或NINST——- - - - - -1字符串数组。

数据类型:字符串

对象的功能

现金流 计算现金流量FixedBondFloatBond交换联邦铁路局STIRFutureOISFutureOvernightIndexedSwap,或存款仪器

例子

全部折叠

这个例子展示了给一个普通的F定价的工作流ixedBond当你使用ratecurve和一个折扣定价方法。

创建FixedBond仪对象

使用fininstrument创建一个FixedBond仪对象。

FixB = fininstrument (“FixedBond”“成熟”datetime(2022、9、15),“CouponRate”, 0.021,“时间”,2,“基础”,1,“校长”, 100,“名字”“fixed_bond_instrument”
FixB = FixedBond with properties: CouponRate: 0.0210 Period: 2 Basis: 1 EndMonthRule: 1 Principal: 100 DaycountAdjustedCashFlow: 0 BusinessDayConvention:“实际”假期:NaT issueddate: NaT FirstCouponDate: NaT LastCouponDate: NaT StartDate: NaT Maturity: 15- september 2022名称:“fixed_bond_instrument”

创建ratecurve对象

创建一个ratecurve对象使用ratecurve

解决= datetime(2018、9、15);类型=“零”;ZeroTimes = [calmonths(6) calyears([1 2 3 4 5 7 10 20 30])]';ZeroRates = [0.0052 0.0055 0.0061 0.0073 0.0094 0.0119 0.0168 0.0222 0.0293 0.0307]';zeroates = Settle + ZeroTimes;myRC = ratecurve (“零”、结算、ZeroDates ZeroRates)
myRC = ratecurve with properties: Type: "zero" compound: -1 Basis: 0 date: [10x1 datetime] Rates: [10x1 double] Settle: 15- september -2018 InterpMethod: "linear" ShortExtrapMethod: "next" LongExtrapMethod: "previous"

创建折扣定价的人对象

使用finpricer创建一个折扣对象,并使用ratecurve对象的“DiscountCurve”名称-值对的论点。

outPricer = finpricer (“折扣”“DiscountCurve”myRC)
outPricer =具有属性的折扣:

价格FixedBond仪器

使用价格来计算价格和敏感度FixedBond乐器。

[Price, outPR] = Price (outPricer, FixB,[“所有”])
价格= 104.5679
outPR = pricerresult with properties: Results: [1x2 table]
outPR。结果
ans =1×2表价格DV01 ______ ________ 104.57 0.040397

这个示例显示了为多个香草F定价的工作流ixedBond当你使用ratecurve和一个折扣定价方法。

创建FixedBond仪对象

使用fininstrument创建一个FixedBond用于三种固定债券工具的工具对象。

FixB = fininstrument (“FixedBond”“成熟”datetime([2022、9、15;2022、10、15;2022、11、15]),“CouponRate”, 0.021,“时间”,2,“基础”,1,“校长”, 100;250;500年),“名字”“fixed_bond_instrument”
FixB =3×1对象3x1固定债券数组具有属性:息率期限基础EndMonthRule本金日计数调整现金流量营业日惯例假日发行日期FirstCouponDate LastCouponDate开始日期到期日名称

创建ratecurve对象

创建一个ratecurve对象使用ratecurve

解决= datetime(2018、9、15);类型=“零”;ZeroTimes = [calmonths(6) calyears([1 2 3 4 5 7 10 20 30])]';ZeroRates = [0.0052 0.0055 0.0061 0.0073 0.0094 0.0119 0.0168 0.0222 0.0293 0.0307]';zeroates = Settle + ZeroTimes;myRC = ratecurve (“零”、结算、ZeroDates ZeroRates)
myRC = ratecurve with properties: Type: "zero" compound: -1 Basis: 0 date: [10x1 datetime] Rates: [10x1 double] Settle: 15- september -2018 InterpMethod: "linear" ShortExtrapMethod: "next" LongExtrapMethod: "previous"

创建折扣定价的人对象

使用finpricer创建一个折扣对象,并使用ratecurve对象的“DiscountCurve”名称-值对的论点。

outPricer = finpricer (“折扣”“DiscountCurve”myRC)
outPricer =具有属性的折扣:

价格FixedBond仪器

使用价格来计算价格和敏感度FixedBond仪器。

[Price, outPR] = Price (outPricer, FixB,[“所有”])
价格=3×1104.5679 261.4498 522.9174
outPR =1×3对象pricerresult数组的属性
outPR。结果
ans =1×2表价格DV01 ______ ________ 104.57 0.040397
ans =1×2表价格DV01 ______ _____ 261.45 0.103
ans =1×2表价格DV01 ______ _______ 522.92 0.21013

这个例子展示了一个步骤定价的工作流程FixedBond当你使用ratecurve和一个折扣定价方法。

创建FixedBond仪对象

使用fininstrument创建一个阶梯式FixedBond仪对象。

成熟= datetime(2024、1、1);时间= 1;cdate = datetime([2020,1,1;2024年,1,1);箱= [.025;. 03];CouponRate =时间表(CDates、箱);SBond = fininstrument (“FixedBond”“成熟”成熟,“CouponRate”CouponRate,“时间”期)
SBond = FixedBond with properties: CouponRate: [2x1时间表]Period: 1 Basis: 0 EndMonthRule: 1 Principal: 100 DaycountAdjustedCashFlow: 0 BusinessDayConvention: "实际"假期:NaT issueddate: NaT FirstCouponDate: NaT LastCouponDate: NaT StartDate: NaT Maturity: 01-Jan-2024 Name: ""

创建ratecurve对象

创建一个ratecurve对象使用ratecurve

解决= datetime(2018、1、1);ZeroTimes = calyears(1:10)”;ZeroRates = [0.0052 0.0055 0.0061 0.0073 0.0094 0.0119 0.0168 0.0222 0.0293 0.0307]';zeroates = Settle + ZeroTimes;复合= 1;ZeroCurve = ratecurve (“零”、结算、ZeroDates ZeroRates,“复合”复合)
ZeroCurve =带有属性的比率曲线:类型:" 0 "复利:1基础:0日期:[10x1 datetime]率:[10x1 double]定值:01- 2018年1月InterpMethod: "linear" ShortExtrapMethod: "next" LongExtrapMethod: "previous"

创建折扣定价的人对象

使用finpricer创建一个折扣对象,并使用ratecurve对象的“DiscountCurve”名称-值对的论点。

outPricer = finpricer (“折扣”“DiscountCurve”ZeroCurve)
outPricer =具有属性的折扣:

价格FixedBond仪器

使用价格来计算香草的价格和敏感度FixedBond乐器。

[Price, outPR] = Price (outPricer, SBond,[“所有”])
价格= 109.6218
outPR = pricerresult with properties: Results: [1x2 table]
outPR。结果
ans =1×2表价格DV01 ______ ________ 109.62 0.061108

这个例子展示了摊销定价的工作流程FixedBond当你使用ratecurve和一个折扣定价方法。

创建FixedBond仪对象

使用fininstrument创造摊销FixedBond仪对象。

成熟= datetime(2024、1、1);时间= 1;datates = datetime([2020,1,1;2024年,1,1);APrincipal = [100;85);校长=时间表(法律、APrincipal);Bondamort = fininstrument (“FixedBond”“成熟”成熟,“CouponRate”, 0.025,“时间”期,“校长”校长)
Bondamort = FixedBond with properties: CouponRate: 0.0250 Period: 1 Basis: 0 EndMonthRule: 1 Principal: [2x1 timetable] DaycountAdjustedCashFlow: 0 BusinessDayConvention:“实际”假期:NaT issueddate: NaT FirstCouponDate: NaT LastCouponDate: NaT StartDate: NaT Maturity: 01-Jan-2024 Name: ""

创建ratecurve对象

创建一个ratecurve对象使用ratecurve

解决= datetime(2018、1、1);ZeroTimes = calyears(1:10)”;ZeroRates = [0.0052 0.0055 0.0061 0.0073 0.0094 0.0119 0.0168 0.0222 0.0293 0.0307]';zeroates = Settle + ZeroTimes;复合= 1;ZeroCurve = ratecurve (“零”、结算、ZeroDates ZeroRates,“复合”、复合);

创建折扣定价的人对象

使用finpricer创建一个折扣对象,并使用ratecurve对象的“DiscountCurve”名称-值对的论点。

outPricer = finpricer (“折扣”“DiscountCurve”ZeroCurve)
outPricer =具有属性的折扣:

价格FixedBond仪器

使用价格来计算香草的价格和敏感度FixedBond乐器。

[Price, outPR] = Price (outPricer,Bondamort,[“所有”])
价格= 107.1273
outPR = pricerresult with properties: Results: [1x2 table]
outPR。结果
ans =1×2表价格DV01 ______ ________ 107.13 0.054279

这个例子展示了定价a的工作流程FixedBond仪器在使用时HullWhite模型和一个IRMonteCarlo定价方法。

创建FixedBond仪对象

使用fininstrument创建一个FixedBond仪对象。

FixB = fininstrument (“FixedBond”“成熟”datetime(2022、9、15),“CouponRate”, 0.05,“名字”“fixed_bond”
FixB = FixedBond with properties: CouponRate: 0.0500 Period: 2 Basis: 0 EndMonthRule: 1 Principal: 100 DaycountAdjustedCashFlow: 0 BusinessDayConvention:“实际”假期:NaT issueddate: NaT FirstCouponDate: NaT LastCouponDate: NaT StartDate: NaT Maturity: 15- september 2022名称:“fixed_bond”

创建HullWhite模型对象

使用finmodel创建一个HullWhite模型对象。

HullWhiteModel = finmodel (“HullWhite”“α”, 0.32,“σ”, 0.49)
HullWhiteModel = HullWhite与性质:阿尔法:0.3200西格玛:0.4900

创建ratecurve对象

创建一个ratecurve对象使用ratecurve

解决= datetime(2019、1、1);类型=“零”;ZeroTimes = [calmonths(6) calyears([1 2 3 4 5 7 10 20 30])]';ZeroRates = [0.0052 0.0055 0.0061 0.0073 0.0094 0.0119 0.0168 0.0222 0.0293 0.0307]';zeroates = Settle + ZeroTimes;myRC = ratecurve (“零”、结算、ZeroDates ZeroRates)
myRC = ratecurve with properties: Type: "zero" compound: -1 Basis: 0 date: [10x1 datetime] Rates: [10x1 double] Settle: 01-Jan-2019 InterpMethod: "linear" ShortExtrapMethod: "next" LongExtrapMethod: "previous"

创建IRMonteCarlo定价的人对象

使用finpricer创建一个IRMonteCarlo对象,并使用ratecurve对象的“DiscountCurve”名称-值对的论点。

outPricer = finpricer (“IRMonteCarlo”“模型”HullWhiteModel,“DiscountCurve”myRC,“SimulationDates”ZeroDates)
outPricer = HWMonteCarlo with properties: NumTrials: 1000 RandomNumbers: [] DiscountCurve: [1x1 ratecurve] SimulationDates:[01- 7 -2019 01- 1- 2020 01- 1- 2021…模型:[1x1 finmodel.]HullWhite]

价格FixedBond仪器

使用价格来计算价格和敏感度FixedBond乐器。

(价格、outPR) =价格(outPricer, FixB“所有”])
价格= 115.0303
outPR = pricerresult with properties: Results: [1x4 table]
outPR。结果
ans =1×4表价格三角洲伽马织女星  ______ _______ ______ ____ 115.03 -397.13 1430.4 0

更多关于

全部展开

介绍了R2020a