主要内容

障碍

障碍仪对象

描述

创建并定价障碍一个或多个Barrier仪器对象使用此工作流:

  1. 使用fininstrument要创建障碍一个或多个屏障仪器的仪器对象。

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

  3. 选择一种定价方法。

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

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

创建

描述

例子

BarrierOpt= fininstrument (InstrumentType,'罢工“strike_value,”ExerciseDate“exercise_date,”BarrierValue”,barrier_value)创建一个障碍一个或多个Barrier仪器对象InstrumentType并设置属性用于所需的名-值对参数罢工ExerciseDate,BarrierValue

例子

BarrierOpt= fininstrument (___名称,值设置可选属性在前面的语法中,除了必需的参数之外,还使用其他的名称-值对。例如,BarrierOpt = fininstrument("Barrier",'Strike',100,'ExerciseDate',datetime(2019,1,30),'BarrierValue',110,'OptionType',"put",' exercisstyle ',"European",'BarrierType',"DO",'Name',"barrier_option")创建一个障碍欧洲行权的看跌期权。可以指定多个名称-值对参数。

输入参数

全部展开

仪器类型,指定为值为的字符串“障碍”,值为的字符向量“障碍”,一个NINST——- - - - - -1带值的字符串数组“障碍”,或NINST——- - - - - -1值为的字符向量的单元格数组“障碍”

数据类型:字符|字符串|细胞

名称-值参数

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

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

例子:BarrierOpt = fininstrument("Barrier",'Strike',100,'ExerciseDate',datetime(2019,1,30),'BarrierValue',110,'OptionType',"put",' exercisstyle ',"European",'BarrierType',"DO",'Name',"barrier_option")

要求障碍名称-值对参数

全部展开

选项行值,指定为逗号分隔的对,由“罢工”标量非负值或者NINST——- - - - - -1非负值的向量。

数据类型:

期权行权日期,由逗号分隔的对组成“ExerciseDate”一个标量或者anNINST——- - - - - -1向量,使用日期时间数组、字符串数组或日期字符向量。

请注意

至于欧洲选项,只有一个ExerciseDate在期权到期日。

要支持现有代码,障碍也接受序列号作为输入,但不建议使用。

如果使用日期字符向量或字符串,格式必须由datetime因为ExerciseDate属性存储为日期时间。

屏障级别,指定为由逗号分隔的对组成“BarrierLevel”一个标量数字或者NINST——- - - - - -1数值向量。

数据类型:

可选障碍名称-值对参数

全部展开

选项类型,指定为逗号分隔的对,由“OptionType”标量字符向量或字符串或NINST——- - - - - -1字符向量或字符串数组的单元格数组。

数据类型:字符|细胞|字符串

选项练习样式,指定为由逗号分隔的对组成“ExerciseStyle”标量字符串或字符向量或NINST——- - - - - -1字符向量或字符串数组的单元格数组。

请注意

对于一个障碍选项时,BlackScholes只支持价格“欧洲”运动和FiniteDifference价格支持“美国”“欧洲”锻炼。

数据类型:字符串|字符|细胞

屏障选项类型,指定为由逗号分隔的对组成“BarrierType”标量字符串或字符向量或NINST——- - - - - -1字符向量的单元格数组或具有以下值之一的字符串数组:

  • “用户界面”-向上敲门

    当标的资产的价格超过障碍水平时,该期权生效。如果标的资产在期权存续期内超过了障碍水平,期权持有人有权利,但没有义务,以执行价格买入或卖出标的证券(看涨或看跌)。

  • “UO”-向上淘汰

    该期权赋予期权持有人权利,但没有义务,以执行价格买入或卖出(看涨或看跌)标的证券,只要标的资产在期权有效期内不高于障碍水平。当基础证券的价格超过障碍水平时,该期权终止。如果标的资产的现货价格达到或超过带有“上涨-卖出”期权的障碍水平,就会支付回扣。

  • “迪”-向下敲入

    该期权在标的股票价格跌破障碍水平时生效。如果标的证券在期权有效期内低于障碍水平,期权持有人有权利,但没有义务,以执行价格买入或卖出标的证券(看涨或看跌)。对于进场期权,如果标的现货价格在期权有效期内没有达到障碍水平,就会支付回扣。请注意障碍仪器使用FiniteDifference价格不支持美国敲入障碍选项。

  • “做”-向下拆卸

    该期权赋予期权持有人权利,但没有义务,以执行价格购买或出售(看涨或看跌)标的资产,只要标的资产在期权有效期内不低于障碍水平。当基础证券的价格低于障碍水平时,该期权终止。如果期权到期时失去价值,期权持有人将获得一笔回扣。

选项 障碍类型 跨越障碍的收益 未跨越障碍的收益
打或放 了淘汰赛 一文不值 标准看涨或看跌
打或放 下降敲入 打或放 一文不值
打或放 了淘汰赛 一文不值 标准看涨或看跌
打或放 了敲入 标准看涨或看跌 一文不值

数据类型:字符|细胞|字符串

返利值,指定为逗号分隔的对,由“回扣”一个标量数字或者NINST——- - - - - -1数值向量。

  • 对于敲入选项,退税到期时支付。

  • 要获得最佳选择,请参阅退税当支付时BarrierValue是达到了。

数据类型:

用户定义的仪器名称,指定为逗号分隔的对,由“名字”标量字符串或字符向量或NINST——- - - - - -1字符向量或字符串数组的单元格数组。

数据类型:字符|细胞|字符串

属性

全部展开

选项执行值,返回为标量非负值或NINST——- - - - - -1非负值的向量。

数据类型:

选项执行日期,返回为日期时间或NINST——- - - - - -1日期时间向量。

数据类型:datetime

选项类型,返回为标量字符串或NINST——- - - - - -1值为的字符串数组“电话”“把”

数据类型:字符串

选项练习样式,返回为标量字符串或NINST——- - - - - -1值为的字符串数组“欧洲”“美国”

数据类型:字符串

屏障选项类型,返回为标量字符串或NINST——- - - - - -1值为的字符串数组“用户界面”“UO”“迪”,或“做”

数据类型:字符串

屏障级别,返回为标量数字或NINST——- - - - - -1数值向量。

数据类型:

返回值,作为标量数字或NINST——- - - - - -1数值向量。

数据类型:

用户定义的仪器名称,以字符串或NINST——- - - - - -1字符串数组。

数据类型:字符串

例子

全部折叠

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

创建障碍仪对象

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

BarrierOpt = fininstrument(“障碍”“罢工”45岁的“ExerciseDate”datetime (2019, 1, 1),“OptionType”“电话”“ExerciseStyle”“美国”“BarrierType”“做”“BarrierValue”现年40岁的“名字”“barrier_option”
BarrierOpt =屏障与属性:OptionType: "call"打击:45 BarrierType: "do" BarrierValue: 40回扣:0锻练风格:"american"锻练日期: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”, 50)
outPricer =带有属性的有限差异:DiscountCurve: [1x1 ratecurve] Model: [1x1 finmodel.]BlackScholes]SpotPrice: 50 GridProperties: [1x1 struct] DividendType: "continuous" DividendValue: 0

价格障碍仪器

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

[Price, outPR] = Price (outprice,BarrierOpt,[“所有”])
价格= 8.5014
outPR = priceresult with properties:结果:[1x7表]PricerData: [1x1 struct]
outPR。结果
ans =表1×7价格γδλθρ织女星  ______ _______ _________ ______ _______ ______ ______ 8.5014 0.85673 0.0057199 5.0388 -1.8461 26.238 6.1837

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

创建障碍仪对象

使用fininstrument要创建障碍仪器对象为三个屏障仪器。

BarrierOpt = fininstrument(“障碍”“罢工”45岁的“ExerciseDate”datetime([2019年,1,1;2019、2、1;2019 3 1]),“OptionType”“电话”“ExerciseStyle”“美国”“BarrierType”“做”“BarrierValue”(40;30;20),“名字”“barrier_option”
BarrierOpt =3×1对象3x1带有属性的屏障阵列:OptionType Strike BarrierType BarrierValue Rebate ExerciseStyle ExerciseDate Name

创建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”, 50)
outPricer =带有属性的有限差异:DiscountCurve: [1x1 ratecurve] Model: [1x1 finmodel.]BlackScholes]SpotPrice: 50 GridProperties: [1x1 struct] DividendType: "continuous" DividendValue: 0

价格障碍仪器

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

[Price, outPR] = Price (outprice,BarrierOpt,[“所有”])
价格=3×18.5014 9.7112 9.9901
outPR =3×1对象带有属性的3x1 priceresult数组
outPR。结果
ans =表1×7价格γδλθρ织女星  ______ _______ _________ ______ _______ ______ ______ 8.5014 0.85673 0.0057199 5.0388 -1.8461 26.238 6.1837
ans =表1×7价格γδλθρ织女星  ______ _______ ________ ______ _______ ______ ______ 9.7112 0.73186 0.020793 3.7681 -3.2754 29.014 16.885
ans =表1×7价格γδλθρ织女星  ______ ______ ________ ______ _______ ______ ______ 9.9901 0.7296 0.020326 3.6516 -3.2151 30.872 17.803

这个例子展示了为一个障碍仪器当你使用BlackScholes模型和AssetTree采用等概率(EQP)树的定价方法。

创建障碍仪对象

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

BarrierOpt = fininstrument(“障碍”“罢工”45岁的“ExerciseDate”datetime (2019, 1, 1),“OptionType”“电话”“ExerciseStyle”“美国”“BarrierType”“做”“BarrierValue”现年40岁的“名字”“barrier_option”
BarrierOpt =屏障与属性:OptionType: "call"打击:45 BarrierType: "do" BarrierValue: 40回扣:0锻练风格:"american"锻练日期: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:“前一个”

创建AssetTree定价的人对象

使用finpricer要创建AssetTree对象的EQP权益树,并使用ratecurve对象的“DiscountCurve”名称-值对参数。

NumPeriods = 15;eqpprice = finpricer(“AssetTree”“DiscountCurve”myRC,“模型”BlackScholesModel,“SpotPrice”, 1000,“PricingMethod”“EqualProbability”“成熟”datetime (2019, 1, 1),“NumPeriods”NumPeriods)
eqpprice = EQPTree,属性:Tree: [1x1 struct] NumPeriods: 15 Model: [1x1 finmodel.]BlackScholes]DiscountCurve: [1x1 ratecurve] SpotPrice: 1000 DividendType: "continuous" DividendValue: 0 TreeDates: [25-Jan-2018 08:00:00 18-Feb-2018 16:00:00 ... ]
EQPPricer。树
ans =带字段的结构:问题:[2x15 double] ATree: {1x16 cell} dObs: [01-Jan-2018 00:00:00 25-Jan-2018 08:00:00…tObs:[0 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333…]]

价格障碍仪器

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

[Price, outPR] = Price (EQPPricer,BarrierOpt,[“所有”])
价格= 956.5478
outPR = priceresult with properties:结果:[1x7表]PricerData: [1x1 struct]
outPR。结果
ans =表1×7价格三角洲伽马织女星λρθ  ______ _____ __________ ___________ ______ _____ _______ 956.55 - 1 e-09 1.0454 43.45 -1.5208 -6.8212 9.3133 e-18
outPR.PricerData.PriceTree
ans =带字段的结构:PTree: {1x16 cell} ExTree: {1x16 cell} tObs:[0 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333…[01-Jan-2018 25-Jan-2018 18-Feb-2018…]问题:[2x15 double]

这个例子展示了为一个障碍仪器当你使用BlackScholes模型和AssetTree使用标准三叉树(STT)的定价方法。

创建障碍仪对象

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

BarrierOpt = fininstrument(“障碍”“罢工”45岁的“ExerciseDate”datetime (2019, 1, 1),“OptionType”“电话”“ExerciseStyle”“美国”“BarrierType”“做”“BarrierValue”现年40岁的“名字”“barrier_option”
BarrierOpt =屏障与属性:OptionType: "call"打击:45 BarrierType: "do" BarrierValue: 40回扣:0锻练风格:"american"锻练日期: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:“前一个”

创建AssetTree定价的人对象

使用finpricer要创建AssetTree对象的标准三叉(STT)权益树,并使用ratecurve对象的“DiscountCurve”名称-值对参数。

NumPeriods = 15;STTPricer = finpricer(“AssetTree”“DiscountCurve”myRC,“模型”BlackScholesModel,“SpotPrice”, 1000,“PricingMethod”“StandardTrinomial”“成熟”datetime (2019, 1, 1),“NumPeriods”NumPeriods)
STTPricer = STTree with properties: Tree: [1x1 struct] NumPeriods: 15 Model: [1x1 finmodel.]BlackScholes]DiscountCurve: [1x1 ratecurve] SpotPrice: 1000 DividendType: "continuous" DividendValue: 0 TreeDates: [25-Jan-2018 08:00:00 18-Feb-2018 16:00:00 ... ]
STTPricer。树
ans =带字段的结构:ATree: {1x16 cell} Probs: {1x15 cell} dObs: [01-Jan-2018 00:00:00 25-Jan-2018 08:00:00…tObs:[0 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333…]]

价格障碍仪器

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

[Price, outPR] = Price (STTPricer,BarrierOpt,[“所有”])
价格= 956.5444
outPR = priceresult with properties:结果:[1x7表]PricerData: [1x1 struct]
outPR。结果
ans =表1×7价格三角洲伽马织女星λρθ  ______ _____ ___________ ________ ______ ______ ______ -1.9331 e-17 -0.20023 1.0454 44.112 -1.514 956.54 - 1
outPR.PricerData.PriceTree
ans =带字段的结构:PTree: {1x16 cell} ExTree: {1x16 cell} tObs:[0 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333…[01-Jan-2018 25-Jan-2018 18-Feb-2018…]问题:{1x15 cell}

这个例子展示了为一个障碍仪器当你使用BlackScholes模型和AssetMonteCarlo定价方法。

创建障碍仪对象

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

BarrierOpt = fininstrument(“障碍”“罢工”45岁的“ExerciseDate”datetime (2019, 1, 1),“OptionType”“电话”“ExerciseStyle”“美国”“BarrierType”“做”“BarrierValue”现年40岁的“名字”“barrier_option”
BarrierOpt =屏障与属性:OptionType: "call"打击:45 BarrierType: "do" BarrierValue: 40回扣:0锻练风格:"american"锻练日期: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:“前一个”

创建AssetMonteCarlo定价的人对象

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

outPricer = finpricer(“AssetMonteCarlo”“DiscountCurve”myRC,“模型”BlackScholesModel,“SpotPrice”, 200,“simulationDates”datetime(2019年,1,1))
outPricer = GBMMonteCarlo with properties: DiscountCurve: [1x1 ratecurve] SpotPrice: 200 SimulationDates: 01- january -2019 NumTrials: 1000 RandomNumbers: [] Model: [1x1 finmodel。股利类型:"continuous"

价格障碍仪器

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

[Price, outPR] = Price (outprice,BarrierOpt,[“所有”])
价格= 156.6270
outPR = priceresult with properties:结果:[1x7表]PricerData: [1x1 struct]
outPR。结果
ans =表1×7价格γδλρθ织女星  ______ ______ ___________ ______ _____ _____ _______ 0.67904 156.63 1.0004 -7.6028 1.2774 - 43.45 e-12 0

这个例子展示了为一个障碍仪器当你使用赫斯顿模型和AssetMonteCarlo定价方法。

创建障碍仪对象

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

BarrierOpt = fininstrument(“障碍”“罢工”45岁的“ExerciseDate”datetime (2019, 1, 1),“OptionType”“电话”“ExerciseStyle”“美国”“BarrierType”“做”“BarrierValue”现年40岁的“名字”“barrier_option”
BarrierOpt =屏障与属性:OptionType: "call"打击:45 BarrierType: "do" BarrierValue: 40回扣:0锻练风格:"american"锻练日期:01- january -2019名称:"barrier_option"

创建赫斯顿模型对象

使用finmodel要创建赫斯顿模型对象。

HestonModel = finmodel(“赫斯顿”“半”, 0.032,“ThetaV”, 0.1,“卡巴”, 0.003,“SigmaV”, 0.2,“RhoSV”, 0.9)
HestonModel = Heston with properties: V0: 0.0320 ThetaV: 0.1000 Kappa: 0.0030 SigmaV: 0.2000 RhoSV: 0.9000

创建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:“前一个”

创建AssetMonteCarlo定价的人对象

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

outPricer = finpricer(“AssetMonteCarlo”“DiscountCurve”myRC,“模型”HestonModel,“SpotPrice”, 200,“simulationDates”datetime(2019年,1,1))
outPricer = HestonMonteCarlo与属性:折扣曲线:[1x1率曲线]SpotPrice: 200仿真日期:01- 1- 2019 NumTrials: 1000 RandomNumbers:[]模型:[1x1 finmodel。Heston]股息类型:"continuous"股息值:0

价格障碍仪器

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

[Price, outPR] = Price (outprice,BarrierOpt,[“所有”])
价格= 156.9962
outPR = priceresult with properties:结果:[1x8表]PricerData: [1x1 struct]
outPR。结果
ans =表1×8价格γδλρθVega VegaLT  _____ ______ _________ ______ _____ _____ ______ _________ 157年2.7882 - 0.0013677 1.0022 - -1.08 1.2768 - 43.45 e-12 0

更多关于

全部展开

版本历史

R2020a中引入

全部展开

Baidu
map