主要内容

BlackDermanToy

创建BlackDermanToy对象的模型对象。地板上掉期期权交换FloatBondFixedBondFixedBondOptionFloatBondOptionOptionEmbeddedFixedBond,或OptionEmbeddedFloatBond仪器

描述

创建并定价地板上掉期期权交换FloatBondFixedBondFixedBondOptionFloatBondOptionOptionEmbeddedFixedBond,或OptionEmbeddedFloatBond具有BlackDermanToy使用此工作流建模:

  1. 使用fininstrument要创建地板上掉期期权交换FloatBondFixedBondFixedBondOptionFloatBondOptionOptionEmbeddedFixedBond,或OptionEmbeddedFloatBond仪对象。

  2. 使用finmodel要指定BlackDermanToy的模型对象。地板上掉期期权交换FixedBondFloatBondFixedBondOptionFloatBondOptionOptionEmbeddedFixedBond,或OptionEmbeddedFloatBond仪对象。

  3. 使用finpricer要指定IRTree定价方法地板上掉期期权交换FixedBondFloatBondFixedBondOptionOptionEmbeddedFixedBond,或OptionEmbeddedFloatBond仪对象。

有关此工作流的详细信息,请参见开始使用基于对象的金融工具定价框架的工作流程

有关a的可用定价方法的更多信息地板上掉期期权交换FixedBondFloatBondFixedBondOptionFloatBondOptionOptionEmbeddedFixedBond,或OptionEmbeddedFloatBond仪器,看选择仪器,模型和价格

创建

描述

例子

BlackDermanToyModelObj= finmodel (ModelTypeσ= sigma_value)创建一个BlackDermanToy通过指定ModelType和所需的名-值对参数σ设置属性.例如,BlackDermanToy modelobj = finmodel("BlackDermanToy",Sigma=0.34)创建一个BlackDermanToy对象的模型σ的波动

输入参数

全部展开

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

数据类型:字符|字符串

名称-值参数

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

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:BlackDermanToy modelobj = finmodel("BlackDermanToy",Sigma=0.34)

正波动率,具体为σ和标量数值或时间表。

σ接受一个时间表,其中第一列是日期,第二列是相关日期σ价值。

数据类型:|时间表

属性

全部展开

正波动率,作为标量数值或时间表返回。

数据类型:|时间表

例子

全部折叠

这个例子展示了为一个对象定价的工作流FixedBondOption仪器当你使用BlackDermanToy模型和IRTree定价方法。

创建FixedBond仪对象

使用fininstrument要创建FixedBond仪器对象作为基础债券。

金融工具(“FixedBond”成熟= datetime(2029、9、15),CouponRate = .024主要= 100 = 1,= = 1,名字“fixed_bond”
BondInst = FixedBond与属性:CouponRate: 0.0240周期:1基础:1 EndMonthRule: 1本金:100 daycountadjuststedcashflow: 0 BusinessDayConvention:“实际”假期:NaT发行日期:NaT FirstCouponDate: NaT LastCouponDate: NaT StartDate: NaT到期日期:15 sep -2029名称:“fixed_bond”

创建FixedBondOption仪对象

使用fininstrument要创建FixedBondOption仪对象。

FixedBOption = fininstrument(“FixedBondOption”ExerciseDate = datetime(2025、9、15),罢工= 80,债券= BondInst OptionType =“把”ExerciseStyle =“美国”、名称=“fixed_bond_option”
FixedBOption = FixedBondOption属性:OptionType: "put" exercisstyle: "american" exercisdate: 15-Sep-2025 Strike: 80 Bond: [1x1 fininstrument.]名称:"fixed_bond_option"

创建ratecurve对象

创建一个ratecurve对象使用ratecurve

Settle = datetime(2019,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基础= 5)
myRC =带有属性的利率曲线:类型:“零”复合:-1基础:5日期:[10x1 datetime]利率:[10x1 double]结算:15-Sep-2019 InterpMethod:“线性”ShortExtrapMethod:“下一个”LongExtrapMethod:“上一个”

创建BlackDermanToy模型对象

使用finmodel要创建BlackDermanToy模型对象。

BlackDermanToyModel = finmodel(“BlackDermanToy”,σ= 0.14)
BlackDermanToyModel = BlackDermanToy属性:西格玛:0.1400

创建IRTree定价的人对象

使用finpricer要创建IRTreeprice对象和使用ratecurve对象的“DiscountCurve”名称-值对参数。

BKTreePricer = finpricer(“IRTree”模型= BlackDermanToyModel DiscountCurve = myRC TreeDates = ZeroDates)
BKTreePricer = bdtreree属性:树:[1x1 struct] TreeDates: [10x1 datetime]模型:[1x1 finmodel。折扣曲线:[1x1率曲线]
BKTreePricer。树
ans =带字段的结构:tObs: [0 1 2 3 4 5 6 7 8 9] dObs: [15-Sep-2019 15-Sep-2020 15-Sep-2021…] FwdTree: {1x10 cell}

价格FixedBondOption仪器

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

[Price, outPR] = Price (bktreeprice,FixedBOption,“所有”
价格= 0.5153
outPR = priceresult with properties:结果:[1x4表]PricerData: [1x1 struct]
outPR。结果
ans =1×4表价格三角洲伽马织女星  _______ ______ _______ ______ 0.51526 106.21 -1973.8 15.402

版本历史

R2022b中引入

Baidu
map