主要内容

FixedBondOption

FixedBondOption仪对象

描述

创建和价格FixedBondOption仪器对象为一个或多个固定债券期权工具使用此工作流:

  1. 使用fininstrument创建一个FixedBondOption仪对象为一个或多个固定债券选择工具。

  2. 使用finmodel指定一个HullWhite,BlackKarasinski,BraceGatarekMusiela,SABRBraceGatarekMusiela,或LinearGaussian2F模型FixedBondOption仪对象。

  3. 选择定价方法。

    • 当使用一个HullWhiteBlackKarasinski模型,使用finpricer指定一个IRTree一个或多个的定价方法FixedBondOption仪器。

    • 当使用一个HullWhite,BraceGatarekMusiela,SABRBraceGatarekMusiela,或LinearGaussian2F模型,使用finpricer指定一个IRMonteCarlo一个或多个的定价方法FixedBondOption仪器。

此工作流的更多信息,请参阅开始使用工作流使用基于对象的金融工具定价的框架

有关可用的模型和定价方法的更多信息FixedBondOption仪器,看选择工具、模型和定价的人

创建

描述

例子

FixedBondOptionObj= fininstrument (InstrumentType”,罢工“strike_value,”ExerciseDate“exercise_date,”债券”,bond_obj)创建一个FixedBondOption对象的一个或多个固定债券选择仪器通过指定InstrumentType并设置属性所需的参数名称-值对罢工,ExerciseDate,债券

FixedBondOption仪器支持欧洲或美国的选万博1manbetx择。有关更多信息,请参见更多关于

例子

FixedBondOptionObj= fininstrument (___,名称,值)设置可选属性除了需要使用额外的名称-值对参数在前面的语法。例如,FixedBondOptionObj = fininstrument (“FixedBondOption”、“罢工”,100年,“ExerciseDate”, datetime(2019, 30),“债券”,bond_obj,‘OptionType’,‘把’,‘ExerciseStyle’,“美国”、“名称”、“fixed_bond_option”)创建一个FixedBondOption仪器与罢工的100和美国的运动。您可以指定多个参数名称-值对。

输入参数

全部展开

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

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

名称-值参数

指定必需和可选双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:FixedBondOptionObj = fininstrument (“FixedBondOption”、“罢工”,100年,“ExerciseDate”, datetime(2019, 30),“债券”,bond_obj,‘OptionType’,‘把’,‘ExerciseStyle’,“美国”、“名称”、“fixed_bond_option”)

要求FixedBondOption名称-值对的观点

全部展开

选择罢工值,指定为逗号分隔组成的“罢工”和一个标量非负数字或一个NINST——- - - - - -1非负数字向量。

数据类型:

选择运动日期,指定为逗号分隔组成的“ExerciseDate”和一个标量datetime,串行日期号码,日期特征向量,日期或一个字符串NINST——- - - - - -1向量的日期时间,连续日期数字,日期的单元阵列特征向量,或日期字符串数组。

  • 欧式期权,只有一个ExerciseDate在期权到期日。

  • 百慕大的选项,有一个1——- - - - - -NSTRIKES矢量的运动日期。

  • 对于美国的选项,选项之间可以行使解决ratecurve和单一上市ExerciseDate

如果你使用日期字符向量或日期字符串,必须识别的格式datetime因为ExerciseDate属性存储为datetime

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

潜在的FixedBond乐器,指定为逗号分隔组成的“债券”和一个标量FixedBond对象或一个NINST——- - - - - -1向量的FixedBond对象。

数据类型:对象

可选FixedBondOption名称-值对的观点

全部展开

选择类型,指定为逗号分隔组成的“OptionType”和一个标量字符串或字符或一个向量NINST——- - - - - -1单元阵列特征向量数组或字符串。

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

选择运动风格,指定为逗号分隔组成的“ExerciseStyle”和一个标量字符串或字符或一个向量NINST——- - - - - -1单元阵列特征向量数组或字符串的值“欧洲”,“美国”,或“百慕大”

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

为更多的乐器之一,用户定义的名称指定为逗号分隔组成的“名字”和一个标量字符串或字符或一个向量NINST——- - - - - -1单元阵列特征向量数组或字符串。

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

属性

全部展开

选择罢工的价值,作为一个标量返回非负数字或一个NINST——- - - - - -1数值向量的非负价值。

数据类型:

选择锻炼的日期,作为一个标量datetime或返回NINST——- - - - - -1向量的日期时间。

数据类型:datetime

选择类型,作为一个标量字符串或一个返回NINST——- - - - - -1字符串数组的值“电话”“把”

数据类型:字符串

选择运动风格,作为一个标量字符串或一个返回NINST——- - - - - -1字符串数组的值“欧洲”“美国”

数据类型:字符串

潜在的FixedBond工具,作为一个标量返回FixedBond对象或一个NINST——- - - - - -1向量的FixedBond对象。

数据类型:对象

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

数据类型:字符串

对象的功能

setExercisePolicy 设置运动政策FixedBondOption,FloatBondOption,或香草仪器

例子

全部折叠

这个例子显示了工作流价格FixedBondOption当你使用工具HullWhite模型和一个IRTree定价方法。

创建FixedBond仪对象

使用fininstrument创建一个FixedBond仪对象作为底层的债券。

BondInst = fininstrument (“FixedBond”,“成熟”datetime (2029、9、15),“CouponRate”.021,“时间”,1“名字”,“bond_instrument”)
BondInst = FixedBond属性:CouponRate: 0.0210期:1基础:0 EndMonthRule: 1主要:100 DaycountAdjustedCashFlow: 0 BusinessDayConvention:“实际”假期:NaT IssueDate: NaT FirstCouponDate: NaT LastCouponDate: NaT StartDate可以:NaT成熟度:15 - 9 - 2029的名字:“bond_instrument”

创建FixedBondOption仪的对象

使用fininstrument创建三个可调用的FixedBondOption仪对象与欧洲、美国和百慕大的锻炼。

FixedBOptionEuro = fininstrument (“FixedBondOption”,“ExerciseDate”datetime (2025、9、15),“罢工”,98,“债券”BondInst,“OptionType”,“电话”,“ExerciseStyle”,“欧洲”,“名字”,“fixed_bond_option_european”)
FixedBOptionEuro = FixedBondOption属性:OptionType:“叫“ExerciseStyle:“欧洲”ExerciseDate: 15 - 9月- 2025年罢工:98年邦德:[1 x1 fininstrument。FixedBond)名称:“fixed_bond_option_european”
FixedBOptionAmerican = fininstrument (“FixedBondOption”,“ExerciseDate”datetime (2025、9、15),“罢工”,98,“债券”BondInst,“OptionType”,“电话”,“ExerciseStyle”,“美国”,“名字”,“fixed_bond_option_american”)
FixedBOptionAmerican = FixedBondOption属性:OptionType:“叫“ExerciseStyle:“美国”ExerciseDate: 15 - 9月- 2025年罢工:98年邦德:[1 x1 fininstrument。FixedBond)名称:“fixed_bond_option_american”
FixedBOptionBermudan = fininstrument (“FixedBondOption”,“ExerciseDate”[datetime (2025、9、15), datetime (2025、11、15)),“罢工”(98、1000),“债券”BondInst,“OptionType”,“电话”,“ExerciseStyle”,“百慕大”,“名字”,“fixed_bond_option_bermudan”)
FixedBOptionBermudan = FixedBondOption属性:OptionType:“叫“ExerciseStyle:“百慕大”ExerciseDate:[15 - 9月- 2025年11月15 - - 2025]罢工:(98 1000)邦德:[1 x1 fininstrument。FixedBond)名称:“fixed_bond_option_bermudan”

创建ratecurve对象

创建一个ratecurve对象使用ratecurve

解决= datetime (2019、9、15);类型=“零”;ZeroTimes = [calyears ([1:10])] ';ZeroRates = [0.0055 0.0061 0.0073 0.0094 0.0119 0.0168 0.0222 0.0293 0.0307 0.0310) ';ZeroDates = + ZeroTimes定居;myRC = ratecurve (“零”、结算、ZeroDates ZeroRates)
myRC = ratecurve属性:类型:“零”组合:1基础:0日期:x1 datetime[10]利率:x1双[10]解决:15 - 9 - 2019 InterpMethod:“线性”ShortExtrapMethod:“下一个”LongExtrapMethod:“以前”

创建一个HullWhite模型对象

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

HullWhiteModel = finmodel (“HullWhite”,“α”,0.01,“σ”,0.05)
HullWhiteModel = HullWhite属性:α:0.0100σ:0.0500

创建IRTree定价的人对象

使用finpricer创建一个IRTree定价的人对象和使用ratecurve对象的“DiscountCurve”名称-值对的论点。

HWTreePricer = finpricer (“IRTree”,“模型”HullWhiteModel,“DiscountCurve”myRC,“TreeDates”ZeroDates)
HWTreePricer = HWBKTree属性:树:[1 x1 struct] TreeDates: [10 x1 datetime)模型:[1 x1 finmodel。HullWhite] DiscountCurve: [1 x1 ratecurve]
HWTreePricer.Tree
ans =结构体字段:则:[0 1 1.9973 2.9945 3.9918 4.9918 5.9891 6.9863 7.9836 8.9836]罗伯特:[15 - - - - 2019年9月15日- 2021年9月- 2020年9月15 - -…]CFlowT: {1 x10细胞}聚合氯化铝:}{1 x9细胞连接:{1 x9细胞}FwdTree: {1 x10细胞}RateTree: {1 x10细胞}

价格FixedBondOption仪器

使用价格计算这两个的价格和敏感性FixedBondOption仪器。

(价格、outPR) =价格(HWTreePricer, FixedBOptionEuro“所有”])
价格= 10.7571
outPR = priceresult属性:结果:[1 x4表]PricerData: [1 x1 struct]
outPR.Results
ans =1×4表价格看上去织女星γδ长得一样10.757 308.87 2207.3 -178.78
(价格、outPR) =价格(HWTreePricer, FixedBOptionAmerican“所有”])
价格= 19.2984
outPR = priceresult属性:结果:[1 x4表]PricerData: [1 x1 struct]
outPR.Results
ans =1×4表价格看上去织女星γδ长得一样19.298 437.32 4977.1 -459.06
(价格、outPR) =价格(HWTreePricer, FixedBOptionBermudan“所有”])
价格= 11.1241
outPR = priceresult属性:结果:[1 x4表]PricerData: [1 x1 struct]
outPR.Results
ans =1×4表价格看上去织女星γδ长得一样11.124 322.94 2243.7 -182.44

这个例子显示了价格多个工作流FixedBondOption当你使用工具HullWhite模型和一个IRTree定价方法。

创建FixedBond仪对象

使用fininstrument创建一个FixedBond仪对象作为底层的债券。

BondInst = fininstrument (“FixedBond”,“成熟”datetime (2029、9、15),“CouponRate”.021,“时间”,1“名字”,“bond_instrument”)
BondInst = FixedBond属性:CouponRate: 0.0210期:1基础:0 EndMonthRule: 1主要:100 DaycountAdjustedCashFlow: 0 BusinessDayConvention:“实际”假期:NaT IssueDate: NaT FirstCouponDate: NaT LastCouponDate: NaT StartDate可以:NaT成熟度:15 - 9 - 2029的名字:“bond_instrument”

创建FixedBondOption仪的对象

使用fininstrument创建一个FixedBondOption仪器与欧洲运动对象三个固定债券选择工具。

FixedBOptionEuro = fininstrument (“FixedBondOption”,“ExerciseDate”datetime ([2025、9、15;2025、10、15;2025、11、15]),“罢工”,98;100;102年),“债券”BondInst,“OptionType”,“电话”,“ExerciseStyle”,“欧洲”,“名字”,“fixed_bond_option_european”)
FixedBOptionEuro =3×1对象3 x1 FixedBondOption数组属性:OptionType ExerciseStyle ExerciseDate罢工债券名称

创建ratecurve对象

创建一个ratecurve对象使用ratecurve

解决= datetime (2019、9、15);类型=“零”;ZeroTimes = [calyears ([1:10])] ';ZeroRates = [0.0055 0.0061 0.0073 0.0094 0.0119 0.0168 0.0222 0.0293 0.0307 0.0310) ';ZeroDates = + ZeroTimes定居;myRC = ratecurve (“零”、结算、ZeroDates ZeroRates)
myRC = ratecurve属性:类型:“零”组合:1基础:0日期:x1 datetime[10]利率:x1双[10]解决:15 - 9 - 2019 InterpMethod:“线性”ShortExtrapMethod:“下一个”LongExtrapMethod:“以前”

创建一个HullWhite模型对象

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

HullWhiteModel = finmodel (“HullWhite”,“α”,0.01,“σ”,0.05)
HullWhiteModel = HullWhite属性:α:0.0100σ:0.0500

创建IRTree定价的人对象

使用finpricer创建一个IRTree定价的人对象和使用ratecurve对象的“DiscountCurve”名称-值对的论点。

HWTreePricer = finpricer (“IRTree”,“模型”HullWhiteModel,“DiscountCurve”myRC,“TreeDates”ZeroDates)
HWTreePricer = HWBKTree属性:树:[1 x1 struct] TreeDates: [10 x1 datetime)模型:[1 x1 finmodel。HullWhite] DiscountCurve: [1 x1 ratecurve]
HWTreePricer.Tree
ans =结构体字段:则:[0 1 1.9973 2.9945 3.9918 4.9918 5.9891 6.9863 7.9836 8.9836]罗伯特:[15 - - - - 2019年9月15日- 2021年9月- 2020年9月15 - -…]CFlowT: {1 x10细胞}聚合氯化铝:}{1 x9细胞连接:{1 x9细胞}FwdTree: {1 x10细胞}RateTree: {1 x10细胞}

价格FixedBondOption仪器

使用价格来计算的价格和敏感性FixedBondOption仪器。

(价格、outPR) =价格(HWTreePricer, FixedBOptionEuro“所有”])
价格=3×110.7571 10.5781 10.0178
outPR =3×1对象3 x1 priceresult数组属性:PricerData结果
outPR.Results
ans =1×4表价格看上去织女星γδ长得一样10.757 308.87 2207.3 -178.78
ans =1×4表价格织女星γδ交交10.578 314.43 2205.2 -177.6
ans =1×4表价格看上去织女星γδ长得一样10.018 305.41 2164.2 -172.53

这个例子显示了工作流价格FixedBondOption仪器在走FixedBond当你使用工具HullWhite模型和一个IRTree定价方法。

创建了FixedBond仪对象

使用fininstrument创建一个走FixedBond仪对象作为底层的债券。

成熟= datetime (2027、1、1);时间= 1;CDates = datetime ([2022、1、1;2027年,1,1);箱= [.022;.027];CouponRate =时间表(CDates、箱);SBond = fininstrument (“FixedBond”,“成熟”成熟,“CouponRate”CouponRate,“时间”期,“名字”,“stepped_bond_instrument”)
SBond = FixedBond属性:CouponRate: [2 x1时间表]时期:1基础:0 EndMonthRule: 1主要:100 DaycountAdjustedCashFlow: 0 BusinessDayConvention:“实际”假期:NaT IssueDate: NaT FirstCouponDate: NaT LastCouponDate: NaT StartDate可以:NaT成熟度:01 - 1月- 2027的名字:“stepped_bond_instrument”

创建FixedBondOption仪对象

使用fininstrument创建一个FixedBondOption仪器与欧洲运动对象。

FixedBOption = fininstrument (“FixedBondOption”,“ExerciseDate”datetime (2026, 1, 1),“罢工”,90,“债券”SBond,“OptionType”,“电话”,“ExerciseStyle”,“欧洲”,“名字”,“fixed_bond_option_european”)
FixedBOption = FixedBondOption属性:OptionType:“叫“ExerciseStyle:“欧洲”ExerciseDate: 01 - 2026年1月,罢工:90年邦德:[1 x1 fininstrument。FixedBond)名称:“fixed_bond_option_european”

创建ratecurve对象

创建一个ratecurve对象使用ratecurve

解决= datetime (2018、1、1);ZeroTimes = calyears (1:10)”;ZeroRates = [0.0055 0.0063 0.0071 0.0083 0.0099 0.0131 0.0178 0.0262 0.0343 0.0387) ';ZeroDates = + ZeroTimes定居;复合= 1;ZeroCurve = ratecurve (“零”、结算、ZeroDates ZeroRates,“复合”、复合);

创建HullWhite模型对象

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

VolCurve = 0.15;AlphaCurve = 0.03;HWModel = finmodel (“HullWhite”,“α”AlphaCurve,“σ”VolCurve)
HWModel = HullWhite属性:α:0.0300σ:0.1500

创建IRTree定价的人对象

使用finpricer创建一个IRTree定价的人对象和使用ratecurve对象的“DiscountCurve”名称-值对的论点。

HWTreePricer = finpricer (“IRTree”,“模型”HWModel,“DiscountCurve”ZeroCurve,“TreeDates”ZeroDates)
HWTreePricer = HWBKTree属性:树:[1 x1 struct] TreeDates: [10 x1 datetime)模型:[1 x1 finmodel。HullWhite] DiscountCurve: [1 x1 ratecurve]
HWTreePricer.Tree
ans =结构体字段:则:[0 1 2 3.0027 4.0027 5.0027 6.0027 7.0055 8.0055 9.0055]罗伯特:[01 - 1月- 2018年01 - 1月- 2019年01 - 1月- 2020年…]CFlowT: {1 x10细胞}聚合氯化铝:}{1 x9细胞连接:{1 x9细胞}FwdTree: {1 x10细胞}RateTree: {1 x10细胞}

价格FixedBondOption仪器

使用价格来计算的价格和敏感性FixedBondOption乐器。

(价格、outPR) =价格(HWTreePricer FixedBOption,“所有”)
价格= 12.2717
outPR = priceresult属性:结果:[1 x4表]PricerData: [1 x1 struct]
outPR.Results
ans =1×4表价格织女星γδ交交12.272 100.91 1438.4 -130.1

这个例子显示了工作流价格FixedBondOption仪器在使用HullWhite模型和一个IRMonteCarlo定价方法。

创建FixedBond仪对象

使用fininstrument创建一个FixedBond仪对象作为底层的债券。

BondInst = fininstrument (“FixedBond”,“成熟”datetime (2022、9、15),“CouponRate”.021,“时间”,1“名字”,“bond_instrument”)
BondInst = FixedBond属性:CouponRate: 0.0210期:1基础:0 EndMonthRule: 1主要:100 DaycountAdjustedCashFlow: 0 BusinessDayConvention:“实际”假期:NaT IssueDate: NaT FirstCouponDate: NaT LastCouponDate: NaT StartDate可以:NaT成熟度:15 - 9 - 2022的名字:“bond_instrument”

创建FixedBondOption仪对象

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

FixedBOptionEuro = fininstrument (“FixedBondOption”,“ExerciseDate”datetime (2020 3 15),“罢工”,98,“债券”BondInst,“OptionType”,“电话”,“ExerciseStyle”,“欧洲”,“名字”,“fixed_bond_option_european”)
FixedBOptionEuro = FixedBondOption属性:OptionType:“叫“ExerciseStyle:“欧洲”ExerciseDate: 15 - 3月- 2020年罢工:98年邦德:[1 x1 fininstrument。FixedBond)名称:“fixed_bond_option_european”

创建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) ';ZeroDates = + ZeroTimes定居;myRC = ratecurve (“零”、结算、ZeroDates ZeroRates)
myRC = ratecurve属性:类型:“零”组合:1基础:0日期:x1 datetime[10]利率:x1双[10]解决:01 - 1月- 2019 InterpMethod:“线性”ShortExtrapMethod:“下一个”LongExtrapMethod:“以前”

创建IRMonteCarlo定价的人对象

使用finpricer创建一个IRMonteCarlo定价的人对象和使用ratecurve对象的“DiscountCurve”名称-值对的论点。

outPricer = finpricer (“IRMonteCarlo”,“模型”HullWhiteModel,“DiscountCurve”myRC,“SimulationDates”datetime (2019 3 15) + calmonths (0:6:48)”)
outPricer = HWMonteCarlo属性:NumTrials: 1000 RandomNumbers: [] DiscountCurve: [1 x1 ratecurve] SimulationDates:[15 - 3月- 2019 15 - 2020年9月- 2019年3月15 - -…)模式(1 x1 finmodel.HullWhite):

价格FixedBondOption仪器

使用价格来计算的价格和敏感性FixedBondOption乐器。

(价格、outPR) =价格(outPricer, FixedBOptionEuro“所有”])
价格= 24.0750
outPR = priceresult属性:结果:[1 x4表]PricerData: [1 x1 struct]
outPR.Results
ans =1×4表价格三角洲伽马织女星______交24.075 -166.42 1456.2 20.329

更多关于

全部展开

提示

在创建一个FixedBondOption仪对象,您可以使用setExercisePolicy改变大小的选择。例如,如果您有以下工具:

FixedBOption = fininstrument (“FixedBondOption”、“ExerciseDate”, datetime(2022、9、15),“罢工”,98年,“债券”,BondInst,“OptionType”、“电话”,“ExerciseStyle”,“欧洲”)
修改FixedBondOption通过改变仪器的大小ExerciseStyle“欧洲”“美国”,使用setExercisePolicy:
FixedBOption = setExercisePolicy (FixedBOption [datetime (2021、1、1) datetime(2022年,1,1)],100年,“美国”)

版本历史

介绍了R2020a