MATLAB是一个非常强大的数学软件,又称为矩阵实验室。一直以来,人们普遍认为复杂的东西很难学。但MATLAB的特点是在处理金融数据的时候非常简单而且非常高效,很多大数据在软件上瞬间就可以完成处理,而且它就像草稿纸一样可以随心处理自己想要的东西。以下是一些非常简单的MATLAB金融数据处理常识。
案例:
(1) 欧式期权Delta计算
现有欧式期权,其标的资产价格为25元,行权价格为28元,无风险利率为8.25%。存续期为0.3年,波动率为0.45,存续期无股票红利。
Delta值(δ),又称对冲值:是衡量标的资产价格变动时,期权价格的变化幅度 。用公式表示:Delta=期权价格变化/标的资产的价格变化。认购期权的Delta值为正数(范围在0和+1之间),因为股价上升时,认购期权的价格也会上升。认沽期权的Delta值为负数(范围在-1和0之间),因为股价上升时,认沽期权的价格即会下降。等价认购期权之Delta值会接近0.5,而等价认沽期权的则接近-0.5。
>> [cdelta pdelta]=blsdelta(25,28,0.0825,0.3,0.45)
cdelta =
0.4067
pdelta =
-0.5933
看涨欧式期权delta为0.4067,看跌欧式期权delta为-0.5933
(2)欧式期权的Gamma计算
现有欧式期权,其标的资产价格为35.5元,行权价格为36元,无风险利率为8.25%,波动率为0.45,存续期为0.3年,存续期无股票红利。
Gamma是反映期货价格变动一个单位,是 变动的幅度。如某一期权的 为0.6,Γ值为0.05,则表示期货价格上升1元,所引起 增加量为0.05. 将从0.6增加到0.65。平值期权的Γ值最大,深实值或深虚值期权的Γ值则趋近于0。Γ值越大,表明 的变化速度愈快,部位风险程度高。
>> gamma=blsgamma(35.5,36,0.0825,0.3,0.45)
gamma =
0.0450
(3)欧式期权Vega值计算
现有欧式期权,其标的资产价格为35.5元,行权价格为36元,无风险利率为8.25%,波动率为0.45,存续期为0.3年,存续期无股票红利。
Vega值是期权价格关于标的资产价格波动率的敏感程度。从数学上来说,vega是期权价格关于标的资产价格波动率的一阶偏导数。
Vega=期权价格变化/波动率的变化。
>> vega=blsvega(35.5,36,0.0825,0.3,0.45)
vega =
7.6498
(4)欧式期权Theta值计算
现有欧式期权,其标的资产价格为35.5元,行权价格为36元,无风险利率为8.25%,波动率为0.45,存续期为0.3年,存续期无股票红利。
Theta(θ)是用来测量时间变化对期权理论价值的影响。表示时间每经过一天,期权价值会损失多少。theta=期权价格变化/到期时间变化。在其他因素不变的情况下,不论是看涨期权还是看跌期权,到期时间越长,期权的价值越高;随着时间的经过,期权价值则不断下降。时间只能向一个方向变动,即越来越少。因此按照公式计算的theta是正值。但一般用负来表示,以提醒期权持有者,时间是敌人。对于期权部位来说,期权多头的theta为负值,期权空头的theta为正值。负theta意味着部位随着时间的经过会损失价值。对期权买方来说,Theta为负数表示每天都在损失时间价值;正的Theta 意味着时间的流失对你的部位有利。对期权卖方来说,表示每天都在坐享时间价值的入。
> [Palltheta,Putheta]=blstheta(35.5,36,0.0825,0.3,0.45)
Palltheta =
-7.0942
Putheta =
-4.1968
(5)欧式期权隐含波动率计算
现有欧式期权,其标的资产价格为53元,行权价格为50元,无风险利率为8.25%,波动率为0.45,存续期为0.3年,期权价格为存续期无股票红利。
隐含波动率(Implied Volatility)是将市场上的期权或权证交易价格代入权证理论价格模型<Black-Scholes模型>,反推出来的波动率数值。
>> Volatility=blsimpv(53,50,0.085,0.3,5)
Volatility =
0.2036
(6)欧式期权定价模型
股票价格为49元,行权价格为50元,无风险利率为8.25%,波动率为0.6,存续期为0.3年,期权价格为存续期无股票红利。
>> [cprice pprice]=blsprice(49,50,0.085,0.3,0.6,0)
cprice =
6.5088
pprice =
6.2499
看涨期权价格为6.5088,看跌为6.2499
(7)债券久期和凸性计算
一国债,息票率为8.5%,半年付息,收益率为6.3%,结算日为2008-4-12,到期日为2020-3-1,市场交易价格为101.23.
久期也称持续期,是1938年由F.R.Macaulay提出的。它是以未来时间发生的现金流,按照目前的收益率折现成现值,再用每笔现值乘以现在距离该笔现金流发生时间点的时间年限,然后进行求和,以这个总和除以债券目前的价格得到的数值就是久期。概括来说,就是债券各期现金流支付时间。
久期描述了价格-收益率曲线的斜率,凸性描述了价格/收益率曲线的弯曲程度。凸性是债券价格对收益率的二阶导数。
债券的久期是价格利率的导数,凸性是久期对利率的导数。
>> couponrate=0.085;
>> price=101.23;
>> yield=0.063;
>> settle='4-21-2008';
>> maturity='3-1-2020';
>> [moddur,yeardurm,perdur]=bnddurp(price,couponrate,settle,maturity)
moddur =
7.3323
yeardurm =
7.6378
perdur =
15.2756
>> [yearconv perconv]=bndconvp(price,couponrate,settle,maturity)
yearconv = %以年计算的债券凸性
73.5959
perconv = %以period参数为计量单位的凸性
294.3836
(8)CD产品到期收益率计算
CD票息率为5%,结算日为2002-1-2,到期日为2002-3-31,发行日2001-10-1,价格为101.125,求其到期收益率。
>> price=101.125;
>> coupon=0.05;
>> settle='02-Jan-02';
>> maturity='31-Mar-02';
>> issuedate='1-Oct-01';
>> yield=cdyield(price,coupon,settle,maturity,issuedate)
yield =
0.0039
(9)CD类产品应计利息计算
CD票息率为5%,结算日为2002-1-2,到期日为2002-3-31,发行日2001-10-1,求其应计利息。
>> coupon=0.05;
>> settle='02-Jan-02';
>> maturity='31-Mar-02';
>> issuedate='1-Oct-01';
>> accrint=cdai(coupon,settle,maturity,issuedate)
accrint =
1.2917
(10)回购贴现率计算
短期债券的初始贴现率为4.75%,债券到期日为2008年4月3日,购买债券日期为2008年1月3日,卖出债券日期为2008年2月3日,回购利率为4.5%,求此项回购盈亏平衡点贴现率。
> repo=0.045;
>> initialdis=0.0475;
>> purchaedate='1-3-2008';
>> saledate='2-3-2008';
>> maturity='4-3-2008';
>> TBEDiscount=tbillrepo(repo,initialdis,purchaedate,saledate, maturity)
TBEDiscount =
0.0491
(11)贴现债券价格计算
有一贴现债券结算日为2008-4-20,到期日为2008-6-3,贴现率为4.67%,求其价格。价格计息天数法则为actual/360.
>> prdisc('4-20-2008','6-3-2008',100,0.0467,2) %Basis参数之所以是2,是因为T-bill交易市场的计息原则是actual/360.
ans =
99.4292
(12)国债交易价格计算
有一国债,到期收益率为5.83%,计算日为2008-4-21,到期日为2015-3-1,票息率为7.5%,求交易价格。
>> yield=0.0583;
>> coupon=0.075;
>> settle='4-21-2008';
>> maturity='3-1-2015';
>> [price ai]=bndprice(yield,coupon,settle,maturity)
price =
109.3232
ai =
1.0394
(13)计算T-bill的收益率
现有结算日为2008-10-9的国债,到期日为2009-2-24,结算价为98.75,计算MMY(货币市场计息的收益率)、BEY(债券市场收益率)和贴现率。
>> Price=98.75;
>> Settle='09-Oct-08';
>> Maturity='24-Feb-09';
>> [MMYield,BEYield,Discount]=tbillyield( Price,Settle,Maturity)
MMYield =
0.0330
BEYield =
0.0335
Discount =
0.0326
(14)国库券定价
某T-bill交割日为2008-4-17,到期日为2008-8-13,年贴现率为0.0398,求债券收益率。
>> dis=0.0398;
>> set='4-17-2008';
>> mat='8-13-2008';
>> [bey mmy]=tbilldisc2yield(dis,set,mat)
bey = %按照债券市场收益率按照365天计算
0.0409
mmy = %按照货币市场收益率按照360天计算
0.0403
(15)国库券贴现率计算
某T-bill交割日为2008-4-17,到期日为2008-8-13,年收益率为0.04088616,求其贴现率。
>> yield=0.04088616;
>> set='4-14-2008';
>> mat='8-13-2008';
>> dis=tbillyield2disc(yield,set,mat)
dis =
0.0403
>> dis=tbillyield2disc(yield,set,mat,2)
dis =
0.0398
(16)净现值计算
有一项目,在2007年1月12日投入10000元,2008年2月14日收回2500元,2008年3月3日收回2000元,在2008年6月14日收回3000元,在2008年12月1日收回4000元,在折现率为9%时,项目的净现值(NPV)是多少?
>> CashFlow=[-10000,2500,2000,3000,4000];
>> IrrCFDates=['01/12/2007'
'02/14/2008'
'03/03/2008'
'06/14/2008'
'12/01/2008'];
>> pvvar(CashFlow,0.09,IrrCFDates)
ans =
142.1648
净现值142.16,值得投资
(17)现金流终值计算
购买一份保险,首次支付1500元,以后每月支付200元,支付10年,在折现率为9%时,现金流的终值是多少。
>> fvfix(0.09/12,12*10,200,1500,0)
ans =
4.2380e+04
(18)日期批量生成
>> datestr(datenum(2008,1:3,3))
ans =
03-Jan-2008
03-Feb-2008
03-Mar-2008
(19)亚式期权定价
某亚式期权标的物为不分红股票,股价为50元,期权执行价格为50元,股价波动率为40%,无风险利率为10%,到期日是一年后。也即是是S0=50,K=50,r=10%,q=0,=0.4,T=1.期权行权价格为最后两个月股票价格的算术平均。
将1年时间分为60个间隔,则最后两个月的股票平均价格是最后10个节点的价格数据,计算期权价格。
>> [Price OptionGrid AvgGrid]=asiaoptioneur(50,0.4,50,0.1,0.1,60,10)
|
|