主要内容

BraceGatarekMusiela

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

描述

创建和价格,地板上,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”

数据类型:字符|字符串

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 - 01 - 1月- 2020年7月- 2019年01 - 1月- 2021…)模式(1 x1 finmodel.BraceGatarekMusiela):

价格地板上仪器

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

(价格、outPR) =价格(outPricer, FloorOpt“所有”])
价格= 14.7882
outPR = priceresult属性:结果:[1 x3表]PricerData: [1 x1 struct]
outPR.Results
ans =1×3表价格看上去δ射线长得一样14.788 -400.4 1280.7

更多关于

全部展开

介绍了R2021b