主要内容

OptionEmbeddedFixedBond

OptionEmbeddedFixedBond仪对象

描述

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

  1. 使用fininstrument创建一个OptionEmbeddedFixedBond仪对象嵌入固定债券工具的一个或多个选项。

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

  3. 选择定价方法。

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

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

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

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

创建

描述

例子

OptionEmbeddedFixedBondObj= fininstrument (InstrumentType”,CouponRate“couponrate_value,”成熟“maturity_date,”CallSchedule”,call_schedule_value)创建一个OptionEmbeddedFixedBond对象的一个或多个选项嵌入固定债券工具通过指定InstrumentType并设置属性所需的参数名称-值对CouponRate,成熟,CallSchedule

OptionEmbeddedFixedBond工具支持一个香草与内嵌万博1manbetx期权债券,与内嵌期权走附息债券,与内嵌期权的摊还的债券。有关更多信息,请参见更多关于

例子

OptionEmbeddedFixedBondObj= fininstrument (InstrumentType”,CouponRate“couponrate_value,”成熟“maturity_date,”PutSchedule”,put_schedule_value)创建一个OptionEmbeddedFixedBond对象的一个或多个选项嵌入固定债券工具通过指定InstrumentType并设置属性所需的参数名称-值对CouponRate,成熟,PutSchedule

例子

OptionEmbeddedFixedBondObj= fininstrument (___,名称,值)设置可选属性除了需要使用额外的名称-值对参数在前面的语法。例如,OptionEmbeddedFixedBondObj = fininstrument (“OptionEmbeddedFixedBond”、“CouponRate”, 0.034,“成熟”,datetime(2019, 30),“时期”,2,‘基础’,1,“校长”,100年,“CallSchedule”计划,“CallExerciseStyle”、“美国”、“名称”、“optionembeddedfixedbond_instrument”)创建一个OptionEmbeddedFixedBond仪器和一个美国运动和时间表的电话。您可以指定多个参数名称-值对。

输入参数

全部展开

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

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

名称-值参数

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

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

例子:OptionEmbeddedFixedBondObj = fininstrument (“OptionEmbeddedFixedBond”、“CouponRate”, 0.034,“成熟”,datetime(2019, 30),“时期”,2,‘基础’,1,“校长”,100年,“CallSchedule”计划,“CallExerciseStyle”、“美国”、“名称”、“optionembeddedfixedbond_instrument”)

要求OptionEmbeddedFixedBond名称-值对的观点

全部展开

票面利率为OptionEmbeddedFixedBond,指定为逗号分隔两人组成的“CouponRate”作为标量十进制或一个NINST——- - - - - -1向量的小数年率或时间表,第一列是日期和第二列率有关。日期显示最后一天的票面利率是有效的。

请注意

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

数据类型:|时间表

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

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

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

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

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

请注意

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

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

数据类型:时间表

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

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

请注意

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

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

数据类型:时间表

可选OptionEmbeddedFixedBond名称-值对的观点

全部展开

每年支付的频率,指定为逗号分隔组成的“时间”和一个标量整数或一个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数值向量或一个时间表。

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

请注意

如果你创建一个或多个OptionEmbeddedFixedBond仪器和使用时间表,时间表规范适用于所有的OptionEmbeddedFixedBond仪器。主要不接受一个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有的代码,OptionEmbeddedFixedBond还接受连续日期数据作为输入,但不推荐。

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

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

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

数据类型:逻辑

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

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

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

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

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

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

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

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

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

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

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

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

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

如果你使用日期字符向量或字符串,必须识别的格式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仪器

例子

全部折叠

这个例子展示了工作流价格的美国人,欧洲人,和百慕大的运动风格三可调用的OptionEmbeddedFixedBond当你使用工具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,“复合”、复合);

创建OptionEmbeddedFixedBond仪的对象

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

成熟= datetime (2024、1、1);%选择嵌入式债券(百慕大可赎回债券)罢工= [100;100);ExerciseDates = [datetime(2020年,1,1);datetime(2024年,1,1)];时间= 1;CallSchedule =时间表(ExerciseDates,罢工,“VariableNames”,{“罢工计划”});CallableBondBermudan = fininstrument (“OptionEmbeddedFixedBond”,“成熟”成熟,“CouponRate”,0.025,“时间”期,“CallSchedule”CallSchedule,“CallExerciseStyle”,“百慕大”)
CallableBondBermudan = OptionEmbeddedFixedBond属性:CouponRate: 0.0250期: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 (“OptionEmbeddedFixedBond”,“成熟”成熟,“CouponRate”,0.025,“时间”期,“CallSchedule”CallSchedule,“CallExerciseStyle”,“美国”)
CallableBondAmerican = OptionEmbeddedFixedBond属性:CouponRate: 0.0250期: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 (“OptionEmbeddedFixedBond”,“成熟”成熟,“CouponRate”,0.025,“时间”期,“CallSchedule”CallSchedule)
CallableBondEuropean = OptionEmbeddedFixedBond属性:CouponRate: 0.0250期: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“所有”])
价格= 103.2729
outPR = priceresult属性:结果:[1 x4表]PricerData: [1 x1 struct]
outPR.Results
ans =1×4表价格三角洲伽马织女星______累积______ 103.27 -290.33 1375.9 -148.28
(价格、outPR) =价格(HWTreePricer, CallableBondAmerican“所有”])
价格= 100
outPR = priceresult属性:结果:[1 x4表]PricerData: [1 x1 struct]
outPR.Results
ans =1×4表价格三角洲伽马织女星_____ _____ _____ _____ 100 0 0 0
(价格、outPR) =价格(HWTreePricer, CallableBondEuropean“所有”])
价格= 107.7023
outPR = priceresult属性:结果:[1 x4表]PricerData: [1 x1 struct]
outPR.Results
ans =1×4表价格三角洲伽马织女星_________ ______作出107.7 -602.56 4086.4 0

这个例子展示了多个调用工作流价格OptionEmbeddedFixedBond当你使用工具与百慕大的运动风格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,“复合”、复合);

创建OptionEmbeddedFixedBond仪的对象

使用fininstrument创建一个OptionEmbeddedFixedBond嵌入式仪器固定债券工具对象三个选项。

成熟= datetime ([2025、1、1;2026、1、1;2027年,1,1);%选择嵌入式债券(百慕大可赎回债券)罢工= [100;200;300);ExerciseDates = datetime ([2022、1、1;2023、1、1;2024年,1,1);CallSchedule =时间表(ExerciseDates,罢工,“VariableNames”,{“罢工计划”});时间= 1;CallableBondBermudan = fininstrument (“OptionEmbeddedFixedBond”,“成熟”成熟,“CouponRate”,0.025,“时间”期,“CallSchedule”CallSchedule,“CallExerciseStyle”,“百慕大”)
CallableBondBermudan =3×1对象3 x1 OptionEmbeddedFixedBond数组属性:CouponRate时期基础EndMonthRule主要DaycountAdjustedCashFlow BusinessDayConvention假期IssueDate FirstCouponDate LastCouponDate StartDate可以成熟CallDates上CallSchedule PutSchedule CallExerciseStyle PutExerciseStyle名字

当你创建多个OptionEmbeddedFixedBond仪器和使用一个时间表CallSchedule,时间表规范适用于所有的OptionEmbeddedFixedBond仪器。的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×1104.5001 102.0649 97.6664
outPR =3×1对象3 x1 priceresult数组属性:PricerData结果
outPR.Results
ans =1×4表价格三角洲伽马织女星_____累积______ 104.5 -584.34 4134.2 -166.73
ans =1×4表价格三角洲伽马织女星______累积______ 102.06 -621.72 4850.3 -201.07
ans =1×4表价格三角洲伽马织女星______累积______ 97.666 -743.76 6857.7 -84.933

这个例子显示了价格一个工作流OptionEmbeddedFixedBondOption仪器在使用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:“以前”

创建OptionEmbeddedFixedBondOption仪对象

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

%选择嵌入式债券(欧洲可赎回债券)成熟= datetime (2022、9、15);罢工= 100;ExerciseDates = datetime (2024、1、1);CallSchedule =时间表(datetime (2020、3、15), 50);时间= 1;CallableBondEuropean = fininstrument (“OptionEmbeddedFixedBond”,“成熟”成熟,“CouponRate”,0.025,“时间”期,“CallSchedule”CallSchedule)
CallableBondEuropean = OptionEmbeddedFixedBond属性:CouponRate: 0.0250期: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 - 2020年9月- 2019年3月15 - -…)模式(1 x1 finmodel.HullWhite):

价格OptionEmbeddedFixedBondOption仪器

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

(价格、outPR) =价格(outPricer, CallableBondEuropean“所有”])
价格= 58.1882
outPR = priceresult属性:结果:[1 x4表]PricerData: [1 x1 struct]
outPR.Results
ans =1×4表价格看上去三角洲伽马织女星_________得一样_____ 58.188 -125.43 356.04 18.24

这个例子显示了调用工作流价格OptionEmbeddedFixedBond仪器和获得锻炼当你使用一个概率BlackKarasinski模型和一个IRTree定价方法。

创建ratecurve对象

创建一个ratecurve对象使用ratecurve

解决= datetime (2018、1、1);ZeroTimes = calyears (1:4)”;ZeroRates = (0.035;0.042147;0.047345;0.052707);ZeroDates = + ZeroTimes定居;复合= 1;ZeroCurve = ratecurve (“零”、结算、ZeroDates ZeroRates,“复合”复合)
ZeroCurve = ratecurve属性:类型:“零”组合:1基础:0日期:[4 x1 datetime): x1双[4]解决:01 - 1月- 2018 InterpMethod:“线性”ShortExtrapMethod:“下一个”LongExtrapMethod:“以前”

创建OptionEmbeddedFixedBond仪对象

使用fininstrument创建一个OptionEmbeddedFixedBond仪对象与美国的运动风格。

CouponRate = 0.0425;罢工= [95;98);ExerciseDates = [datetime(2021年,1,1);datetime(2022年,1,1)];成熟= datetime (2022、1、1);时间= 1;CallSchedule =时间表(ExerciseDates,罢工,“VariableNames”,{“罢工计划”});CallableBond = fininstrument (“OptionEmbeddedFixedBond”,“成熟”成熟,“CouponRate”CouponRate,“时间”期,“CallSchedule”CallSchedule,“CallExerciseStyle”,“美国”,“名字”,“MyCallableBond”)
CallableBond = OptionEmbeddedFixedBond属性:CouponRate: 0.0425期:1基础:0 EndMonthRule: 1主要:100 DaycountAdjustedCashFlow: 0 BusinessDayConvention:“实际”假期:NaT IssueDate: NaT FirstCouponDate: NaT LastCouponDate: NaT StartDate可以:NaT成熟度:01 - 1月- 2022 CallDates: [2 x1 datetime)上:[0 x1 datetime] CallSchedule: [2 x1时间表]PutSchedule: [0 x0时间表]CallExerciseStyle:“美国”PutExerciseStyle: [0 x0字符串)名称:“MyCallableBond”

创建BlackKarasinski模型对象

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

VolCurve = 0.01;AlphaCurve = 0.1;BKModel = finmodel (“BlackKarasinski”,“α”AlphaCurve,“σ”VolCurve)
BKModel = BlackKarasinski属性:α:0.1000σ:0.0100

创建IRTree定价的人对象

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

BKTreePricer = finpricer (“IRTree”,“模型”BKModel,“DiscountCurve”ZeroCurve,“TreeDates”ZeroDates)
BKTreePricer = HWBKTree属性:树:[1 x1 struct] TreeDates: [4 x1 datetime)模型:[1 x1 finmodel。BlackKarasinski] DiscountCurve: [1 x1 ratecurve]

价格OptionEmbeddedFixedBond仪器

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

价格(价格、PriceResults) = (BKTreePricer CallableBond)
价格= 92.5235
PriceResults = priceresult属性:结果:[1 x1表]PricerData: [1 x1 struct]

检查输出PriceResults.PricerData.PriceTree.ExTree数组,其中包含运动指标。单元阵列中1显示一个选择和执行0表明一个高官们的选择。

PriceResults.PricerData.PriceTree.ExTree {5}
ans =1 x7逻辑阵列1 1 1 1 1 1 1

不行使期权。

PriceResults.PricerData.PriceTree.ExTree {4}
ans =1 x7逻辑阵列0 0 0 0 0 0 0

仪器在所有节点执行。

PriceResults.PricerData.PriceTree.ExTree {3}
ans =1 x5逻辑阵列0 0 0 0 0

不行使期权。

PriceResults.PricerData.PriceTree.ExTree {2}
ans =1 x3逻辑阵列0 0 0

不行使期权。

视图从根节点到每个节点的概率PriceResults.PricerData.PriceTree.ProbTree

PriceResults.PricerData.PriceTree.ProbTree {2}
ans =1×30.1667 0.6667 0.1667
PriceResults.PricerData.PriceTree.ProbTree {3}
ans =1×50.0203 0.2206 0.5183 0.2206 0.0203
PriceResults.PricerData.PriceTree.ProbTree {4}
ans =1×70.0018 0.0395 0.2370 0.4433 0.2370 0.0395 0.0018
PriceResults.PricerData.PriceTree.ProbTree {5}
ans =1×70.0018 0.0395 0.2370 0.4433 0.2370 0.0395 0.0018

查看运动概率使用PriceResults.PricerData.PriceTree.ExProbTreePriceResults.PricerData.PriceTree.ExProbTree包含运动的概率。单元阵列中的每个元素是一个数组,其中包含0没有运动,到达该节点的概率或运动发生的地方。

PriceResults.PricerData.PriceTree.ExProbTree {5}
ans =1×70.0018 0.0395 0.2370 0.4433 0.2370 0.0395 0.0018
PriceResults.PricerData.PriceTree.ExProbTree {4}
ans =1×70 0 0 0 0 0 0
PriceResults.PricerData.PriceTree.ExProbTree {3}
ans =1×50 0 0 0 0
PriceResults.PricerData.PriceTree.ExProbTree {2}
ans =1×30 0 0

查看运动概率每棵树使用水平PriceResults.PricerData.PriceTree.ExProbsByTreeLevelPriceResults.PricerData.PriceTree.ExProbsByTreeLevel是一个数组的每一行把运动对一个给定概率选择在每棵树的观察时间。

PriceResults.PricerData.PriceTree.ExProbsByTreeLevel
ans =1×50 0 0 0 1.0000

更多关于

全部展开

提示

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

版本历史

介绍了R2020a

全部展开