主要内容

BraceGatarekMusiela

创建BraceGatarekMusiela模型对象,地板上,FixedBond,FloatBond,FloatBondOption,FixedBondOption,OptionEmbeddedFixedBond,或OptionEmbeddedFloatBond仪器

自从R2021b

描述

创建和价格,地板上,FloatBond,FloatBondOption,FixedBond,FixedBondOption,OptionEmbeddedFixedBond,或OptionEmbeddedFloatBond工具对象BraceGatarekMusiela使用此工作流模型:

  1. 使用fininstrument创建一个,地板上,FixedBond,FloatBond,FloatBondOptionFixedBondOption,OptionEmbeddedFixedBond,或OptionEmbeddedFloatBond仪对象。

  2. 使用finmodel指定一个BraceGatarekMusiela模型对象的,地板上,FixedBond,FloatBond,FloatBondOption,FixedBondOption,OptionEmbeddedFixedBond,或OptionEmbeddedFloatBond仪对象。

  3. 使用finpricer指定一个IRMonteCarlo定价的方法,地板上,FixedBond,FloatBond,FloatBondOption,FixedBondOption,OptionEmbeddedFixedBond,或OptionEmbeddedFloatBond仪对象。

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

有关可用的定价方法的更多信息,地板上,FixedBond,FloatBond,FloatBondOption,FixedBondOption,OptionEmbeddedFixedBond,或OptionEmbeddedFloatBond仪器,看选择工具、模型和定价的人

创建

描述

例子

BraceGatarekMusielaModelObj= finmodel (ModelType,波动= volatility_value,相关= correlation_value)创建一个BraceGatarekMusiela模型对象通过指定ModelType和所需的名称参数波动相关设置属性

例子

BraceGatarekMusielaModelObj= finmodel (___,名称=值)设置可选属性使用额外的名称参数除了所需的参数在前面的语法。例如,BraceGatarekMusielaModelObj = finmodel (“BraceGatarekMusiela”,波动率= VolFunc相关=相关,时间= 1)创建一个BraceGatarekMusiela模型对象。您可以指定多个名称参数。

输入参数

全部展开

模型类型,指定为一个字符串的值“BraceGatarekMusiela”或者一个特征向量的值“BraceGatarekMusiela”

数据类型:字符|字符串

名称-值参数

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

例子:BraceGatarekMusielaModelObj = finmodel (“BraceGatarekMusiela”,波动率= VolFunc相关=相关,时间= 1)

波动,指定为波动和一个(NumRates-1)———1处理单元阵列的功能。每个函数处理必须花时间作为输入并返回一个标量波动。

数据类型:|细胞

相关矩阵,指定为相关和一个(NumRates-1)——- (NumRates-1)相关矩阵。

数据类型:

可选BraceGatarekMusiela名称-值参数

全部展开

布朗的数量因素,指定为NumFactors和一个标量数值。默认值是这意味着NumFactors等于利率的数量。

数据类型:

远期利率,指定为和一个标量数值。默认值是2,这意味着远期利率是间隔0,5,1,1.5,等等。

数据类型:

属性

全部展开

波动,作为(返回NumRates-1)———1处理单元阵列的功能。

数据类型:|细胞

相关矩阵,作为(返回NumRates-1)——- (NumRates-1)相关矩阵。

数据类型:

布朗的因素,作为一个标量返回数值。

数据类型:

远期利率的时期,作为一个标量返回数值。

数据类型:

例子

全部折叠

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

创建地面仪器对象

使用fininstrument创建一个地板上仪对象。

FloorOpt = fininstrument (“地板”成熟= datetime(2022、9、15),罢工= 0.05,= 1,重置名称=“floor_option”)
FloorOpt =地板属性:罢工:0.0500成熟度:15 - 9月- 2022 ResetOffset: 0重置:1基础:0校长:100 ProjectionCurve: [0 x0 ratecurve] DaycountAdjustedCashFlow: 0 BusinessDayConvention:“实际”假期:NaT的名字:“floor_option”

创建BraceGatarekMusiela模型对象

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

BGMVolFunc = @ (t) ((1) * (2) t +)。* exp (* t)——(3) + (4);BGMVolParams = [。3 -。02。7 .14]; numRates = 20; VolFunc(1:numRates-1) = {@(t) BGMVolFunc(BGMVolParams,t)}; Beta = .08; CorrFunc = @(i,j,Beta) exp(-Beta*abs(i-j)); Correlation = CorrFunc(meshgrid(1:numRates-1)',meshgrid(1:numRates-1),Beta); BGM = finmodel(“BraceGatarekMusiela”波动率= VolFunc =相关性,相关性期= 1);

创建ratecurve对象

创建一个ratecurve对象使用ratecurve

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

创建IRMonteCarlo定价的人对象

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

outPricer = finpricer (“IRMonteCarlo”模型= BGM DiscountCurve = myRC SimulationDates = ZeroDates)
outPricer = BGMMonteCarlo属性:NumTrials: 1000 RandomNumbers: [] DiscountCurve: [1 x1 ratecurve] SimulationDates:[01 - 7月- 2019年01 - 1月- 2020年01 - 1月- 2021年01 - 1月- 2022年01 - 1月- 2023年01 - 1月- 2024年01 - 1月- 2026年01 - 1月- 2029年01 - 1月- 2039]模型:[1 x1 finmodel.BraceGatarekMusiela]

价格地板上仪器

使用价格来计算的价格和敏感性地板上乐器。

(价格、outPR) =价格(outPricer, FloorOpt“所有”])
价格= 14.7975
outPR = priceresult属性:结果:[1 x3表]PricerData: [1 x1 struct]
outPR.Results
ans =1×3表价格看上去三角洲伽马_________得一样14.797 -398.43 1399.5

更多关于

全部展开

版本历史

介绍了R2021b