主要内容

OptionEmbeddedFloatBond

OptionEmbeddedFloatBond仪对象

自从R2020a

描述

创建和价格OptionEmbeddedFloatBond仪器对象为一个或多个选项嵌入浮动债券工具使用此工作流:

  1. 使用fininstrument创建一个OptionEmbeddedFloatBond仪器对象为一个或多个选项嵌入浮动债券工具。

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

  3. 选择定价方法。

    • 当使用一个HullWhite,BlackKarasinski,或BlackDermanToy模型,使用finpricer指定一个IRTree一个或多个的定价方法OptionEmbeddedFloatBond仪器。

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

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

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

创建

描述

例子

OptionEmbeddedFloatBondObj= fininstrument (InstrumentType”,传播“spread_value,”成熟“maturity_date,”CallSchedule”,call_schedule_value)创建一个OptionEmbeddedFloatBond对象的一个或多个嵌入式浮动债券工具通过指定选项InstrumentType和所需的名称-值对参数传播,成熟,CallSchedule设置属性使用所需的参数名称-值对。

OptionEmbeddedFloatBond万博1manbetx支持纯债券与嵌入选项,走息债券以实现嵌入式期权和债券与嵌入选项。

例子

OptionEmbeddedFloatBondObj= fininstrument (InstrumentType”,传播“spread_value,”成熟“maturity_date,”PutSchedule”,put_schedule_value)创建一个OptionEmbeddedFloatBond对象的一个或多个嵌入式浮动债券工具通过指定选项InstrumentType和所需的名称-值对参数传播,成熟,PutSchedule设置属性使用所需的参数名称-值对。

例子

OptionEmbeddedFloatBondObj= fininstrument (___,名称,值)设置可选属性除了需要使用额外的名称-值对参数在前面的语法。例如,OptionEmbeddedFloatBondObj = fininstrument (“OptionEmbeddedFloatBond”、“传播”,0.01,“成熟”,datetime(2019, 30),“时期”,4,“基础”,5,“校长”,1000年,“FirstCouponDate”, datetime (2016, 30),“EndMonthRule”, 1,“CallSchedule”,时间表,“CallExerciseStyle”、“美国”、“ProjectionCurve”, ratecurve_obj,“名字”,“OptionEmbeddedFloatBond”)。您可以指定多个名称-值对。

输入参数

全部展开

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

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

名称-值参数

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

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

例子:OptionEmbeddedFloatBondObj = fininstrument (“OptionEmbeddedFloatBond”、“传播”,0.01,“成熟”,datetime(2019, 30),“时期”,4,“基础”,5,“校长”,1000年,“FirstCouponDate”, datetime (2016, 30),“EndMonthRule”, 1,“CallSchedule”,时间表,“CallExerciseStyle”、“美国”、“ProjectionCurve”, ratecurve_obj,“名字”,“OptionEmbeddedFloatBond”)

要求OptionEmbeddedFloatBond名称-值对的观点

全部展开

数量的参考利率基点,指定为逗号分隔组成的“传播”和一个标量非负数字或一个NINST——- - - - - -1向量的非负数字。

数据类型:

到期日,指定为逗号分隔组成的“成熟”和一个标量或一个NINST——- - - - - -1使用datetime向量数组,字符串数组,或日期特征向量。

支持现万博1manbetx有的代码,OptionEmbeddedFloatBond还接受连续日期数据作为输入,但不推荐。

调用时间表,指定为逗号分隔组成的“CallSchedule”和时间表的日期和罢工。

如果你使用一个日期字符串向量或日期的日期在这个时间表,必须识别的格式datetime因为CallSchedule属性存储为一个datetime。

请注意

OptionEmbeddedFloatBond仪器支持要么万博1manbetxCallScheduleCallExerciseStylePutSchedulePutExerciseStyle,但不能两者兼得。

如果你创建一个或多个OptionEmbeddedFloatBond仪器和使用时间表,时间表规范适用于所有的OptionEmbeddedFloatBond仪器。CallSchedule不接受一个NINST——- - - - - -1单元阵列的时间表作为输入。

数据类型:时间表

把时间表,指定为逗号分隔组成的“PutSchedule”和时间表的日期和罢工。

如果你使用一个日期字符串向量或日期在这个时间表日期,必须识别的格式datetime因为PutSchedule属性存储为一个datetime。

请注意

OptionEmbeddedFloatBond仪器支持要么万博1manbetxCallScheduleCallExerciseStylePutSchedulePutExerciseStyle,但不能两者兼得。

如果你创建一个或多个OptionEmbeddedFloatBond仪器和使用时间表,时间表规范适用于所有的OptionEmbeddedFloatBond仪器。PutSchedule不接受一个NINST——- - - - - -1单元阵列的时间表作为输入。

数据类型:时间表

可选OptionEmbeddedFloatBond名称-值对的观点

全部展开

每年支付的频率,指定为逗号分隔组成的“重置”和一个标量整数或一个NINST——- - - - - -1向量的整数。值重置是:1,2,3,4,6,12

数据类型:

看涨期权的运动风格,指定为逗号分隔组成的“CallExerciseStyle”和一个标量字符串或字符或一个向量NINST——- - - - - -1单元阵列特征向量数组或字符串。

请注意

CallSchedule是一个时间表的日期和罢工。如果你不指定一个CallExerciseStyle,然后根据CallSchedule规范,一个默认值CallExerciseStyle分配如下:

  • 如果有一个锻炼的日期CallSchedule,那么CallExerciseStyle是一个“欧洲”

  • 如果有两个日期的锻炼CallSchedule,那么CallExerciseStyle是一个“美国”开始日期和成熟。

  • 如果有两个以上的运动的日期CallSchedule,那么CallExerciseStyle是一个“百慕大”

如果你定义一个CallExerciseStyle这是不符合你所指定的CallSchedule,您就会收到一个错误消息。

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

看跌期权的运动风格,指定为逗号分隔组成的“PutExerciseStyle”和一个标量字符串或字符或一个向量NINST——- - - - - -1单元阵列特征向量数组或字符串。

请注意

PutSchedule是一个时间表的日期和罢工。如果你不指定一个PutExerciseStyle,然后根据PutSchedule规范,一个默认值PutExerciseStyle分配如下:

  • 如果有一个锻炼的日期PutSchedule,那么PutExerciseStyle是一个“欧洲”

  • 如果有两个日期的锻炼PutSchedule,那么PutExerciseStyle是一个“美国”开始日期和成熟。

  • 如果有两个以上的运动的日期PutSchedule,那么PutExerciseStyle是一个“百慕大”

如果你定义一个PutExerciseStyle这是不符合你所指定的PutSchedule,您就会收到一个错误消息。

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

天计算基础上,指定为逗号分隔组成的“基础”和标量整数或一个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 -实际/实际(国际)

  • 9 -实际/ 360(国际)

  • 实际/ 10 - 365(国际)

  • 11 - 30/360E(国际)

  • 实际/ 12 - 365 (ISDA)

  • 13 -总线/ 252

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

数据类型:

名义本金或主体价值计划,指定为逗号分隔组成的“校长”和一个标量数值或者一个NINST——- - - - - -1数值向量或一个时间表。

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

请注意

如果你创建一个或多个OptionEmbeddedFloatBond仪器和使用时间表,时间表规范适用于所有的OptionEmbeddedFloatBond仪器。主要不接受一个NINST——- - - - - -1单元阵列的时间表作为输入。

数据类型:|时间表

国旗日计数公约表明现金流是否调整,指定为逗号分隔组成的“DaycountAdjustedCashFlow”和一个标量逻辑或一个NINST——- - - - - -1向量的值的逻辑值真正的

数据类型:逻辑

工作日约定指定为逗号分隔组成的“BusinessDayConvention”和一个标量字符串或字符或一个向量NINST——- - - - - -1单元阵列特征向量数组或字符串。选择工作日约定确定非商业的天是如何处理的。被定义为周末+其他非商业的天,企业不开放(例如,法定假日)。值:

  • “实际”-非商业的天实际上是忽视了。现金流,落在非业务天认为是分布的实际日期。

  • “关注”——现金流,落在一个非商业的天是假定为分布在以下营业日。

  • “modifiedfollow”——现金流,落在一个非商业的天是假定为分布在以下营业日。然而,如果以下营业日在另一个月,采用前一营业日。

  • “以前”——现金流,落在一个非商业的天是假定为分布在前一个营业日。

  • “modifiedprevious”——现金流,落在一个非商业的天是假定为分布在前一个营业日。然而如果前一营业日在另一个月,采用以下营业日。

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

假期用于计算工作日,指定为逗号分隔组成的“假期”和日期使用一个NINST——- - - - - -1向量的datetime数组,字符串数组,或日期特征向量。例如:

H =假期(datetime(今天),datetime (2025、12、15));OptionEmbeddedFixedBondObj = fininstrument (“OptionEmbeddedFixedBond”、“CouponRate”, 0.34,“成熟”,datetime (2025、12、15),…“CallSchedule”,时间表,“CallExerciseStyle”、“美国”、“假日”,H)

支持现万博1manbetx有的代码,OptionEmbeddedFloatBond还接受连续日期数据作为输入,但不推荐。

月底规则标志生成日期成熟是一个月的月底日期30或更少天,指定为逗号分隔两人组成的吗“EndMonthRule”和一个标量逻辑或一个NINST——- - - - - -1向量的逻辑值的值真正的

  • 如果你设置EndMonthRule,软件忽略了规则,这意味着一个付款日期总是相同的数值日。

  • 如果你设置EndMonthRule真正的软件设置规则,这意味着实际付款日期总是最后的一天。

数据类型:逻辑

债券发行日期,指定为逗号分隔组成的“IssueDate”和一个标量或一个NINST——- - - - - -1使用datetime向量数组,字符串数组,或日期特征向量。

支持现万博1manbetx有的代码,OptionEmbeddedFloatBond还接受连续日期数据作为输入,但不推荐。

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

不规则首先优惠券日期,指定为逗号分隔组成的“FirstCouponDate”和一个标量或一个NINST——- - - - - -1使用datetime向量数组,字符串数组,或日期特征向量。

支持现万博1manbetx有的代码,OptionEmbeddedFloatBond还接受连续日期数据作为输入,但不推荐。

FirstCouponDateLastCouponDate都是指定的,FirstCouponDate优先支付在确定结构。如果你不指定FirstCouponDate、现金流支付日期决定从其他输入。

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

不规则的最后优惠日期,指定为逗号分隔组成的“LastCouponDate”和一个标量或一个NINST——- - - - - -1使用datetime向量数组,字符串数组,或日期特征向量。

支持现万博1manbetx有的代码,OptionEmbeddedFloatBond还接受连续日期数据作为输入,但不推荐。

如果您指定LastCouponDate但不是FirstCouponDate,LastCouponDate确定债券的票面利率结构。债券的票面利率结构被截断LastCouponDate的,不管在哪里摔倒,是成熟之后只债券的现金流。如果你不指定LastCouponDate、现金流支付日期决定从其他输入。

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

开始支付日期,指定为逗号分隔组成的StartDate可以的和一个标量或一个NINST——- - - - - -1使用datetime向量数组,字符串数组,或日期特征向量。

支持现万博1manbetx有的代码,OptionEmbeddedFloatBond还接受连续日期数据作为输入,但不推荐。

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

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

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

属性

全部展开

数量的参考利率基点,作为一个标量返回非负数字或一个NINST——- - - - - -1向量的非负数值。

数据类型:

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

数据类型:datetime

返回调用时间表,时间表。

数据类型:细胞|datetime

把时间表,作为一个时间表返回。

数据类型:细胞|datetime

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

数据类型:

天计算基础上,作为一个标量返回整数或一个NINST——- - - - - -1向量的整数。

数据类型:

名义本金或主体价值,作为标量数值或返回NINST——- - - - - -1数值向量或一个时间表。

数据类型:时间表|

标志指示是否现金流数公约调整的天,作为标量逻辑或返回NINST——- - - - - -1向量的值的逻辑值真正的

数据类型:逻辑

业务一天约定,作为一个字符串或一个返回NINST——- - - - - -1字符串数组。

数据类型:字符串

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

数据类型:datetime

月底规则标志生成日期成熟是一个月的月底日期30或更少的日子里,作为一个标量返回逻辑或一个NINST——- - - - - -1逻辑值的向量。

数据类型:逻辑

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

数据类型:datetime

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

数据类型:datetime

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

数据类型:datetime

开工日期支付,作为一个标量datetime或返回NINST——- - - - - -1向量的日期时间。

数据类型:datetime

这个属性是只读的。

看涨期权的运动风格,作为一个字符串或一个返回NINST——- - - - - -1字符串数组的值“欧洲”,“美国”,或“百慕大”

数据类型:字符串

这个属性是只读的。

看跌期权的运动风格,作为一个字符串或一个返回NINST——- - - - - -1字符串数组的值“欧洲”,“美国”,或“百慕大”

数据类型:字符串

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

数据类型:字符串

对象的功能

setCallExercisePolicy 设置运动政策呼吁OptionEmbeddedFixedBond,OptionEmbeddedFloatBond,或ConvertibleBond仪器
setPutExercisePolicy 把锻炼政策OptionEmbeddedFixedBond,OptionEmbeddedFloatBond,或ConvertibleBond仪器

例子

全部折叠

这个例子展示了工作流价格的美国人,欧洲人,和百慕大的运动风格三可调用的OptionEmbeddedFloatBond当你使用工具HullWhite模型和一个IRTree定价方法。

创建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) ';ZeroDates = + ZeroTimes定居;复合= 1;ZeroCurve = ratecurve (“零”、结算、ZeroDates ZeroRates,“复合”、复合);

创建OptionEmbeddedFloatBond仪的对象

使用fininstrument创建三个OptionEmbeddedFloatBond仪对象与不同的运动风格。

成熟= datetime (2024、1、1);%选择嵌入式浮动债券(百慕大可赎回债券)罢工= [100;100);ExerciseDates = [datetime(2020年,1,1);datetime(2024年,1,1)];重置= 1;CallSchedule =时间表(ExerciseDates,罢工,“VariableNames”,{“罢工计划”});CallableBondBermudan = fininstrument (“OptionEmbeddedFloatBond”,“成熟”成熟,“传播”,0.025,“重置”重置,“CallSchedule”CallSchedule,“CallExerciseStyle”,“百慕大”)
CallableBondBermudan = OptionEmbeddedFloatBond属性:传播:0.0250 ProjectionCurve: [0 x0 ratecurve] ResetOffset: 0重置:1基础:0 EndMonthRule: 1主要:100 DaycountAdjustedCashFlow: 0 BusinessDayConvention:“实际”假期:NaT IssueDate: NaT FirstCouponDate: NaT LastCouponDate: NaT StartDate可以:NaT成熟度:01 - 1月- 2024 CallDates: [2 x1 datetime)上:[0 x1 datetime] CallSchedule: [2 x1时间表]PutSchedule: [0 x0时间表]CallExerciseStyle:“百慕大”PutExerciseStyle: [0 x0字符串)名称:"
%选择嵌入式浮动债券(美国可赎回债券)罢工= 100;ExerciseDates = datetime (2024、1、1);CallSchedule =时间表(ExerciseDates,罢工,“VariableNames”,{“罢工计划”});重置= 1;CallableBondAmerican = fininstrument (“OptionEmbeddedFloatBond”,“成熟”成熟,“传播”,0.025,“重置”重置,“CallSchedule”CallSchedule,“CallExerciseStyle”,“美国”)
CallableBondAmerican = OptionEmbeddedFloatBond属性:传播:0.0250 ProjectionCurve: [0 x0 ratecurve] ResetOffset: 0重置:1基础:0 EndMonthRule: 1主要:100 DaycountAdjustedCashFlow: 0 BusinessDayConvention:“实际”假期:NaT IssueDate: NaT FirstCouponDate: NaT LastCouponDate: NaT StartDate可以:NaT成熟度:01 - 1月- 2024 CallDates: 01 - 1月- 2024上:[0 x1 datetime] CallSchedule: [1 x1时间表]PutSchedule: [0 x0时间表]CallExerciseStyle:“美国”PutExerciseStyle: [0 x0字符串)名称:"
%选择嵌入式浮动债券(欧洲可赎回债券)罢工= 100;ExerciseDates = datetime (2024、1、1);CallSchedule =时间表(ExerciseDates,罢工,“VariableNames”,{“罢工计划”});重置= 1;CallableBondEuropean = fininstrument (“OptionEmbeddedFloatBond”,“成熟”成熟,“传播”,0.025,“重置”重置,“CallSchedule”CallSchedule)
CallableBondEuropean = OptionEmbeddedFloatBond属性:传播:0.0250 ProjectionCurve: [0 x0 ratecurve] ResetOffset: 0重置:1基础:0 EndMonthRule: 1主要:100 DaycountAdjustedCashFlow: 0 BusinessDayConvention:“实际”假期:NaT IssueDate: NaT FirstCouponDate: NaT LastCouponDate: NaT StartDate可以:NaT成熟度:01 - 1月- 2024 CallDates: 01 - 1月- 2024上:[0 x1 datetime] CallSchedule: [1 x1时间表]PutSchedule: [0 x0时间表]CallExerciseStyle:“欧洲”PutExerciseStyle: [0 x0字符串)名称:"

创建HullWhite模型对象

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

VolCurve = 0.01;AlphaCurve = 0.1;HWModel = finmodel (“HullWhite”,“α”AlphaCurve,“σ”,VolCurve);

创建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]

价格OptionEmbeddedFixedBond仪器

使用价格三个计算价格和敏感性OptionEmbeddedFixedBond仪器。

(价格、outPR) =价格(HWTreePricer, CallableBondBermudan“所有”])
价格= 104.9598
outPR = priceresult属性:结果:[1 x4表]PricerData: [1 x1 struct]
outPR.Results
ans =1×4表价格看上去三角洲伽马织女星_________得一样__ 104.96 -7.3926 19.597 0
(价格、outPR) =价格(HWTreePricer, CallableBondAmerican“所有”])
价格= 100
outPR = priceresult属性:结果:[1 x4表]PricerData: [1 x1 struct]
outPR.Results
ans =1×4表价格三角洲伽马织女星_____ _____ _____ _____ 100 0 0 0
(价格、outPR) =价格(HWTreePricer, CallableBondEuropean“所有”])
价格= 114.5571
outPR = priceresult属性:结果:[1 x4表]PricerData: [1 x1 struct]
outPR.Results
ans =1×4表价格看上去三角洲伽马织女星_________得一样___________ 114.56 -50.006 262.58 -2.8422平台以及

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

创建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:“以前”

创建OptionEmbeddedFloatBondOption仪对象

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

%选择嵌入式浮动债券(欧洲可赎回债券)成熟= datetime (2022、9、15);罢工= 100;ExerciseDates = datetime (2024、1、1);CallSchedule =时间表(datetime (2020、3、15), 50);重置= 1;CallableBondEuropean = fininstrument (“OptionEmbeddedFloatBond”,“成熟”成熟,“传播”,0.025,“重置”重置,“CallSchedule”CallSchedule)
CallableBondEuropean = OptionEmbeddedFloatBond属性:传播:0.0250 ProjectionCurve: [0 x0 ratecurve] ResetOffset: 0重置:1基础:0 EndMonthRule: 1主要:100 DaycountAdjustedCashFlow: 0 BusinessDayConvention:“实际”假期:NaT IssueDate: NaT FirstCouponDate: NaT LastCouponDate: NaT StartDate可以:NaT成熟度:15 - 9 - 2022 CallDates: 15 - 3月- 2020上:[0 x1 datetime] CallSchedule: [1 x1时间表]PutSchedule: [0 x0时间表]CallExerciseStyle:“欧洲”PutExerciseStyle: [0 x0字符串)名称:"

创建HullWhite模型对象

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

HullWhiteModel = finmodel (“HullWhite”,“α”,0.32,“σ”,0.49)
HullWhiteModel = HullWhite属性:α:0.3200σ:0.4900

创建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 - 9月- 2019年3月- 2020年9月15 - 15 - 15 - 2020 - 3月- 2021年15 - 9月- 2021年3月- 2022年9月15 - 15 - 15 - 3 - 2023 - 2022)模型:[1 x1 finmodel.HullWhite]

价格OptionEmbeddedFloatBondOption仪器

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

(价格、outPR) =价格(outPricer, CallableBondEuropean“所有”])
价格= 51.3788
outPR = priceresult属性:结果:[1 x4表]PricerData: [1 x1 struct]
outPR.Results
ans =1×4表价格三角洲伽马织女星交_________ 51.379 61.634 -81.051 -7.0508

这个例子显示了价格多个工作流OptionEmbeddedFloatBond当你使用工具与百慕大的运动风格HullWhite模型和一个IRTree定价方法。

创建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) ';ZeroDates = + ZeroTimes定居;复合= 1;ZeroCurve = ratecurve (“零”、结算、ZeroDates ZeroRates,“复合”、复合);

创建OptionEmbeddedFloatBond仪的对象

使用fininstrument创建一个OptionEmbeddedFloatBond仪器对象三个选择嵌入浮动债券工具Bermudan运动风格。

成熟= datetime ([2025、1、1;2026、1、1;2027年,1,1);%选择嵌入式浮动债券(百慕大可赎回债券)罢工= [101;102;103);ExerciseDates = datetime ([2022、1、1;2023、1、1;2024年,1,1);CallSchedule =时间表(ExerciseDates,罢工,“VariableNames”,{“罢工计划”});重置= 1;CallableBondBermudan = fininstrument (“OptionEmbeddedFloatBond”,“成熟”成熟,“传播”,(0.001;0.0015;0.002),“重置”重置,“CallSchedule”CallSchedule,“CallExerciseStyle”,“百慕大”)
CallableBondBermudan =3×1对象3 x1 OptionEmbeddedFloatBond数组属性:传播ProjectionCurve ResetOffset重置基础EndMonthRule主要DaycountAdjustedCashFlow BusinessDayConvention假期IssueDate FirstCouponDate LastCouponDate StartDate可以成熟CallDates上CallSchedule PutSchedule CallExerciseStyle PutExerciseStyle名字

当你创建多个OptionEmbeddedFloatBond仪器和使用一个时间表CallSchedule,时间表规范适用于所有的OptionEmbeddedFloatBond仪器。的CallSchedule不接受一个输入参数NINST——- - - - - -1单元阵列的时间表作为输入。


                     

创建HullWhite模型对象

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

VolCurve = 0.01;AlphaCurve = 0.1;HWModel = finmodel (“HullWhite”,“α”AlphaCurve,“σ”,VolCurve);

创建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]

价格OptionEmbeddedFixedBond仪器

使用价格三个计算价格和敏感性OptionEmbeddedFixedBond仪器。

(价格、outPR) =价格(HWTreePricer CallableBondBermudan,“所有”)
价格=3×1100.6713 101.1327 101.6643
outPR =3×1对象3 x1 priceresult数组属性:PricerData结果
outPR.Results
ans =1×4表价格三角洲伽马织女星______和_____ ___________ 100.67 -2.6133 15.33 -4.2633平台以及
ans =1×4表价格看上去三角洲伽马织女星_________得一样___________ 101.13 -4.9053 31.676 -5.6843平台以及
ans =1×4表价格看上去三角洲伽马织女星_________得一样101.66 -7.8748 55.171 -0.066246上面

更多关于

全部展开

提示

在创建一个OptionEmbeddedFixedBond对象,您可以修改CallScheduleCallExerciseStyle使用setCallExercisePolicy。或者,您可以修改PutSchedulePutExerciseStyle值使用setPutExercisePolicy

版本历史

介绍了R2020a

全部展开