FloatBondOption
仪对象
创建并定价FloatBondOption
一个或多个浮动债券期权工具的工具对象,使用此工作流:
使用fininstrument
要创建FloatBondOption
浮动债券期权工具的工具对象。
使用finmodel
要指定HullWhite
,BlackKarasinski
,BraceGatarekMusiela
,SABRBraceGatarekMusiela
,或LinearGaussian2F
的模型FloatBondOption
仪对象。
选择一种定价方法。
当使用HullWhite
或BlackKarasinski
模型,使用finpricer
要指定IRTree
一个或多个定价方法FloatBondOption
仪器。
当使用HullWhite
,BraceGatarekMusiela
,SABRBraceGatarekMusiela
,或LinearGaussian2F
模型,使用finpricer
要指定IRMonteCarlo
一个或多个定价方法FloatBondOption
仪器。
有关此工作流的详细信息,请参见开始使用基于对象的金融工具定价框架的工作流程.
有关现有型号和定价方法的更多信息FloatBondOption
仪器,看选择仪器,模型和价格.
创建一个FloatBondOptionObj
= fininstrument (InstrumentType
”,罢工
“strike_value,”ExerciseDate
“exercise_date,”债券
”,bond_obj)FloatBond
对象为一个或多个浮动债券期权工具指定InstrumentType
并设置属性使用所需的名称-值对参数罢工
,ExerciseDate
,债券
.
设置可选属性在前面的语法中,除了必需的参数外,还使用其他的名-值对参数。例如,FloatBondOptionObj
= fininstrument (___,名称,值
)FloatBondOptionObj = fininstrument("FloatBondOption",'Strike',100,'ExerciseDate',datetime(2019,1,30),'Bond',bond_obj,'OptionType','put','ExerciseStyle',"american",'Name',"float_bond_option")
创建一个FloatBondOption
一种100度的乐器和美式练习。可以指定多个名称-值对参数。
InstrumentType
- - - - - -仪器类型“FloatBondOption”
|值为的字符串数组“FloatBondOption”
|带值的字符向量“FloatBondOption”
|值为的字符向量的单元格数组“FloatBondOption”
仪器类型,指定为值为的字符串“FloatBondOption”
,值为的字符向量“FloatBondOption”
,一个NINST
——- - - - - -1
值为的字符串数组“FloatBondOption”
,或NINST
——- - - - - -1
值为的字符向量的单元格数组“FloatBondOption”
.
数据类型:字符
|细胞
|字符串
FloatBondOption
名称-值对参数
指定必需的和可选的逗号分隔的对名称,值
参数。的名字
参数名称和价值
对应的值。的名字
必须出现在引号内。您可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家
.
FloatBondOptionObj = fininstrument("FloatBondOption",'Strike',100,'ExerciseDate',datetime(2019,1,30),'Bond',bond_obj,'OptionType','put','ExerciseStyle',"american",'Name',"float_bond_option")
FloatBondOption
名称-值对参数
罢工
- - - - - -期权执行值选项行值,指定为逗号分隔的对,由“罢工”
标量非负值或者NINST
——- - - - - -1
非负值的向量。
数据类型:双
ExerciseDate
- - - - - -期权行权日期期权行权日期,由逗号分隔的对组成“ExerciseDate”
和标量序列日期数字,日期字符向量,日期字符串,日期时间或NINST
——- - - - - -1
日期时间向量、序列号、日期字符向量的单元格数组或日期字符串数组。
至于欧洲选项,只有一个ExerciseDate
在期权到期日。
百慕大的选项,有一个1
——- - - - - -NSTRIKES
运动日期向量。
对于美式期权,期权可以在ValuationDate
的股票树和单上市ExerciseDate
.
如果使用日期字符向量或日期字符串,格式必须由datetime
因为成熟
属性存储为日期时间。
数据类型:双
|细胞
|字符
|字符串
|datetime
债券
- - - - - -标的浮动债券FloatBond
对象|向量的FloatBond
对象标的浮动债券,指定为逗号分隔的一对,由“债券”
还有a的名字FloatBond
对象或NINST
——- - - - - -1
向量的FloatBond
对象。
数据类型:对象
FloatBondOption
名称-值对参数
OptionType
- - - - - -期权的定义“电话”
(默认)|带值的字符串“电话”
或“把”
|值为的字符串数组“电话”
或“把”
|带值的字符向量“电话”
或“把”
|值为的字符向量的单元格数组“电话”
或“把”
选项的定义,指定为逗号分隔的对,由“OptionType”
标量字符向量或字符串或NINST
——- - - - - -1
单元格数组的字符向量或字符串数组使用“电话”
或“把”
.
数据类型:字符
|细胞
|字符串
ExerciseStyle
- - - - - -选择类型“欧洲”
(默认)|带值的字符串“欧洲”
,“美国”
,或“百慕大”
|值为的字符串数组“欧洲”
,“美国”
,或“百慕大”
|带值的字符向量“欧洲”
,“美国”
,或“百慕大”
|值为的字符向量的单元格数组“欧洲”
,“美国”
,或“百慕大”
选项类型,指定为逗号分隔的对,由“ExerciseStyle”
标量字符向量或字符串或NINST
——- - - - - -1
字符向量或字符串数组的单元格数组。
数据类型:字符串
|细胞
|字符
的名字
- - - - - -仪器自定义名称”“
(默认)|字符串|字符串数组|特征向量|字符向量的单元格数组一个或多个仪器的用户定义名称,指定为逗号分隔的对,由“名字”
标量字符串或字符向量或NINST
——- - - - - -1
字符向量或字符串数组的单元格数组。
数据类型:字符
|细胞
|字符串
InstrumentType
- - - - - -仪器类型“FloatBondOption”
|值为的字符串数组“FloatBondOption”
仪器类型,返回为标量字符串或NINST
——- - - - - -1
字符串数组。
数据类型:字符串
罢工
- - - - - -期权执行值选项执行值,返回为标量非负值或NINST
——- - - - - -1
非负值的向量。
数据类型:双
ExerciseDate
- - - - - -期权行权日期选项执行日期,返回为标量日期时间或NINST
——- - - - - -1
日期时间向量。
数据类型:datetime
OptionType
- - - - - -期权的定义“电话”
(默认)|带值的字符串“电话”
或“把”
|值为的字符串数组“电话”
或“把”
选项的定义,返回为标量字符串或NINST
——- - - - - -1
字符串数组。
数据类型:字符串
ExerciseStyle
- - - - - -选择类型“欧洲”
(默认)|带值的字符串“欧洲”
,“美国”
,或“百慕大”
|值为的字符串数组“欧洲”
,“美国”
,或“百慕大”
选项类型,返回为标量字符串或NINST
——- - - - - -1
字符串数组。
数据类型:字符串
债券
- - - - - -标的浮动债券FloatBond
对象|向量的FloatBond
对象标的浮动债券,作为标量返回FloatBond
对象或NINST
——- - - - - -1
向量的FloatBond
对象。
数据类型:对象
的名字
- - - - - -仪器自定义名称”“
(默认)|字符串|字符串数组仪器的用户定义名称,返回为标量字符串或NINST
——- - - - - -1
字符串数组。
数据类型:字符串
setExercisePolicy |
制定锻炼策略FixedBondOption ,FloatBondOption ,或香草 仪器 |
这个例子展示了为一个对象定价的工作流FloatBondOption
仪器当你使用HullWhite
模型和IRTree
定价方法。
创建FloatBond
仪对象
使用fininstrument
要创建FloatBond
仪器对象作为基础债券。
金融工具(“FloatBond”,“成熟”datetime(2030、9、15),“传播”, 0.021,“名字”,“bond_instrument”)
BondInst = FloatBond with properties: Spread: 0.0210 ProjectionCurve: [0x0 rate ecurve] ResetOffset: 0 Reset: 2 Basis: 0 EndMonthRule: 1 Principal: 100 daycountadjuststedcashflow: 0 BusinessDayConvention: "actual" LatestFloatingRate: NaN Holidays: NaT IssueDate: NaT FirstCouponDate: NaT LastCouponDate: NaT StartDate: NaT Maturity: 15-Sep-2030 Name: "bond_instrument"
创建FloatBondOption
仪的对象
使用fininstrument
创建三个可调用对象FloatBondOption
仪器对象与欧洲,美国和百慕大演习。
FloatBOptionEuro = fininstrument(“FloatBondOption”,“ExerciseDate”datetime(2029、9、15),“罢工”, 98,“债券”BondInst,“OptionType”,“电话”,“ExerciseStyle”,“欧洲”,“名字”,“float_bond_option_european”)
FloatBOptionEuro = FloatBondOption属性:OptionType: "call" ExerciseStyle: "european" ExerciseDate: 15-Sep-2029罢工:98债券:[1x1 fininstrument。FloatBond]名称:"float_bond_option_europe "
FloatBOptionAmerican = fininstrument(“FloatBondOption”,“ExerciseDate”datetime(2029、9、15),“罢工”, 98,“债券”BondInst,“OptionType”,“电话”,“ExerciseStyle”,“美国”,“名字”,“float_bond_option_american”)
FloatBOptionAmerican = FloatBondOption属性:OptionType: "call" exercisstyle: "american" ExerciseDate: 15-Sep-2029 Strike: 98 Bond: [1x1 fininstrument.]FloatBond]名称:"float_bond_option_american"
floatboption百慕大= fininstrument(“FloatBondOption”,“ExerciseDate”,[datetime(2025,9,15), datetime(2029,9,15)],“罢工”[98100],“债券”BondInst,“OptionType”,“电话”,“ExerciseStyle”,“百慕大”,“名字”,“float_bond_option_bermudan”)
floatboptionbermuda = FloatBondOption与属性:OptionType: "call" ExerciseStyle: "bermuda " ExerciseDate: [15-Sep-2025 15-Sep-2029]罢工:[98 100]债券:[1x1 fininstrument。FloatBond]名称:" float_bond_option_百慕大"
创建ratecurve
对象
创建一个ratecurve
对象使用ratecurve
.
set = datetime(204,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 = Settle + ZeroTimes;比率曲线(“零”、结算、ZeroDates ZeroRates)
myRC =带有属性的利率曲线:类型:“零”复合:-1基础:0日期:[10x1 datetime]利率:[10x1 double]结算:15-Sep-2024 InterpMethod:“线性”ShortExtrapMethod:“下一个”LongExtrapMethod:“上一个”
创建一个HullWhite
模型对象
使用finmodel
要创建HullWhite
模型对象。
HullWhiteModel = finmodel(“HullWhite”,“α”, 0.01,“σ”, 0.05)
HullWhiteModel = HullWhite属性:阿尔法:0.0100西格玛:0.0500
创建IRTree
定价的人对象
使用finpricer
要创建IRTree
price对象和使用ratecurve
对象的“DiscountCurve”
名称-值对参数。
CFdates = CFdates(确定,BondInst。成熟,BondInst。重置,BondInst.Basis);hwtreeprice = finpricer(“IRTree”,“模型”HullWhiteModel,“DiscountCurve”myRC,“TreeDates”, CFdates ')
HWTreePricer = HWBKTree with properties: Tree: [1x1 struct] TreeDates: [12x1 datetime] Model: [1x1 finmodel。折扣曲线:[1x1率曲线]
HWTreePricer。树
ans =带字段的结构:tObs:[0 0.4959 1 1.4959 2 2.4959 3 3.4986 4.0027 4.4986 5.0027…]dObs: [15-Sep-2024 - 15-Mar-2025 - 15-Sep-2025…]CFlowT: {1x12 cell}探针:{1x11 cell}连接:{1x11 cell} FwdTree: {1x12 cell} RateTree: {1x12 cell}
价格FixedBondOption
仪器
使用价格
计算两者的价格和敏感度FixedBondOption
仪器。
[Price, outPR] = Price (hwtreeprice,FloatBOptionEuro,[“所有”])
价格= 3.8040
outPR = priceresult with properties:结果:[1x4表]PricerData: [1x1 struct]
outPR。结果
ans =1×4表价格织女星γδ _____ ___________ ______ _______ 3.804 - -2.6645 e-11 110.75 - -20.465
[Price, outPR] = Price (hwtreeprice,FloatBOptionAmerican,[“所有”])
价格= 14.1700
outPR = priceresult with properties:结果:[1x4表]PricerData: [1x1 struct]
outPR。结果
ans =1×4表价格织女星γδ _____ ____ ______ _______ 14.17 0 160.87 - -38.981
[Price, outPR] = Price (hwtreeprice, floatboptionbermuda,[“所有”])
价格= 12.0676
outPR = priceresult with properties:结果:[1x4表]PricerData: [1x1 struct]
outPR。结果
ans =1×4表价格织女星γδ ______ ___________ ______ _______ 12.068 - -2.8422平台以及161.55 - -39.402
这个例子展示了多重定价的工作流FloatBondOption
仪器,当你使用HullWhite
模型和IRTree
定价方法。
创建FloatBond
仪对象
使用fininstrument
要创建FloatBond
仪器对象作为基础债券。
金融工具(“FloatBond”,“成熟”datetime(2030、9、15),“传播”, 0.021,“名字”,“bond_instrument”)
BondInst = FloatBond with properties: Spread: 0.0210 ProjectionCurve: [0x0 rate ecurve] ResetOffset: 0 Reset: 2 Basis: 0 EndMonthRule: 1 Principal: 100 daycountadjuststedcashflow: 0 BusinessDayConvention: "actual" LatestFloatingRate: NaN Holidays: NaT IssueDate: NaT FirstCouponDate: NaT LastCouponDate: NaT StartDate: NaT Maturity: 15-Sep-2030 Name: "bond_instrument"
创建FloatBondOption
仪的对象
使用fininstrument
要创建FloatBondOption
欧洲对三种浮动债券期权工具的行权。
FloatBOptionEuro = fininstrument(“FloatBondOption”,“ExerciseDate”datetime([2030、9、15;2029年,09年,15;2028年,09年,15]),“罢工”, 98;99;100年),“债券”BondInst,“OptionType”,“电话”,“ExerciseStyle”,“欧洲”,“名字”,“float_bond_option_european”)
FloatBOptionEuro =3×1对象3x1 FloatBondOption数组,包含属性:OptionType ExerciseStyle ExerciseDate罢工绑定名称
创建ratecurve
对象
创建一个ratecurve
对象使用ratecurve
.
set = datetime(204,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 = Settle + ZeroTimes;比率曲线(“零”、结算、ZeroDates ZeroRates)
myRC =带有属性的利率曲线:类型:“零”复合:-1基础:0日期:[10x1 datetime]利率:[10x1 double]结算:15-Sep-2024 InterpMethod:“线性”ShortExtrapMethod:“下一个”LongExtrapMethod:“上一个”
创建一个HullWhite
模型对象
使用finmodel
要创建HullWhite
模型对象。
HullWhiteModel = finmodel(“HullWhite”,“α”, 0.01,“σ”, 0.05)
HullWhiteModel = HullWhite属性:阿尔法:0.0100西格玛:0.0500
创建IRTree
定价的人对象
使用finpricer
要创建IRTree
price对象和使用ratecurve
对象的“DiscountCurve”
名称-值对参数。
CFdates = CFdates(确定,BondInst。成熟,BondInst。重置,BondInst.Basis);hwtreeprice = finpricer(“IRTree”,“模型”HullWhiteModel,“DiscountCurve”myRC,“TreeDates”, CFdates ')
HWTreePricer = HWBKTree with properties: Tree: [1x1 struct] TreeDates: [12x1 datetime] Model: [1x1 finmodel。折扣曲线:[1x1率曲线]
HWTreePricer。树
ans =带字段的结构:tObs:[0 0.4959 1 1.4959 2 2.4959 3 3.4986 4.0027 4.4986 5.0027…]dObs: [15-Sep-2024 - 15-Mar-2025 - 15-Sep-2025…]CFlowT: {1x12 cell}探针:{1x11 cell}连接:{1x11 cell} FwdTree: {1x12 cell} RateTree: {1x12 cell}
价格FixedBondOption
仪器
使用价格
计算的价格和敏感性FixedBondOption
仪器。
[Price, outPR] = Price (hwtreeprice,FloatBOptionEuro,[“所有”])
价格=3×11.8081 2.8617 3.9097
outPR =3×1对象带有属性的3x1 priceresult数组
outPR。结果
ans =1×4表价格织女星γδ ______ __________ ______ _______ 1.8081 - 4.4409 e-12 65.153 - -10.854
ans =1×4表价格织女星γδ ______ ___________ ______ _______ 2.8617 - -1.7764 e-11 87.167 - -15.751
ans =1×4表价格织女星γδ ______ ___________ ______ _______ 3.9097 - -7.1054 e-11 108.64 - -20.493
这个例子展示了为一个对象定价的工作流FloatdBondOption
仪器在使用HullWhite
模型和IRMonteCarlo
定价方法。
创建FloatBond
仪对象
使用fininstrument
要创建FloatBond
仪器对象作为基础债券。
金融工具(“FloatBond”,“成熟”datetime(2030、9、15),“传播”, 0.021,“名字”,“bond_instrument”)
BondInst = FloatBond with properties: Spread: 0.0210 ProjectionCurve: [0x0 rate ecurve] ResetOffset: 0 Reset: 2 Basis: 0 EndMonthRule: 1 Principal: 100 daycountadjuststedcashflow: 0 BusinessDayConvention: "actual" LatestFloatingRate: NaN Holidays: NaT IssueDate: NaT FirstCouponDate: NaT LastCouponDate: NaT StartDate: NaT Maturity: 15-Sep-2030 Name: "bond_instrument"
创建FloatBondOption
仪对象
使用fininstrument
要创建FloatBondOption
仪对象。
FloatBOptionEuro = fininstrument(“FloatBondOption”,“ExerciseDate”datetime (2020 3 15),“罢工”, 98,“债券”BondInst,“OptionType”,“电话”,“ExerciseStyle”,“欧洲”,“名字”,“float_bond_option_european”)
FloatBOptionEuro = FloatBondOption属性:OptionType: "call" ExerciseStyle: "european" ExerciseDate: 15- mar2-2020罢工:98债券:[1x1 fininstrument。FloatBond]名称:"float_bond_option_europe "
创建HullWhite
模型对象
使用finmodel
要创建HullWhite
模型对象。
HullWhiteModel = finmodel(“HullWhite”,“α”, 0.32,“σ”, 0.49)
HullWhiteModel = HullWhite属性:阿尔法:0.3200西格玛:0.4900
创建ratecurve
对象
创建一个ratecurve
对象使用ratecurve
.
Settle = 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 = Settle + ZeroTimes;比率曲线(“零”、结算、ZeroDates ZeroRates)
myRC =带有属性的利率曲线:类型:“零”复合:-1基础:0日期:[10x1 datetime]利率:[10x1 double]结算:01- 01- 2019 InterpMethod:“线性”ShortExtrapMethod:“下一个”LongExtrapMethod:“上一个”
创建IRMonteCarlo
定价的人对象
使用finpricer
要创建IRMonteCarlo
price对象和使用ratecurve
对象的“DiscountCurve”
名称-值对参数。
outPricer = finpricer(“IRMonteCarlo”,“模型”HullWhiteModel,“DiscountCurve”myRC,“SimulationDates”datetime (2019 3 15) + calmonths(0:6:48)”)
outPricer = HWMonteCarlo with properties: NumTrials: 1000 RandomNumbers: [] DiscountCurve: [1x1 ratecurve] SimulationDates: [15- march -2019 15-Sep-2019 15- march -2020…型号:[1x1 finmodel。]HullWhite]
价格FloatBondOption
仪器
使用价格
来计算的价格和敏感性FloatBondOption
乐器。
[Price,outPR] = Price (outprice,FloatBOptionEuro,[“所有”])
价格= 18.2369
outPR = priceresult with properties:结果:[1x4表]PricerData: [1x1 struct]
outPR。结果
ans =1×4表价格三角洲伽马织女星 ______ _______ _____ _______ 18.237 -104.22 788.7 -13.949
在创建FloatBondOption
仪器对象,可以使用setExercisePolicy
更改选项的大小。例如,考虑以下工具:
FloatBOption = fininstrument("FloatBondOption",'ExerciseDate',datetime(2029,9,15),'Strike',98,'Bond',BondInst,'OptionType',"call",' exercisstyle ',"European")
FloatBondOption
仪器对象通过改变ExerciseStyle
从“欧洲”
来“美国”
,使用setExercisePolicy
:FloatBOption = setExercisePolicy(FloatBOption,[datetime(2021,1,1) datetime(2022,1,1)],100,'American')
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您也可以从以下列表中选择一个网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。