主要内容

贝茨

创建贝茨模型对象香草,亚洲,障碍,DoubleBarrier,Lookback,PartialLookback,触摸,DoubleTouch,Cliquet,或二进制仪器

自从R2020a

描述

创建和价格香草,亚洲,障碍,DoubleBarrier,Lookback,PartialLookback,触摸,DoubleTouch,Cliquet,或二进制工具对象贝茨使用此工作流模型:

  1. 使用fininstrument创建一个香草,障碍,Lookback,PartialLookback,亚洲,DoubleBarrier,Cliquet,二进制,触摸,或DoubleTouch仪对象。

  2. 使用finmodel指定一个贝茨模型对象的香草,亚洲,障碍,DoubleBarrier,Lookback,PartialLookback,触摸,DoubleTouch,Cliquet,或二进制仪对象。

  3. 使用finpricer指定一个FiniteDifference,NumericalIntegration,或FFT定价方法香草仪对象。

    使用finpricer指定一个AssetMonteCarlo定价方法香草,亚洲,障碍,DoubleBarrier,Lookback,PartialLookback,触摸,DoubleTouch,Cliquet,或二进制仪对象。

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

有关可用的定价方法的更多信息香草,亚洲,障碍,DoubleBarrier,Lookback,PartialLookback,触摸,DoubleTouch,或二进制仪器,看选择工具、模型和定价的人

创建

描述

例子

BatesObj= finmodel (ModelType”,“V0_value,”ThetaV“thetav_value,”卡巴“kappa_value,”SigmaV“sigmav_value,”RhoSV“rhosv_value,”MeanJ“meanj_value,”JumpVol“jumpvol_value,”JumpFreq”,jumpfreq_value)创建一个贝茨通过指定对象ModelType和所需的名称-值对参数,ThetaV,卡巴,SigmaV,RhoSV,MeanJ,JumpVol,JumpFreq。所需的参数名称-值对集合属性。例如,BatesObj = finmodel(“贝茨”,“半”,0.032,“ThetaV”, 0.1,“卡巴”,0.003,“SigmaV”, 0.2,“RhoSV”, 0.9,“MeanJ”, 0.11,“JumpVol”, 0, JumpFreq, 0.02)创建一个贝茨模型对象。

输入参数

全部展开

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

数据类型:字符|字符串

名称-值参数

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

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

例子:贝茨= finmodel(“贝茨”,“半”,0.032,“ThetaV”, 0.1,“卡巴”,0.003,“SigmaV”, 0.2,“RhoSV”, 0.9,“MeanJ”, 0.11,“JumpVol”, 0, JumpFreq, 0.02)

标的资产的初始方差,指定为逗号分隔组成的“半”和一个标量数值。

数据类型:

长期基础资产的方差,指定为逗号分隔组成的“ThetaV”和一个标量数值。

数据类型:

修正平均速度为基础资产,指定为逗号分隔组成的“卡巴”和一个标量数值。

数据类型:

标的资产的方差波动,指定为逗号分隔组成的“SigmaV”和一个标量数值。

数据类型:

标的资产的维纳过程之间的相关性及其方差,指定为逗号分隔组成的“RhoSV”和一个标量数值。

数据类型:

的均值随机跳比例大小(J),指定为逗号分隔组成的“MeanJ”和一个标量十进制值日志(1 +J)是正态分布的意思是(日志(1 +MeanJ)-0.5 *JumpVol^ 2)和标准差JumpVol

数据类型:

标准偏差的日志(1 +J),J是随机跳比例大小,指定为逗号分隔两人组成的吗“JumpVol”和一个标量十进制值。

数据类型:

年度泊松跳跃过程的频率,指定为逗号分隔组成的“JumpFreq”和一个标量数值。

数据类型:

属性

全部展开

标的资产的初始方差,作为一个标量返回数值。

数据类型:

长期基础资产的方差,作为一个标量返回数值。

数据类型:

修正平均速度为基础资产,作为一个标量返回数值。

数据类型:

波动的基础资产的方差,作为一个标量返回数值。

数据类型:

标的资产的维纳过程之间的相关性及其方差,作为一个标量返回数值。

数据类型:

的均值随机跳比例大小(J),作为一个标量十进制值返回。

数据类型:

标准偏差的日志(1 +J),J是随机跳比例大小,作为一个标量十进制值返回。

数据类型:

年度频率泊松跳跃过程,作为一个标量返回数值。

数据类型:

例子

全部折叠

这个例子显示了工作流价格香草当你使用工具贝茨模型和NumericalIntegration定价方法。

创建香草仪对象

使用fininstrument创建一个香草仪对象。

VanillaOpt = fininstrument (“香草”,“ExerciseDate”datetime (2022、9、15),“罢工”,105,“OptionType”,“把”,“ExerciseStyle”,“欧洲”,“名字”,“vanilla_option”)
VanillaOpt =香草与属性:OptionType:“把”ExerciseStyle:“欧洲”ExerciseDate: 15 - 9月- 2022年罢工:105姓名:“vanilla_option”

创建贝茨模型对象

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

BatesModel = finmodel (“贝茨”,“半”,0.032,“ThetaV”,0.1,“卡巴”,0.003,“SigmaV”,0.2,“RhoSV”,0.9,“MeanJ”,0.11,“JumpVol”,0。“JumpFreq”,0.02)
BatesModel =贝茨的属性:V0: 0.0320 ThetaV: 0.1000 k: 0.0030 SigmaV: 0.2000 RhoSV: 0.9000 MeanJ: 0.1100 JumpVol: 0.0230 JumpFreq: 0.0200

创建ratecurve对象

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

解决= datetime (2018、9、15);成熟= datetime (2023、9、15);率= 0.035;myRC = ratecurve (“零”解决,成熟,速度,“基础”,12)
myRC = ratecurve属性:类型:“零”组合:1基础:12日期:15 - 9 - 2023利率:0.0350解决:15 - 9 - 2018 InterpMethod:“线性”ShortExtrapMethod:“下一个”LongExtrapMethod:“以前”

创建NumericalIntegration定价的人对象

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

outPricer = finpricer (“numericalintegration”,“DiscountCurve”myRC,“模型”BatesModel,“SpotPrice”,100)
outPricer = NumericalIntegration属性:模型:[1 x1 finmodel。贝茨] DiscountCurve: [1x1 ratecurve] SpotPrice: 100 DividendType: "continuous" DividendValue: 0 AbsTol: 1.0000e-10 RelTol: 1.0000e-10 IntegrationRange: [1.0000e-09 Inf] CharacteristicFcn: @characteristicFcnBates Framework: "heston1993" VolRiskPremium: 0 LittleTrap: 1

价格香草仪器

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

(价格、outPR) =价格(outPricer, VanillaOpt“所有”])
价格= 6.4007
outPR = priceresult属性:结果:[1 x7表]PricerData: []
outPR.Results
ans =表1×7价格γδθρ织女星VegaLT ______月______累积_____交6.4007 -0.53541 0.02006 1.106 -239.77 94.257 1.3059

这个例子显示了fixed-strike工作流价格亚洲当你使用工具贝茨模型和一个AssetMonteCarlo定价方法。

创建亚洲仪对象

使用fininstrument创建一个亚洲仪对象。

AsianOpt = fininstrument (“亚洲”,“ExerciseDate”datetime (2022、9、15),“罢工”,100,“OptionType”,“把”,“名字”,“asian_option”)
AsianOpt =亚洲的属性:OptionType:“把”罢工:100 AverageType:“算术”AveragePrice: 0 AverageStartDate: NaT ExerciseStyle:“欧洲”ExerciseDate: 15 - 9 - 2022的名字:“asian_option”

创建贝茨模型对象

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

BatesModel = finmodel (“贝茨”,“半”,0.032,“ThetaV”,0.1,“卡巴”,0.003,“SigmaV”,0.02,“RhoSV”,0.9,“MeanJ”,0.11,“JumpVol”,0。“JumpFreq”,0.02)
BatesModel =贝茨的属性:V0: 0.0320 ThetaV: 0.1000 k: 0.0030 SigmaV: 0.0200 RhoSV: 0.9000 MeanJ: 0.1100 JumpVol: 0.0230 JumpFreq: 0.0200

创建ratecurve对象

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

解决= datetime (2018、9、15);成熟= datetime (2023、9、15);率= 0.035;myRC = ratecurve (“零”解决,成熟,速度,“基础”,12)
myRC = ratecurve属性:类型:“零”组合:1基础:12日期:15 - 9 - 2023利率:0.0350解决:15 - 9 - 2018 InterpMethod:“线性”ShortExtrapMethod:“下一个”LongExtrapMethod:“以前”

创建AssetMonteCarlo定价的人对象

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

outPricer = finpricer (“AssetMonteCarlo”,“DiscountCurve”myRC,“模型”BatesModel,“SpotPrice”,80,“simulationDates”datetime (2022、9、15))
outPricer = BatesMonteCarlo属性:DiscountCurve: [1 x1 ratecurve] SpotPrice: 80 SimulationDates: 15 - 9 - 2022 NumTrials: 1000 RandomNumbers:[]模型:[1 x1 finmodel。贝茨]DividendType:“连续”DividendValue: 0

价格亚洲仪器

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

(价格、outPR) =价格(outPricer, AsianOpt“所有”])
价格= 14.5650
outPR = priceresult属性:结果:[1×8表]PricerData: [1 x1 struct]
outPR.Results
ans =表1×8价格γδλρθ织女星看上去VegaLT说累积_________得一样14.565 -0.72501 0.015172 - -3.9822 -174.38 - 0.80043 26.545 - 0.25296

版本历史

介绍了R2020a