MATLAB金融数据分析基础

论坛 期权论坛 期权     
出手必胜   2020-2-22 14:35   2375   1
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)

分享到 :
0 人收藏

1 个回复

倒序浏览
谢谢楼主分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:5
帖子:1
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP