基于MATLAB的金融工程方法及应用 资料 作业3 套期保值

上传人:w****i 文档编号:94540602 上传时间:2019-08-08 格式:DOC 页数:7 大小:73KB
返回 下载 相关 举报
基于MATLAB的金融工程方法及应用 资料 作业3 套期保值_第1页
第1页 / 共7页
基于MATLAB的金融工程方法及应用 资料 作业3 套期保值_第2页
第2页 / 共7页
基于MATLAB的金融工程方法及应用 资料 作业3 套期保值_第3页
第3页 / 共7页
基于MATLAB的金融工程方法及应用 资料 作业3 套期保值_第4页
第4页 / 共7页
基于MATLAB的金融工程方法及应用 资料 作业3 套期保值_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《基于MATLAB的金融工程方法及应用 资料 作业3 套期保值》由会员分享,可在线阅读,更多相关《基于MATLAB的金融工程方法及应用 资料 作业3 套期保值(7页珍藏版)》请在金锄头文库上搜索。

1、金融工程应用分析大作业姓名:方钰样本区间自定1、 选取100支股票,按照值大小分成10组,每组作为一个投资组合,按照价值加权的方式构造每个投资组合的指数。2、 以这10投资组合为样本检验CAPM模型是否正确?3、 如果某基金的持仓情况如下,括号内为权重,基金现值为1亿元招商银行(10%)、长江电力(15%)、上海机场(10%)、华侨城(10%)、国电电力(20%)、五粮液(15%)、浦发银行(10%)、万科A(10%)用沪深300指数股指期货进行套期保值,计算需要多少份合约?4、 计算此投资组合的边际VaR和成分VaR?如果此基金需要减仓,应该首先降低那个股票的仓位?(边际VaR和成分VaR的

2、定义和概念,可以参考菲力浦jorian 在险价值的书)1、样本的选择:在07基金重仓股中选取了100支股票,数据选择区间则是07年全年的日收盘价的前200个数据。股指数据是沪深300指数,样本区间同股票的样本。无风险利率则选取的银行一年期的存款利率4.14%。股票的市值选用07年流通市值。(1)算股票收益率function r=price2return(price)%输入:价格矩阵 M*N N个资产,M个观测值%输出:收益率矩阵 (M-1)*Nlogprice=100*log(price);M,N=size(price);r=zeros(M-1,N);for i=1:N r(:,i)=logp

3、rice(2:end,i)-logprice(1:end-1,i)end(2)算beta并分组function betavector,r_sort,port_r=sortbybeta(r,rp,rf,group) %程序目的:对capm检验给定的个股按照beta值进行排序%输入1:个股的原始收益率矩阵,M*N矩阵,M为样本容量,N为资产数目%输入2: rp 股票指数的收益率 列向量 M*1%输入3:rf 无风险收益率%输入4:group 每组的包含的股票个数%输出1:betavector 排序后的beta向量,N*1%输出2:r_sort 按照此排序得到新的收益率矩阵,M*N(第一列的数据be

4、ta最小,最后一列beta最大)%输出3:port_r分组后得到的投资组合的收益率矩阵group10M,N=size(r)rp_ad=rp-rf; %经过风险调整的股指收益r_ad=r-rf;intercept=ones(M,1);betavector=zeros(N,1);for i=1:N;alpha,betavector(i),alpha_pvalue,e=ols_capm(r_ad(:,i),intercept rp_ad);end%把股票按照beta大小进行分类,分成q组betavector1,index=sortrows(betavector);%按照beta的大小将各个股票进行排

5、列,生成新的收益率矩阵,第一列的beta最小%betavector1为排序好的beta值向量r_sort=zeros(M,N);for i=1:N;r_sort(:,i)=r_ad(:,index(i);end%生成投资组合,给出投资组合的收益率Q=floor(N/group);port_r=zeros(M,Q);for i=1:Q; temp1=cumsum(r_sort(:,(i-1)*group+1:i*group),2); temp2=temp1(:,end); port_r(:,i)=temp2/group;end 按照排序出来的betavector1与betavector比较得出排

6、序好的beta值对应的股票的序号,并按10个一组写成1010的矩阵a,利用如下程序选择出对应的股票市值。其中guzhi是按照原始的股票排列顺序的市值矩阵,同样为1010的。(3)按分组情况给出市值p=zeros(10,10);for i=1:10;for j=1:10;q=a(i,j);g=guzhi(q);p(i,j)=g;end;end;把分好组的股指数据导入excel,利用excel的公式算得按价值加权的每个投资组合里各个股票的权重。2、CAPM检验function out=grscapmtest(p_stock,p_index,rf,group)%程序目的:给定原始个股的价格数据,无风

7、险收益率数据,股指价格数据,对capm模型进行检验%输入1:p_stock个股的原始价格矩阵,M*N矩阵,M为样本容量,N为资产数目%输入2: p_index 股票指数的收益率 列向量 M*1%输入3:rf 无风险收益率%输入4:f 采样的间隔%输入5:group 每个投资组合的包含的股票个数%输出:为一个输出结构r=price2return(p_stock);rp=price2return(p_index);group=10;betavector,r_sort,port_r=sortbybeta(r,rp,rf,group);T,N=size(port_r);alpha_port=zeros

8、(N,1);beta_port=zeros(N,1);alpha_portpvalue=zeros(N,1);resid_port=zeros(T,N);for j=1:N;alpha_port(j),beta_port(j),alpha_portpvalue(j),resid_port(:,j)=ols_capm(port_r(:,j),ones(T,1) rp-rf);end%循环的目的:求解sigma矩阵sigma_port=zeros(N,N);for k=1:T; sigma_port=sigma_port+resid_port(k,:)*resid_port(k,:);end si

9、gma_port=sigma_port/T;% 计算指数的夏普比率shape_rp=mean(rp)/std(rp);% 计算GRS统计量及P值grs_stat=alpha_port*inv(sigma_port)*alpha_port/(1+shape_rp2)/N*(T-N-1);port_pvalue=1-fcdf(grs_stat,N,T-N-1);shape_porteff=(alpha_port*inv(sigma_port)*alpha_port+shape_rp2)0.5;%输出结构out.alpha_port=alpha_port;out.alpha_portpvalue=a

10、lpha_portpvalue;out.shape_rp=shape_rp;out.shape_porteff=shape_porteff;out.beta_port=beta_port;out.sigma_port=sigma_port;out.grs_stat=grs_stat;out.port_pvalue=port_pvalue;计算结果:3、采集数据:取2007年1月1日到2007年12月31日时间段内以上八只股票及沪深300的日收益率,样本数为220。调用程序:function N_star=stockhedging(r_stock,r_index,w,S,F)M,N=size(r

11、_stock);beta=zeros(N,1);for i=1:N; alpha,beta(i),alpha_pvalue,e=ols_capm(r_index,ones(M,1) r_stock(:,i);endN_star=w*beta*S/F;其中:输入r_stock为投资组合的收益率矩阵,在这里为220*8,220个样本,8支股票 输入r_index为股票指数的收益率向量,在这里为220*1列向量,命名为rp 输入w为投资组合中各股票的权重向量,根据题目条件在这里为(0.1 0.15 0.1 0.1 0.2 0.15 0.1 0.1),1*8行向量 输入S为投资组合的价值,依题为一亿元

12、 输入F为期货合约的价值,依题采用沪深300指数,在这里取2007年底沪深300指数5338.28*3001601484元,即为期货合约的价值 输出N_star为所求得的合约份数运行程序:load 投资组合.matout=stockhedging(ZS CJ SH HQ GD WL PF WK,rp,W,100000000,1601484)结果:out =452.5250因此合约份数N452.52504. 取招商银行(10%),长江电力(15%),上海机场(10%),华侨城(10%),国电电力(20%),五粮液(15%) ,浦发银行(10%),万科A(10%)从2007.1.42007.12.

13、31收盘价前220个数据X=0.1; 0.15; 0.1; 0.1; 0.2; 0.15; 0.1; 0.1V=100000000*xconfidence=0.05 (取置信度为5%)(1)求解投资组合的方差协方差矩阵var_portfunction mean_port,var_port=port(price,x)%输入1:价格矩阵 N*M矩阵%输入1:投资权重 N*1列向量%输出1:投资组合的预期收益%输出2:投资组合的方差N,M=size(price);log_price=100*log(price);% 2. 将原始价格数据转化为对数数据,并进一步转化为收益率数据logreturn=ze

14、ros(N-1,M);for j=1:M;logreturn(:,j)= log_price(2: end,j) - log_price(1: end-1,j);end% 3. 求解收益率数据的均值向量与方差协方差矩阵mean_vector=mean(logreturn,1);cov_matrix=cov(logreturn);corr_matrix=corrcoef(logreturn);% 4. 求解投资组合的均值与方差mean_port=mean_vector*x;var_port=x*cov_matrix*x;% 5. 输出投资组合的均值与方差fprintf(投资组合的均值 %8.5f

15、n,mean_port);fprintf(投资组合的方差 %8.5fn,var_port);(2)采用历史模拟法估计投资组合的VaRfunction Rp,VaR=porthistvar(price,confidence,x,V)%输入1:投资组合的价格矩阵 price M*N矩阵,M为样本容量,N为资产数目%输入2:置信水平 scalar confidence%输入3:权向量 x *N的行向量 %输入4:资产价值V%输出1:投资组合的收益率序列,Rp 列向量%输出2:投资组合的VaR, VaR,scalar%第一步,生成各个资产的收益率矩阵logp=log(price);N,M=size(price);R=z

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号