CDSOption
仪对象
创建和定价CDSOption
用于一个或多个CDS Option仪器的instrument对象,使用此工作流:
使用fininstrument
创建一个CDSOption
一个或多个CDS期权工具的工具对象。默认情况下,这会创建一个单名称CDS选项。可以通过指定可选的name-value参数来创建CDS索引选项AdjustedForwardSpread
.
有关此工作流的更多信息,请参见开始使用基于对象的框架为金融工具定价的工作流.
有关可用模型和定价方法的更多信息,请使用CDSoption
仪器,看选择仪器、型号和定价.
创建一个CDSOptionObj
= fininstrument (InstrumentType
,'ExerciseDate
“exercise_date,”罢工
“strike_value,”cd
”,cds_obj)CDSOption
为一个或多个CDS期权工具指定InstrumentType
并设置属性用于指定的名称-值对参数ExerciseDate
,罢工
,cd
.
InstrumentType
- - - - - -仪器类型“CDSoption”
|值为的字符串数组“CDSoption”
|带值字符向量“CDSoption”
|值为的字符向量单元格数组“CDSoption”
仪器类型,指定为值为的字符串“CDSoption”
的字符向量“CDSoption”
,一个NINST
——- - - - - -1
值为的字符串数组“CDSoption”
,或者一个NINST
——- - - - - -1
值为的字符向量单元格数组“CDSoption”
.
数据类型:字符
|细胞
|字符串
CDSOption
名称-值对的观点
指定必需的和可选的逗号分隔的对名称,值
参数。的名字
参数名和价值
为对应值。的名字
必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家
.
CDSOptionObj = fininstrument(“CDSoption”、“ExerciseDate”,datetime(2019, 30),“罢工”,500年,“cd”,cds_object,“名字”,“cdsoption_instrument”)
CDSOption
名称-值对的观点
ExerciseDate
- - - - - -选择锻炼时间选项执行日期,指定为逗号分隔对,由“ExerciseDate”
和标量日期时间、串行日期号、日期字符向量、日期字符串或NINST
——- - - - - -1
日期时间向量、连续日期号、日期字符向量的单元格数组或日期字符串数组。
如果使用日期字符向量或日期字符串,则格式必须是可识别的datetime
因为ExerciseDate
属性存储为日期时间。
数据类型:双
|字符
|细胞
|字符串
|datetime
罢工
- - - - - -期权执行价格期权执行价格,指定为逗号分隔的对,由“罢工”
和一个标量非负的数字或NINST
——- - - - - -1
非负数值的向量。
数据类型:双
cd
- - - - - -cd
对象cd
对象|向量的cd
对象cd
对象,指定为逗号分隔的对,由“cd”
和一个标量cd
对象或一个NINST
——- - - - - -1
向量的cd
对象。
数据类型:对象
CDSOption
名称-值对的观点
OptionType
- - - - - -选择类型“电话”
(默认)|字符串值“电话”
或“把”
|值为的字符串数组“电话”
或“把”
|带值字符向量“电话”
或“把”
|值为的字符向量单元格数组“电话”
或“把”
选项类型,指定为逗号分隔的对,由“OptionType”
标量字符串或字符向量或NINST
——- - - - - -1
字符向量或字符串数组的单元格数组。
数据类型:字符
|细胞
|字符串
基因敲除
- - - - - -指示选项是否为敲除类型的标志假
(默认)|带值标量逻辑真正的
或假
|值为的逻辑向量真正的
或假
指示选项是否为敲除类型的标志,指定为逗号分隔的对,由“敲除”
一个标量逻辑或NINST
——- - - - - -1
逻辑值的向量。
数据类型:逻辑
AdjustedForwardSpread
- - - - - -为CDS指数期权定价的调整远期价差(以基点计)南
(单名cd选项)(默认)|标量数值|数值向量为CDS指数期权定价的调整远期价差(以基点计),指定为逗号分隔的对,由“AdjustedForwardSpread”
和一个标量数字或NINST
——- - - - - -1
数值向量。,以获取更多使用信息“AdjustedForwardSpread”
在为CDS指数期权定价时,请参见价格CDS指数期权使用CDS黑色模型和CDS黑色价格.
数据类型:双
的名字
- - - - - -用户自定义仪器名称”“
(默认)|字符串|字符串数组|特征向量|字符向量的单元格数组多个仪器中的一个用户定义的名称,指定为逗号分隔对,由“名字”
标量字符串或字符向量或NINST
——- - - - - -1
字符向量或字符串数组的单元格数组。
数据类型:字符
|细胞
|字符串
ExerciseDate
- - - - - -选择锻炼时间选项执行日期,返回标量日期时间或NINST
——- - - - - -1
向量的日期时间。
数据类型:datetime
罢工
- - - - - -期权执行价格期权执行价格,返回为标量非负数值或NINST
——- - - - - -1
非负数值的向量。
数据类型:双
cd
- - - - - -cd
对象cd
对象|向量的cd
对象cd
对象,作为标量返回cd
对象或一个NINST
——- - - - - -1
CDS对象的向量。
数据类型:对象
OptionType
- - - - - -选项的定义“电话”
(默认)|字符串值“电话”
或“把”
|值为的字符串数组“电话”
或“把”
选项的定义,返回为标量字符串或NINST
——- - - - - -1
值为的字符串数组“电话”
或“把”
.
数据类型:字符串
基因敲除
- - - - - -指示选项是否为敲除类型的标志假
(默认)|带值标量逻辑真正的
或假
|值为的逻辑向量真正的
或假
指示选项是否为敲除类型的标志,返回为标量逻辑或NINST
——- - - - - -1
逻辑值的向量。
数据类型:逻辑
AdjustedForwardSpread
- - - - - -为CDS指数期权定价的调整远期价差(以基点计)南
(单名cd选项)(默认)|标量数值|数值向量为CDS指数期权定价而调整的远期价差(以基点计),返回为标量数字或NINST
——- - - - - -1
数值向量。
数据类型:双
的名字
- - - - - -用户自定义仪器名称”“
(默认)|字符串|字符串数组仪器的用户定义名称,返回为标量字符串或NINST
——- - - - - -1
字符串数组。
数据类型:字符串
这个例子展示了定价a的工作流程CDSOption
当您使用单一名称CDS选项时CDSBlack
模型和CDSBlack
定价方法。
创建cd
仪对象
使用fininstrument
要创建底层的cd
仪对象。
CDSOpt = fininstrument (“cd”,“成熟”datetime(2021、9、15),“ContractSpread”, 150,“名义上”, 100,“名字”,“CDS_option”)
CDSOpt =具有属性的CDS:合约价差:150到期日:2021年9月15日期间:4基础:2 RecoveryRate: 0.4000 businessday约定:“实际”假期:NaT PayAccruedPremium: 1概念:100名称:“CDS_option”
创建defprobcurve
对象
创建一个defprobcurve
对象使用defprobcurve
.
解决= datetime(2020、9、20);DefProbTimes = [calmonths(6) calyears([1 2 3 4 5 7 10 20 30])];defaultprobability = [0.005 0.007 0.01 0.015 0.026 0.04 0.077 0.093 0.15 0.20]';ProbDates = Settle + DefProbTimes;DefaultProbCurve = defprobcurve(结算、ProbDates DefaultProbabilities,“基础”5)
DefaultProbCurve = defprobcurve with properties: Settle: 20-Sep-2020 Basis: 5 date: [10x1 datetime] defaultprobability: [10x1 double]
创建ratecurve
对象
创建一个ratecurve
对象使用ratecurve
.
解决= datetime(2020、9、15);类型=“零”;ZeroTimes = [calmonths(6) calyears([1 2 3 4 5 7 10 20 30])]';ZeroRates = [0.0052 0.0055 0.0061 0.0073 0.0094 0.0119 0.0168 0.0222 0.0293 0.0307]';zeroates = Settle + ZeroTimes;myRC = ratecurve (“零”、结算、ZeroDates ZeroRates)
myRC = ratecurve with properties: Type: "zero" compound: -1 Basis: 0 date: [10x1 datetime] Rates: [10x1 double] Settle: 15-Sep-2020 InterpMethod: "linear" ShortExtrapMethod: "next" LongExtrapMethod: "previous"
创建CDSOption
仪对象
使用fininstrument
创建一个CDSOption
单个名称CDS选项的instrument对象。
CDSOptionInst = fininstrument (“CDSOption”,“ExerciseDate”datetime(2021、8、15)“罢工”, 20岁,“cd”CDSOpt,“OptionType”,“把”,“敲除”,真的,“名字”,“CDSOption_option”)
CDSOptionInst = cdsopoption with properties: OptionType: "put" Strike: 20 Knockout: 1 AdjustedForwardSpread: NaN exercisdate: 15-Aug-2021cd)名称:“CDSOption_option”
创建CDSBlack
模型对象
使用finmodel
创建一个CDSBlack
模型对象。
CDSBlackModel = finmodel (“CDSBlack”,“SpreadVolatility”2)
CDSBlackModel = CDSBlack,属性:价差波动率:0.2000
创建CDSBlack
定价的人对象
使用finpricer
创建一个CDSBlack
对象,并使用ratecurve
对象的“DiscountCurve”
名称-值对的论点。
outPricer = finpricer (“分析”,“模型”CDSBlackModel,“DefaultProbabilityCurve”DefaultProbCurve,“DiscountCurve”myRC)
outPricer = CDSBlack与属性:模型:[1x1 finmodel。CDSBlack] DiscountCurve: [1x1 ratecurve] DefaultProbabilityCurve: [1x1 defprobcurve]
价格CDSOption
仪器
使用价格
来计算价格CDSOption
单名称CDS选项的工具。
价格=价格(outPricer CDSOptionInst)
价格= 3.3016 e-04
这个例子展示了定价倍数的工作流程CDSOption
当你使用CDSBlack
模型和CDSBlack
定价方法。
创建cd
仪对象
使用fininstrument
要创建底层的cd
工具对象为三个CDS期权工具。
CDSOpt = fininstrument (“cd”,“成熟”datetime([2021、9、15;2021、10、15;2021、11、15]),“ContractSpread”, 150,“名义上”, 10000;20000;30000年),“名字”,“CDS_option”)
CDSOpt =3×1对象3x1 CDS数组具有以下属性:合约价差、到期日基础、回收率、营业日惯例假日、支付应计保费名义名称
创建defprobcurve
对象
创建一个defprobcurve
对象使用defprobcurve
.
解决= datetime(2020、9、20);DefProbTimes = [calmonths(6) calyears([1 2 3 4 5 7 10 20 30])];defaultprobability = [0.005 0.007 0.01 0.015 0.026 0.04 0.077 0.093 0.15 0.20]';ProbDates = Settle + DefProbTimes;DefaultProbCurve = defprobcurve(结算、ProbDates DefaultProbabilities,“基础”5)
DefaultProbCurve = defprobcurve with properties: Settle: 20-Sep-2020 Basis: 5 date: [10x1 datetime] defaultprobability: [10x1 double]
创建ratecurve
对象
创建一个ratecurve
对象使用ratecurve
.
解决= datetime(2020、9、15);类型=“零”;ZeroTimes = [calmonths(6) calyears([1 2 3 4 5 7 10 20 30])]';ZeroRates = [0.0052 0.0055 0.0061 0.0073 0.0094 0.0119 0.0168 0.0222 0.0293 0.0307]';zeroates = Settle + ZeroTimes;myRC = ratecurve (“零”、结算、ZeroDates ZeroRates)
myRC = ratecurve with properties: Type: "zero" compound: -1 Basis: 0 date: [10x1 datetime] Rates: [10x1 double] Settle: 15-Sep-2020 InterpMethod: "linear" ShortExtrapMethod: "next" LongExtrapMethod: "previous"
创建CDSOption
仪对象
使用fininstrument
创建一个CDSOption
三个单名称CDS选项的工具对象。
CDSOptionInst = fininstrument (“CDSOption”,“ExerciseDate”datetime(2021、8、15)“罢工”, 20岁,“cd”CDSOpt,“OptionType”,“把”,“敲除”,真的,“名字”,“CDSOption_option”)
CDSOptionInst =3×1对象3x1 CDSOption数组带有属性:OptionType Strike Knockout AdjustedForwardSpread exercisdate CDS名称
创建CDSBlack
模型对象
使用finmodel
创建一个CDSBlack
模型对象。
CDSBlackModel = finmodel (“CDSBlack”,“SpreadVolatility”2)
CDSBlackModel = CDSBlack,属性:价差波动率:0.2000
创建CDSBlack
定价的人对象
使用finpricer
创建一个CDSBlack
对象,并使用ratecurve
对象的“DiscountCurve”
名称-值对的论点。
outPricer = finpricer (“分析”,“模型”CDSBlackModel,“DefaultProbabilityCurve”DefaultProbCurve,“DiscountCurve”myRC)
outPricer = CDSBlack与属性:模型:[1x1 finmodel。CDSBlack] DiscountCurve: [1x1 ratecurve] DefaultProbabilityCurve: [1x1 defprobcurve]
价格CDSOption
仪器
使用价格
来计算这三个的价格CDSOption
仪器。
价格=价格(outPricer CDSOptionInst)
价格=3×10.0003 0.0384 0.5941
这个例子展示了使用CDSOption
为CDS指数期权定价的工具CDSBlack
模型和CDSBlack
定价方法。
建立CDS指数数据
% CDS指数和期权数据复苏=。4;基础= 2;时间= 4;CDSMaturity = datetime(2017, 6, 20);ContractSpread = 100;IndexSpread = 140;BusDayConvention =“跟随”;set = datetime(2012, 4, 13);OptionMaturity = datetime(2012, 6,20);OptionStrike = 140;SpreadVolatility = i;
创建ratecurve
对象为零曲线使用irbootstrap
创建ratecurve
对象为零曲线使用irbootstrap
.
%零曲线数据depates = [0.004111 0.00563 0.00757 0.01053]';DepTimes = calmonths([1 2 3 6]');DepDates = set + DepTimes;nDeposits =长度(DepTimes);swap = [0.01387 0.01035 0.01145 0.01318 0.01508 0.01700 0.01868 ....';SwapTimes = calyears([1 2 3 4 5 6 7 8 9 10 12 15 20 30]);SwapDates = set + SwapTimes;nSwaps =长度(SwapTimes);nst = n存款+ n掉期;BootInstruments (nInst, 1) = fininstrument.FinInstrument;为ii=1:length(DepDates) bootininstruments (ii) = fininstrument(“存款”,“成熟”DepDates (ii),“速度”DepRates (ii));结束为ii=1:length(SwapDates) bootininstruments (ii+ ndeposents) = fininstrument(“交换”,“成熟”SwapDates (ii),“LegRate”, (SwapRates (ii) 0]);结束ZeroCurve = irbootstrap (BootInstruments解决)
ZeroCurve =带有属性的比率曲线:类型:“零”复利:-1基础:0日期:[18x1 datetime] rate: [18x1 double] Settle: 13- 4 -2012 InterpMethod:“linear”ShortExtrapMethod:“next”LongExtrapMethod:“previous”
Bootstrap默认概率曲线
使用defprobstrip
bootstrap违约概率曲线假设一个平坦的指数价差。
ProbDates = datemnth (OptionMaturity (0:5 * 12) ');MarketCDSInstruments = fininstrument (“cd”,...“ContractSpread”ContractSpread,“成熟”, CDSMaturity);DefaultProbCurve = defprobstrip(zeroccurve, marketcdinstruments, IndexSpread,“ProbDates”ProbDates)
DefaultProbCurve = defprobcurve with properties: Settle: 13- april -2012 Basis: 2 date: [61x1 datetime] defaultprobability: [61x1 double]
计算点和转发RPV01s
计算点和转发rpv01使用cdsrpv01
.
ProbData = [datenum(DefaultProbCurve.Dates) defaultprobcurve . defaultprobability];% RPV01 (t, t)RPV01_CDSMaturity = cdsrpv01 (CDSMaturity ZeroCurve ProbData,解决)
RPV01_CDSMaturity = 4.7853
% RPV01 (t_E t, t)RPV01_OptionExpiryForward = cdsrpv01 (CDSMaturity ZeroCurve ProbData,解决,...StartDate可以的OptionMaturity)
RPV01_OptionExpiryForward = 4.5972
RPV01(t,t_E) = RPV01(t,t) - RPV01(t,t_E, t)RPV01_OptionExpiry = RPV01_CDSMaturity - RPV01_OptionExpiryForward
RPV01_OptionExpiry = 0.1882
计算现货价差
计算点散布使用cdsspread
.
% S (t、t_E)Spread_OptionExpiry = cdsspread (OptionMaturity ZeroCurve ProbData,解决,...“时间”期,“基础”的基础上,“BusDayConvention”BusDayConvention,...“PayAccruedPremium”,真的,“recoveryrate”、恢复)
Spread_OptionExpiry = 139.8995
% S (t, t)Spread_CDSMaturity = cdsspread (CDSMaturity ZeroCurve ProbData,解决,...“时间”期,“基础”的基础上,“BusDayConvention”BusDayConvention,...“PayAccruedPremium”,真的,“recoveryrate”、恢复)
Spread_CDSMaturity = 139.9999
计算向前传播
使用spot价差和RPV01s计算forward价差。
% F = S(t,t_E, t)ForwardSpread = (Spread_CDSMaturity。* RPV01_CDSMaturity - Spread_OptionExpiry / RPV01_OptionExpiryForward * RPV01_OptionExpiry)
ForwardSpread = 140.0040
计算前端保护
计算前端保护(FEP)。
聚全氟乙丙烯= 10000 * (1-Recovery) * ZeroCurve.discountfactors (OptionMaturity) * DefaultProbCurve.DefaultProbabilities (1)
聚全氟乙丙烯= 26.3108
计算调整后的前向差价
计算要在创建时使用的调整后的向前扩展CDSOption
乐器。
AdjustedForwardSpread = ForwardSpread + FEP./RPV01_OptionExpiryForward
AdjustedForwardSpread = 145.7273
计算远期差价调整后的CDS期权价格
使用fininstrument
要创建底层的cd
工具对象为两个CDS期权工具。
cd = fininstrument (“cd”,“ContractSpread”ContractSpread,“成熟”CDSMaturity)
CDS =具有属性的CDS:合约价差:100到期日:2017年6月20日期限:4基准:2回收率:0.4000营业日惯例:“实际”假日:NaT PayAccruedPremium: 1概念:10000000名称:“”
使用fininstrument
创建一个CDSOption
两种CDS指数期权工具。
CDSCallOption = fininstrument (“cdsoption”,“罢工”OptionStrike,...“ExerciseDate”OptionMaturity,“OptionType”,“电话”,“cd”、cd、...“敲除”,真的,“AdjustedForwardSpread”AdjustedForwardSpread)
CDSCallOption = cdspoption with properties: OptionType: "call" Strike: 140 Knockout: 1 AdjustedForwardSpread: 145.7273 exercisdate: 20-Jun-2012 CDS: [1x1 fininstrument.]cd)名称:"
CDSPutOption = fininstrument (“cdsoption”,“罢工”OptionStrike,...“ExerciseDate”OptionMaturity,“OptionType”,“把”,“cd”、cd、...“敲除”,真的,“AdjustedForwardSpread”AdjustedForwardSpread)
CDSPutOption = cdspoption with properties: OptionType: "put" Strike: 140 Knockout: 1 AdjustedForwardSpread: 145.7273 exercisdate: 20-Jun-2012 CDS: [1x1 fininstrument.]cd)名称:"
创建CDSBlack
模型对象
使用finmodel
创建一个CDSBlack
模型对象。
CDSOptionModel = finmodel (“cdsblack”,“SpreadVolatility”SpreadVolatility)
CDSOptionModel = CDSBlack,属性:价差波动率:0.6900
创建CDSBlack
定价的人对象
使用finpricer
创建一个CDSBlack
对象,并使用ratecurve
对象的零曲线“DiscountCurve”
名称-值对的论点。
CDSOptionpricer = finpricer (“分析”,“模型”CDSOptionModel,“DiscountCurve”ZeroCurve,“DefaultProbabilityCurve”DefaultProbCurve)
CDSOptionpricer = CDSBlack与属性:模型:[1x1 finmodel。CDSBlack] DiscountCurve: [1x1 ratecurve] DefaultProbabilityCurve: [1x1 defprobcurve]
价格CDS指数期权
使用价格
计算两种CDS指数期权的价格。
outPrice = price(CDSOptionpricer, [CDSCallOption;CDSPutOption]);流(付款人:%。0 f接收机:%。0 f \ n 'outPrice (1) outPrice (2));
付款人:92,收款人:66
信用违约掉期(CDS)期权,是一种期权持有者在未来签订信用违约掉期的权利而非义务的合约。
CDS期权可以是支付方互换,也可以是接收方互换。在支付方互换中,期权持有人有权进入支付保费的CDS,而在接收方互换中,期权持有人获得保费。
CDS期权可以是单名CDS期权,也可以是CDS指数期权。当为CDS索引选项定价时,使用可选的name-value参数AdjustedForwardSpread
.与单一名称的CDS不同,CDS投资组合指数包含多个信用。当一个或多个信用违约时,相应的或有付款将支付给保护买方,但合同仍以减少的息票付款继续履行。考虑到CDS指数期权在部分标的信用违约时不会在到期前被取消的事实,人们可能会尝试使用布莱克的非致命单名CDS期权模型来为CDS指数期权定价。然而,布莱克的这种形式的模型不适合为CDS指数期权定价,因为它不能正确地捕捉行权决策,当行权价差(K)非常高,也不能确保在(K)不等于合同价差(O’kane, 2008)。
然而,经过适当的修改,布莱克的单名CDS期权模型与一个CDSOption
仪器和CDSBlack
pricer可以为CDS指数期权提供一个很好的近似。虽然布莱克模型在修正CDS指数期权时存在一些差异,但它们通常涉及调整远期价差F,罢工蔓延开来K,或两者兼而有之。这里我们只描述远期差价的调整方法。在布莱克的单名CDS期权模型中,远期价差F被定义为:
在哪里
年代是传播。
RPV01风险现值是一个基点(见cdsrpv01
).
t为估价日期。
tE为期权的到期日。
T是CDS的到期日。
为了正确地捕捉CDS指数期权的行权决策,我们使用了布莱克模型的剔除形式,并调整了远期价差以纳入聚全氟乙丙烯(前端保护)如下:
与聚全氟乙丙烯定义为
在哪里
R为恢复速率。
Z为折扣率。
问是生存概率。
在CDSOption
对象,可作远期差价调整用AdjustedForwardSpread
名称-值参数。计算调整后的远期利差时,可使用cdsspread
rpv01使用cdsrpv01
.
D。[1]•欧凯恩称单名称和多名称信用衍生品模型。威利,2008,第156-169页。
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。