第9章衍射工具的分析和定价.docx
《第9章衍射工具的分析和定价.docx》由会员分享,可在线阅读,更多相关《第9章衍射工具的分析和定价.docx(18页珍藏版)》请在冰豆网上搜索。
第9章衍射工具的分析和定价
第9章衍射工具的分析和定价
9.1期权证券的定价
(1)bdtbond函数
目的期权背书债券的black-derman-toy定价,期权证券的定价
格式[price,sensitivities,disctree,pricetree]=bdtbond(optbond,zerocurve,volatilitycurve,accuracy,
creditcurve,computersensitivity)
参数
Optbond可附有买权和卖权的背书债券的详述。
字段是标量和日期流。
规格帮助了解债券参数的详尽信息。
Optbond.settle:
交割日。
Optbond.maturity:
到期日。
Optbond.period:
(期权)付息频率。
默认=2。
Optbond.basis:
(期权)市场起点。
默认=0
Optbond.endmonthrule:
(期权)EOM规则。
默认=1(有效)。
Optbond.firstcoupondate:
(期权)如果首次付息期限不规则,注明首次付息。
Optbond.lastcoupondate:
(期权)如果末次付息期限不规则,注明末次付息。
Optbond.issuedate:
(期权)如果首次付息期限不规则,注明债券发行日。
Optbond.startdate:
(期货工具、期权)证券的远期起效日如果不在交割日以前需注明。
Optbond.couponrate:
(期权)利息支付利率。
Optbond.face:
(期权)债券的到期支付额。
默认=100。
Optbond(继续)期权专用字段:
买权或卖权的专用字段。
假设买权由债券发行人持有,卖权由债券持有人持有。
由此,买权降低债券持有人持有债券的价值,卖权增加债券价值。
Optbond.callstrike:
买权执行价。
Optbond.calltype:
1(美式)或0(欧式)。
默认=1。
Optbond.callexpirydate:
美式期权操作最后日期,欧式期权唯一日期。
Optbond.callstartdate:
美式期权操作首日。
莫认是交割日。
Optbond.putstrike:
卖权执行价。
Optbond.puttype:
1(美式)或0(欧式)。
默认=1。
Optbond.putexpirydate:
美式期权操作最后日期,欧式期权唯一日期。
Optbond.putstartdate:
美式期权操作首日。
莫认是交割日。
zerocurveNCURVE(日期,利率)对的零曲线被引入以覆盖债券的时间跨期。
早于第一个曲线日期的时间使用第一个利率,晚于最后曲线日期的时间使用最后的利率。
Zerocurve.curvedates:
连续日期的NCURVE-by-1矢量。
Zerocurve.zerorates:
利率的NCURVE-by-1矢量。
Volatilitycurve短期利率的持续年度变量的曲线。
曲线包含NCURVE2(日期,利率)队。
曲线被引入以覆盖债券的时间跨期。
volatilitycurve.curvedates:
连续日期的NCURVE2-by-1矢量。
volatilitycurve.volatilityrates:
小数形式年度变量的NCURVE2-by-1矢量。
Accuracy用以详述每个结息期间步骤数目的标量。
较大的数字产生更多的精确答案,但是也需要更多的时间和记忆装置。
Creditcurve(期权)利率由默认风险上升的曲线。
曲线包含NCURVE3(日期,利率)队。
曲线被引入以覆盖债券的时间跨期。
creditcurve.curvedates:
连续日期的NCURVE3-by-1矢量。
creditcurve.creditrates:
信用的NCURVE3-by-1矢量自起点形成的价值(非小数利率)。
对零利率的有效变化是信用率/10000。
Conputesensitivity如果债券敏感度策略(有或无期权)需要计算须详述.1表示策略被计算,0表示未计算.敏感度通过有限差额计算得出.默认无敏感度,只有价格返回.
Computersensitivity.duration:
标量1或0。
Computersensitivity.convexity:
标量1或0。
Computersensitivity.vega:
标量1或0。
描述计算附有背书买权或卖权的债券的价格和敏感策略。
根据给定的投入产出曲线(可能的话和信用趋势)和变量曲线在为利率期权定价的black-derman-toy模型基础上定价。
Price是有或无期权的债券的价值。
Price.optionfreeprice无期权债券的标量价格。
Price.optionembedprice附有期权债券的标量价格(对债券持有者的价值)。
Price.optionvalue对债券持有人的期权标量价值。
Sensitivities涉及在产出曲线和变量形式结构对无期权河背书期权债券价格的变化影响。
Sensitivities.duration无期权债券价格对产出曲线平行移动的敏感度。
Sensitivities.effduration背书期权价格对产出曲线移动的敏感度。
Sensitivities.convexityduration对产出曲线移动的敏感度。
Sensitivities.effconvexityeffduration对产出曲线移动的敏感度。
Sensitivities.vega背书期权价格对变量曲线平行移动的敏感度。
Disctree是利率结构的重组二叉树。
二叉树覆盖从交割至到期日的NPERIODS期间,每个利率期都有精度步骤。
交割时短期利率和在交割与第一次的短期利率是设定的。
Disctree.values短期贴息因素的NSTAATES-by-NPERIODS矩阵。
价值的NPERIODS柱对应随后的时间。
NSTATES列对应利率过程中的状态。
未使用的状态被NAN删除。
时刻date(i)的现金流量乘以贴息价值(j,i)得出跨过二叉树(j,i)边缘后的时刻date(i-1)的价格。
相交于交点(j,i)的短期利率R(j,i)满足:
(1+R(j,i)/Frequency)^(-(Times(j)-Times(j-1)))=Values(j,i)
discetree,times在结息间隔单元中的二叉树交点时期的1-by-NPERIODS矢量。
(类型揭示ftbTFactors更多信息。
)
disctree.dates作为连续日期数的二叉树交点时期的1-by-NPERIODS矢量。
Disctree.type‘shortdiscount’
Disctree.frequency投入债券的增加频率。
Disctree.errorflag(0或1)当短期利率为负时设为1。
Pricetree是现金流量二叉树在树交点的重组。
Pricetree由债券现金流量和期权收益求出。
债券的净价等于pricetree价值减去利息收益和累计利率。
Pricetree.values价格状态的NSTATES-by-NPERIODS矩阵。
Pricetree.times在结息间隔单元中的二叉树交点时期的1-by-NPERIODS矢量。
(类型揭示ftbTFactors更多信息。
)
pricetree.dates作为连续日期数的二叉树交点时期的1-by-NPERIODS矢量。
Pricetree.accrint每个时期可支付的累积利息的1-by-NPERIODS矢量。
Pricetree.coupons每个时期利息支付的1-by-NPERIODS矢量。
Disctree.type‘price’
例9-1设某债权optbond.settle=’15-jul-1996’;
optbond.maturity=’15-jan-1998’;
optbond.couponrate=0.06;
optbond.period=2
债券附有美式买权。
允许持有者在15-jan-1997到到期日(15-jan-1998)以98的执行价买入期权。
Optbond.puttype=1;
Optond.putstartdate=’15-jan-1997’;
Optbond.putexpirydate=’15-jan-1998’;
Optbond.putstrike=98
建立零曲线结构。
Zerocurve.zerorates=[0.05;0.06;0.065];Zerocurve.curvedates=[’01-jan-1996’;’01-jan-1997’;’01-jan-1998’]
建立变量曲线结构。
Volcurve.volatilityrates=[0.15;0.13];
Volcurve.curvedates=[729025;729756]
结息期间是半年,每年用十次期限。
Accuracy=5
自200起点(0.02)的连续信用。
Creditcurve.creditrates=[200];
Creditcurve.curvedates=[’01-jan-1996’]
求duration和vega.
Senschoice.duration=1;
Senschoice.convexity=0;
Senschoice.vega=1;
[price,sensitivities,disctree,pricetree]=……
bdtbond(optbond,zerocurve,volcurve,accuracy,creditcurve,……senschoice);
price=
optionfreeprice:
96.5565
optionembedprice:
97.1769
optionvalue:
0.6204
sensitivities=
duration:
1.3959
effduration:
0.6848
convexity:
NaN
effconvexity:
NAN
vega:
-0.0194
(2)bdttrans函数
目的转换由bdtbond得来的二叉树。
期权定价的转移树
格式bdttrans(tree)
[treemat,treetimes]=bdttrans(tree)
参数tree由bdtbond所得的二叉树结构。
描述bdttrans解开并将短期贴息树结构转化成一个短期利息树,或将价格树转化成一个净价格书。
所得的是一个价值交点树矩阵和一个交点时间矢量。
Treemat是一个由树上的点指定的短期利率或净价格的NSTATES-by-NTIMES转换矩阵。
时间层是包含不同状态的圆柱。
矩阵没用上的纪录被NaN遮盖。
Treetimes是一个对应treemat层的时间1-by-NTIMES矢量。
如果bdttrans没有产出引数,它根据结息期间的时间轴规划了翻译所得的树。
例9-2设一债券
Optbond.settle=’15-Jul-1996’;
Optbond.maturity=’15-Jan-1998’;
Optbond.period=2;
设附背书美式买权。
令债券在15-Jan-1997至到期日可由发行人买入。
Optbond.calltype=1;
Optbond.callstratdate=’15-Jan-1997’;
Optbond.callexpirydate=’15-Jan-1998’;
Optbond.callstrike=101;
建连续零曲线结构.
Zerocurve.zerorates=0.05;
Zerocurve.curvedates=’15-Jul-1996’;
建连续变量曲线结构。
Volcurve.volatilityrates=0.05;
Volcurve.curvedates=’15-Jul-1996’;
选择每个结息期的树型交点。
Accuracy=2;
运行bdtbond方程。
[price,sensitivities,disctree,pricetree]=bdtbond(optbond,……zerocurve,volcurve,accuracy);
将贴息树转化成短期利率树。
Disc.tree=
Values:
[6*7double]
Times:
[00.500011.500022.50003]
Dates:
[729221729313729405729496729586729678729770]
Errorflag:
0
Type:
’shortdiscount’
Frequency:
2
[shortratemat,treetimes]=bdttrans(disctree)
shortratemat=
0.05000.05000.04470.03990.03570.03190.0285
0.05540.04940.04420.03950.0353
0.06130.05480.04890.0437
0.06790.06070.0542
0.07530.0672
NaN0.0835
Treetimes=
10.50001.0001.5002.0002.5003.000
将价格树转化成净价格树。
Pricetree=
Values:
[6*7double]
Times:
[00.500011.500022.50003]
Dates:
[729221729313729405729496729586729678729770]
Errorflag:
0
Accrint:
[01.750001.759701.75000]
Coupons:
[003.500003.500003.5000]
Type:
’price’
[cleanpricemat,treetimes]=bdttrans(pricetree)
cleanpricemat=
101.9512101.4677101.0000101.0000101.0000100.9348100.0000
101.0000101.0000101.0000100.7429100.0000
100.6019100.7397100.5060100.0000
100.0978100.2139100.0000
99.8539100.0000
NaN100.0000
Treetimes=
00.50001.0001.5002.0002.5003.000
(3)binprice函数
目的买权和卖权的二项定价.二项式期权定价
格式[assetprice,optionvalue]=binprice(price,strike,rate,time,increment,volatility,flag,
dividendrate,dividend,exdiv)
参数price资产价格.标量.
Strike期权执行价.标量.
Rate无风险利率.标量.输入小数.
Time距到期日的期权时间.标量.
Increment时间增量.标量.increment被调节以保证每个期间长度与期权到期日相一致.(increment被调节以保证time按increment被分成增量的整数)
Volatility资产变化.标量.
Flag介绍期权是买权(flag=1)还是卖权(flag=0).标量.
Dividendrate(期权)股息率,小数.标量.默认=0.如果dividendrate输入价值,设置divident和exdiv为零,或不输入内容.如果divident和exdiv输入价值,设置dividendrate=0.
Dividend(期权)在股息结算日,exdiv,的股息支付.一组矢量.每次股息支付,必须对应股息结算日.默认=0.如果divident和exdiv输入价值,设置dividendrate=0.
Exdiv(期权)股息结算日,用表时间的数说明,一组矢量.默认=0.
描述使用cox-ross-rubinstein二叉树定价模型定价期权.
例9-3设卖权,资产价格是$52,期权执行价是$50,无风险利率10%,期权到期日是5个月,资产变化40%,在3.1/2月时有一次股息支付$2.06.
[price,option]=binprice(52,50,0.1,5/12,1/12,0.4,0,0,2.06,3.5)
得出二叉树每个交点处的资产价格和期权价值.
Price=
52.000058.136765.022672.749479.351589.0642
46.564252.033658.170662.988270.6980
41.723146.598149.999256.1192
37.412039.688744.5467
31.504435.3606
028.0688
option=
4.44042.16270.6361000
06.86113.77151.301800
0010.15916.37852.66450
00014.224510.31135.4533
000018.495614.6394
0000021.9312
erxiangshidingjia
price=52;
strike=50;
rate=0.1;
time=5/12;
increment=1/12;
volatility=0.4;
flag=0;
dividendrate=0;
dividend=2.06;
exdiv=3.5
[assetprice,optionvalue]=binprice(price,strike,rate,time,increment,volatility,flag,dividendrate,dividend,exdiv)
附blkprice,blsprice
(4)blkprice函数
目的Black’s期权定价,布莱克期权定价公式
格式[call,put]=blkprice(forwardprice,strike,rate,time,volatility)
参数forwardprice0时刻资产的远期价格,必须大于0。
你可以根据如下等式计算远期价格从而扩展Black’s模型至利率衍生工具(附有卖权或买权的债券)。
f=(B-I)*exp(r*t)
其中B是债券的面值,I是期权结息的现值,r是无风险利率,t是至到期日的时间。
Strike期权的执行价。
必须大于0。
Rate无风险利率(加存货费用少于任何产出)。
必须大于等于0。
Time至期权到期日的时间。
必须大于0。
Volatility资产价格的变化率。
必须大于等于0。
描述使用Black’s模型定价期权,得出买权和卖权的价格。
Note这个方程使用normcdf,统计工具箱中的一般累积分布方程。
例9-4债券的远期价格是$95,期权的执行价是$98,无风险利率是11%,距期权到期日的事件时3年,债券价格的变化率是2.5%。
[call,put]=blkprice(95,98,0.11,3,0.025)
call=0.4162(or$0.42)
put=2.5729(or$2.57)
(5)blsprice函数
目的买权或卖权的Black-Scholes定价。
布莱克-斯科尔斯看涨期-看跌期权定价
格式[callprice,putprice]=blsprice(price,strike,rate,time,volatility,dividendrate)
参数price当前资产价格。
Strike执行价格。
Rate无风险利率。
输入小数。
Time距期权到期日的时间。
Volatility资产收益的年连续复利的标准差,即变化率。
Dividendrate(期权)资产股息率。
输入小数。
默认=0。
描述[callprice,putprice]=blsprice(price,strike,rate,time,volatility,dividendrate)使用Black-Scholes定价公式计算卖权和买权的价值。
Note这个方程使用normcdf,统计工具箱中的一般累积分布方程。
例9-5当前资产价值是$100,期权执行价是$95,无风险利率是10%,距期权到期日0.25年,资产标准差是50%。
[callprice,putprice]=blsprice(100,95,0.1,0.25,0.5)
callprice=13.70
putprice=6.35
blackdingjia1:
price=100;
strike=95;
rate=0.1;
time=0.25;
volatility=0.5;
[callprice,putprice]=blsprice(price,strike,rate,time,volatility)
附blkprice,blsdelta,blsgamma,blsimpv,blslambda,blsrho,blstheta,blsvega.
9.2价格变动的敏感度
(1)blsdelta函数
目的潜在价格变动的Black-Scholes敏感度。
对标的价格变化的布莱克-斯科尔斯敏感性
格式[calldelta,putdelta]=blsdelta(price,strike,rate,time,volatility,dividendrate)
参数price当前股票价格。
Strike执行价格。
Rate无风险利率。
输入小数。
Time距期权到期日的时间。
Volatility股票收益的年连续复利的标准差,即变化率。
Dividendrate(期权)股息率或可应用外汇利率。
输入小数。
默认=0
描述[calldelta,putdelta]=blsdelta(price,strike,rate,time,volatility,dividendrate)得出增量,期权价值对国债价格变动的敏感度。
增量也叫套利率。
Note这个方程使用normcdf,统计工具箱中的一般累积分布方程。
例9-6[calldelta,putdelta]=blsdelta(50,50,0.1,0.25,0.3,0)
calldelta=0.5955
putdelata=-0.4045
(2)blsgamma函数
目的对增量变化的Black-Scholes敏感度。
对标的delet变化的布莱克-斯科尔斯敏感性
格式gamma=blsgamma(price,strike,rate,time,volatility,dividendrate)
参数price当前股票价格。
Strike执行价格。
Rate无风险利率。
输入小数。
Time距期权到期日的时间。
Volatility股票收益的年连续复利的标准差,即变化率。
Dividendrate(期权)输入小数。
默认=0
描述gamma=blsgamma(price,strike,rate,time,volatili