
MATLAB金融计算试习题.doc
17页MATLAB金融计算试题(2014级研究生用)(上机操作使用)一、利率期限结构(20分) 已知国债面值是100美元,各期收益率为国债品种票息到期日当期收益3个月17-Apr-20131.156个月17-Jul-20131.182年1.7531-Dec-20141.685年3.0015-Nov-20172.9710年4.0015-Nov-20224.0130年5.37515-Feb-20414.92 试分析其利率期限结构MATLAB命令: bonds=[datenum('04/17/2013') 0 100; datenum('07/17/2013') 0 100; datenum('12/31/2014') 0.0175 100; datenum('11/15/2017') 0.03 100; datenum('11/15/2022') 0.04 100; datenum('02/15/2041') 0.0537 100]; yield=[0.0115 0.0118 0.0168 0.0297 0.0401 0.0492]'; settle=datenum('01/17/2013'); %结算日 [zerorates,curvedates]=zbtyield(bonds,yield,settle) datestr(curvedates) plot(zerorates)运行结果:zerorates = 0.0115 0.0118 0.0168 0.0302 0.0418 0.0550curvedates = 735341 735432 735964 737014 738840 745507ans =17-Apr-201317-Jul-201331-Dec-201415-Nov-201715-Nov-202215-Feb-2041二、期权定价(30分)若股票现在价格为$50,期权执行价格为$52,无风险利率为0.1,股票波动标准差为0.4,期权的到期日为6个月,且若这一卖权在3.5月时有一次股息支付$2。
1) 使用Black-Scholes定价公式计算欧式卖权和买权的价值;MATLAB命令:price=50;strike=52;rate=0.1;time=6/12;volatility=0.4;[callprice,putprice]=blsprice(price,strike,rate,time,volatility)运行结果:callprice = 5.8651putprice = 5.3290(2) 利用二项式期权定价(二叉树(CRR)模型定价数值解)计算看涨看跌期权价格;MATLAB命令:price=50;strike=52;rate=0.1;time=6/12;increment=1/12;volatility=0.4;flag=0;dividentrate=0;divident=2;exdiv=3.5;[price,option]=binprice(price,strike,rate,time,increment,volatility,flag,dividentrate,divident,exdiv)运行结果:得出二叉树每个交点处的资产价格和期权价值.price = 50.0000 55.8985 62.5172 69.9441 76.2699 85.6054 96.0836 0 44.7755 50.0326 55.9315 60.5420 67.9524 76.2699 0 0 40.1226 44.8084 48.0575 53.9398 60.5420 0 0 0 35.9790 38.1474 42.8167 48.0575 0 0 0 0 30.2809 33.9873 38.1474 0 0 0 0 0 26.9787 30.2809 0 0 0 0 0 0 24.0366option = 6.7016 3.9308 1.7652 0.4598 0 0 0 0 9.6686 6.2275 3.1393 0.9412 0 0 0 0 13.3762 9.5132 5.4560 1.9263 0 0 0 0 17.5811 13.8526 9.1833 3.9425 0 0 0 0 21.7191 18.0127 13.8526 0 0 0 0 0 25.0213 21.7191 0 0 0 0 0 0 27.9634由结果可知,option第一行第一列就是看跌期权价格,该期权价格为6.7016元。
MATLAB命令:price=50;strike=52;rate=0.1;time=6/12;increment=1/12;volatility=0.4;flag=1;dividentrate=0;divident=2;exdiv=3.5;[price,option]=binprice(price,strike,rate,time,increment,volatility,flag,dividentrate,divident,exdiv)运行结果:得出二叉树每个交点处的资产价格和期权价值.price = 50.0000 55.8985 62.5172 69.9441 76.2699 85.6054 96.0836 0 44.7755 50.0326 55.9315 60.5420 67.9524 76.2699 0 0 40.1226 44.8084 48.0575 53.9398 60.5420 0 0 0 35.9790 38.1474 42.8167 48.0575 0 0 0 0 30.2809 33.9873 38.1474 0 0 0 0 0 26.9787 30.2809 0 0 0 0 0 0 24.0366option = 4.9996 7.8792 12.0864 17.9441 25.1294 34.0369 44.0836 0 2.1193 3.6809 6.2599 10.3427 16.3840 24.2699 0 0 0.5473 1.0878 2.1622 4.2976 8.5420 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0由结果可知,option第一行第一列就是看涨期权价格,该期权价格为4.9996元。
(3) 假设股票价格服从几何布朗运动,试用蒙特卡洛模拟方法计算该期权价格MATLAB命令:s0=50;K=52;r=0.1;T=0.5;sigma=0.4;Nu=1000;randn('seed',0); %定义随机数发生器种子是0, %这样保证每次模拟的结果相同nuT=(r-0.5*sigma^2)*Tsit=sigma*sqrt(T)discpayoff=exp(-r*T)*max(0,s0*exp(nuT+sit*randn(Nu,1))-K);%期权到期时的现金流[eucall,varprice,ci]=normfit(discpayoff)运行结果:nuT = 0.0100sit = 0.2828eucall = 6.1478varprice = 10.2924ci = 5.5091 6.7865三、搜集数据并计算画图(50分)按照自己的研究生学号后两位数,在锐思金融数据库中搜集4种股票信息,包括最高价、最低价、收盘价和开盘价,数据个数2个月左右,建立数据表格要求使用MATLAB编程解决以下问题:(1) 将4种股票的收盘价格转化为收益率,并画出收益率直方图海虹控股MATLAB命令:TickSeries=[31.63 32.17 31.58 30.71 30.77 30.93 31.79 31.58 32 33.91 33.12 34.98 35.3 35.5 34.65 35.46 35.95 35.39 37.67 36.64 36.77 36.85 36.59 35.81 35.18 35.76 36.66 38.35 38.26 38.34 38.85 41.27 40.99 40.7 42.28]';RetSeries=tick2ret(。












