主要内容

FiniteDifference

创建FiniteDifference的price对象障碍DoubleBarrier,或香草仪器使用BlackScholes赫斯顿默顿,或贝茨模型

描述

创建并定价香草障碍,或DoubleBarrier具有BlackScholes赫斯顿贝茨默顿,或Dupire模型和FiniteDifference使用此工作流的定价方法:

  1. 使用fininstrument要创建障碍DoubleBarrier,或香草仪对象。

  2. 使用finmodel要指定BlackScholes的模型障碍DoubleBarrier文书或赫斯顿贝茨Dupire,或默顿的模型香草仪对象。

  3. 使用finpricer要指定FiniteDifference对象的价格障碍DoubleBarrier,或香草仪对象。

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

有关a的可用定价方法的更多信息香草障碍,或DoubleBarrier仪器,看选择仪器,模型和价格

创建

描述

例子

FiniteDifferencePricerObj= finpricer (PricerType,'模型,模型,DiscountCurve“ratecurve_obj,”SpotPrice”,spotprice_value)创建一个FiniteDifference对象PricerType并设置属性用于所需的名-值对参数模型DiscountCurve,SpotPrice

例子

FiniteDifferencePricerObj= finpricer (___名称,值设置可选属性在前面的语法中,除了必需的参数之外,还使用其他的名称-值对。例如,FiniteDifferencePricerObj = finpricer("FiniteDifference",'Model',BSModel,'DiscountCurve',ratecurve_obj,'SpotPrice',100,' dividend endvalue ',.025,' dividend endtype ',"cash")创建一个FiniteDifference定价的人对象。可以指定多个名称-值对参数。

输入参数

全部展开

价格类型,指定为值为的字符串“FiniteDifference”或者值为的字符向量“FiniteDifference”

数据类型:字符|字符串

FiniteDifference名称-值对参数

指定必需的和可选的逗号分隔的对名称,值参数。的名字参数名称和价值对应的值。的名字必须出现在引号内。您可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:FiniteDifferencePricerObj = finpricer("FiniteDifference",'Model',BSModel,'DiscountCurve',ratecurve_obj,'SpotPrice',100,' dividend endvalue ',.025,' dividend endtype ',"cash")
要求FiniteDifference名称-值对参数

全部展开

对象,指定为逗号分隔的对,由“模型”和先前创建的名称默顿贝茨,或赫斯顿使用模型对象finmodel

数据类型:对象

此属性是只读的。

ratecurve对象的现金流贴现,指定为逗号分隔的对,由“DiscountCurve”还有名字ratecurve对象。

请注意

指定单位ratecurve对象DiscountCurve.如果你用的是非平坦的ratecurve对象,软件中使用的速率ratecurve对象在成熟并假设在股权期权的整个生命周期内价值是恒定的。

数据类型:对象

标的资产的当前价格,由逗号分隔的对组成“SpotPrice”一个非负的标量数值。

数据类型:

可选FiniteDifference名称-值对参数

全部展开

股息收益率或股息时间表,由逗号分隔的对组成“DividendValue”股息收益率的标量或股息计划的时间表。

数据类型:|时间表

分隔符类型,指定为逗号分隔的对,由“DividendType”和字符向量或字符串。DividendType必须“现金”对于实际的美元股息或“连续”连续股息收益率。

请注意

当你使用障碍仪器,你必须设定好DividendType“现金”

数据类型:字符|字符串

点网格的大小为有限差分网格,指定为逗号分隔对组成“SpotGridSize”一个标量数值。

数据类型:

最高价格为价格网格边界,指定为由逗号分隔的对组成“SpotPriceMax”一个正标量。

数据类型:|

有限差分网格的方差网格的节点数,指定为由逗号分隔的对组成的“VarianceGridSize”一个标量数值。

请注意

VarianceGridSize仅当使金宝app用赫斯顿贝茨模型。

数据类型:

方差网格边界的最大方差,指定为由逗号分隔的对组成“VarianceMax”作为标量数值。

请注意

VarianceMax仅当使金宝app用赫斯顿贝茨模型。

数据类型:

有限差分网格的时间网格的节点数,指定为由逗号分隔的对组成“TimeGridSize”和一个正的标量。

数据类型:

估算隐含波动率曲面的插值方法ImpliedVolData仅供与Dupire模型,指定为逗号分隔的对,由“InterpMethod”和具有以下值之一的字符串或字符向量:

  • “线性”-线性插值

  • “makima”-修改Akima立方Hermite插值

  • 样条的-三次样条插值

  • “tpaps”-薄板平滑样条插值

请注意

“tpaps”方法使用曲线拟合工具箱中的薄板平滑样条功能。

“makima”而且样条的方法仅适用于网格化数据。对于分散的数据,使用“线性”“tpaps”方法。

有关网格化或分散数据的更多信息以及插值方法的详细信息,请参见网格化和分散的样本数据而且插值网格数据

数据类型:字符|字符串

属性

全部展开

Model,作为模型对象返回。

数据类型:对象

此属性是只读的。

ratecurve对象用于贴现现金流,返回为ratecurve对象。

数据类型:对象

标的资产的当前价格,作为非负数字标量返回。

数据类型:

股息率或股息表,作为股息率的标量或股息表的时间表返回。

数据类型:|时间表

此属性是只读的。

红利类型,作为字符串返回。的DividendType要么是“现金”对于实际的美元股息或“连续”连续股息收益率。

数据类型:字符串

网格属性,作为结构返回。

对于一个Dupire模型中,GridProperties包含以下字段:

  • SpotGridSize-有限差分网格的点网格大小,作为标量数值返回。

  • SpotPriceMax-价格网格边界的最大价格,作为正标量返回。

  • TimeGridSize-有限差分网格的时间网格的节点数,作为正数值标量返回。

  • InterpMethod-用于估计隐含波动曲面的插值方法,以字符串形式返回。

对于一个赫斯顿贝茨模型中,GridProperties包含以下字段:

  • VarianceGridSize-有限差分网格的方差网格的大小,作为标量数值返回。

  • VarianceMax-方差网格边界的最大方差,作为标量数字返回。

数据类型:结构体

对象的功能

价格 计算权益工具的价格FiniteDifference定价的人

例子

全部折叠

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

创建障碍仪对象

使用fininstrument要创建障碍仪对象。

BarrierOpt = fininstrument(“障碍”“罢工”, 105,“ExerciseDate”datetime (2019, 1, 1),“OptionType”“电话”“ExerciseStyle”“美国”“BarrierType”“做”“BarrierValue”,40,“名字”“barrier_option”
BarrierOpt =屏障与属性:OptionType: "call"打击:105 BarrierType: "do" BarrierValue: 40回扣:0 exercisstyle: "american" exercisdate: 01- january -2019名称:"barrier_option"

创建BlackScholes模型对象

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

BlackScholesModel = finmodel(“BlackScholes”“波动”, 0.30)
BlackScholesModel = BlackScholes与属性:波动性:0.3000相关性:1

创建ratecurve对象

创建一个平面ratecurve对象使用ratecurve

Settle = datetime(2018,1,1);成熟度= datetime(2023,1,1);Rate = 0.035;比率曲线(“零”解决,成熟,速度,“基础”,1)
myRC =带有属性的利率曲线:类型:“零”复合:-1基础:1日期:01-Jan-2023利率:0.0350结算:01-Jan-2018 InterpMethod:“线性”ShortExtrapMethod:“下一个”LongExtrapMethod:“前一个”

创建FiniteDifference定价的人对象

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

outPricer = finpricer(“FiniteDifference”“模型”BlackScholesModel,“DiscountCurve”myRC,“SpotPrice”, 100)
outPricer =带有属性的有限差异:DiscountCurve: [1x1 ratecurve] Model: [1x1 finmodel.]BlackScholes] SpotPrice: 100 GridProperties: [1x1 struct] DividendType: "continuous" DividendValue: 0

价格障碍仪器

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

[Price, outPR] = Price (outprice,BarrierOpt,[“所有”])
价格= 11.3230
outPR = priceresult with properties:结果:[1x7表]PricerData: [1x1 struct]
outPR。结果
ans =表1×7价格γδλθρ织女星  ______ _______ ______ ______ _______ ______ ______ 11.323 0.54126 0.0132 4.7802 -7.4408 42.766 39.627
R2020a中引入