您好,欢迎访问三七文档
当前位置:首页 > 金融/证券 > 投融资/租赁 > 第十二章投资组合优化1
第十二章投资组合优化Outline•矩阵求导简介•优化知识•允许卖空情况下的投资组合优化•不允许卖空情况下的投资组合优化矩阵求导的有关知识数对向量求一阶导•假设X为列向量,存在函数f(X),其自变量为向量,因变量取值为标量•定义n阶向量的一阶导数如下:•其中•Remark:scalar-valuedfunctionofavector,又称梯度11(,,,)nfXfxxx12nfffXfiiffx数对向量求二阶导•假设X为列向量,存在函数f(X),其自变量为向量,因变量取值为标量•定义n阶向量的二阶导数如下:•其中•Remark:scalar-valuedfunctionofavector,又称海赛矩阵,n*n方阵12(,,,)nfXfxxx1112122122212nnnnnnfffffffXXfffijijffxx例子•假如12112(,)23fXfxxxxx1212233fxxfxfXx12xXx20330fXfXXXMatlab实现•Symsx1x2•X=[x1x2]•F=2*x1+3*x1*x2•Dfdx=[diff(F,x1);diff(F,x2)]•g1=jacobian(Dfdx,X)向量对向量求一阶导数•假设X为列向量,存在函数f(X),其自变量为向量,因变量取值也为向量•f(X)的一阶导数如下:12mfXfXfXfX111212122212nnmmmnfffffffXfffiijjffx12nxxXxMatlab实现•Symsst•V=[s;t]•f=[t^2*log(s);s^3*log(2+t)]•dfdx=jacobian(f,V)例子•假如12112(,)23fXfxxxxx1212233fxxfxfXx12xXx20330fXfXXX向量对向量求一阶导数•假设X为列向量,A为方阵如果A为对称阵则AXAXXAXAAXX12mxxXx2XAXAXX111212122212mmmmmmaaaaaaAaaa优化与投资组合理论总结•数对列向量求导仍为列向量•列向量对列向量求导为矩阵AXAAXX中为列向量,X为列向量,则A为矩阵XAXAAXXXAXXAAX中为标量为列向量,也为列向量主要内容•问题1:给定预期收益,最小化风险•问题2:给定风险,最大化预期收益•问题3:不考虑预期收益,最小化风险•问题4:不考虑风险,最大化预期收益问题1•给定预期收益时,最小化风险•目标函数为二次型•约束为线性约束•当不允许卖空时,•当限制了某个资产投资份额,给定投资权重的上下界VwwTw2/1min~pTrEew1Tw01iwiiiLwU问题2•给定风险时,最大化收益•目标函数为线性•约束为非线性约束和线性约束maxTwwe1Tw2TpwVw问题3•不考虑预期收益,最小化风险•目标函数为二次型•约束为线性约束VwwTw2/1min1Tw问题4•不考虑风险,最大化收益•目标函数为线性•约束为线性约束maxTwwe1Tw允许卖空时投资组合优化投资组合优化的数学表述•给定收益情况下风险最小化•风险采用方差来衡量•目标函数•约束条件1•约束条件2VwwTw2/1min~pTrEew1Tw投资组合优化•其中,w为N支股票权重的列向量,e表示N支股票的N维期望收益率向量,I为N维单位向量,V为投资组合的方差协方差矩阵,以三维为例1231111123eeee121221121313212223232131323233V投资组合优化•目标函数•约束条件1•约束条件221121312123212232231323322222211223312121313232312222wwV1~12321122333Tpewe1231111T投资组合优化的数学表述•第一步,写出矩阵形式的拉格朗日函数•第二步,求解一阶条件•Remark:第一个等式实际上可以展开n个TTpTwwewrEVwwL1)(2/1min..~0010pTppTPLVwewLErweLw投资组合优化的数学表述•其中,0是三维零向量。由于V是正定矩阵,因此上述一阶条件也是全局优化的充分必要条件。•由上述方程可得1111~111VeVVeeVerEVeVwTTTTpp投资组合优化的数学表述•由上述方程可得,拉格朗日乘子DrAEBDArCEpp~~投资组合优化的数学表述•由上述方程可求投资组合权重•对应的方差11112TTTTAVeeVBeVeCVDBCA11111()()1()()gBVIAVeDhCVeAVID~ppwghEr2TpppwVw允许卖空情况下的权重求解•function[wp,varp]=meanvar(e,V,rp)•%.求解投资组合权重•%输入:e每个资产的预期收益率组成的收益率列向量•%输入:V收益率的方差协方差矩阵•%输入:rp为投资组合的预期回报率•%输出:wp为投资组合权重,列向量•%输出:varp为投资组合的方差允许卖空情况下的权重求解•M=length(e);•I=ones(M,1);•A=I'*inv(V)*e;•B=e'*inv(V)*e;•C=I'*inv(V)*I;•D=B*C-A^2;•g=(B*(inv(V)*I)-A*(inv(V)*e))/D;•h=(C*(inv(V)*e)-A*(inv(V)*I))/D;•wp=g+h*rp;•varp=wp'*V*wp;投资组合有效前沿•functionout=graphmeanvar(price)•%purpose:给定N个资产价格矩阵,根据Mean-variance模型确定投资权重,参考教材《金融经济学基础》黄奇辅•%输入:N种资产,M个观测值的价格矩阵,N*M矩阵•%输出:每支资产的权重组成的列向量wp•[N,M]=size(price);•logprice=100*log(price);投资组合有效前沿•%2.将原始价格数据转化为对数数据,并进一步转化为收益率数据•logreturn=zeros(N-1,M);•forj=1:M;•logreturn(:,j)=logprice(2:end,j)-logprice(1:end-1,j);•end•%3.求解收益率数据的均值向量与方差协方差矩阵•e=mean(logreturn,1)';%对应41页中公式(3.8.1)e•V=cov(logreturn);%对应41页中公式(3.8.1)V•rp=linspace(min(e),max(e),101)';•varp=zeros(101,1);•wp=zeros(M,101);投资组合有效前沿•fori=1:101;•[wp(:,i),varp(i)]=meanvar(e,V,rp(i));•end•sigmap=varp.^(0.5);•plot(sigmap,rp,'co');•out.rp=rp;•out.varp=varp;•out.wp=wp;•out.total=[rp';varp';wp];投资组合有效前沿•xlabel('标准差');%x轴注解•ylabel('收益率');%y轴注解•title(‘允许卖空条件下的投资组合前沿');%图形标题允许卖空时投资组合的有效前沿loadma_port.mat;out=graphmeanvar([SHGHZS])允许卖空时投资组合权重图不允许卖空时投资组合优化投资组合优化的数学表述•给定收益情况下风险最小化•风险采用方差来衡量•目标函数•约束条件1•约束条件2•约束条件3•采用数值算法求解VwwTw2/1min~pTrEew1Tw0iw二次规划的一般形式•Matlab的函数形式x=quadprog(H,f,A,b,Aeq,Beq)min1/2..TTxHxfxstAxbAeqxbeqlbxub,,,,,,HAAeqfbbeqlbubx其中为矩阵,和为列向量投资组合优化如何用Matlab二次优化函数•Matlab的函数形式x=quadprog(H,f,A,b,Aeq,Beq)•以三个资产为例H=V;f=zeros(M,1)=(000)’,x=w1122330100010010101010Ab投资组合优化如何用表示成二次优化函数~pTrEew1212331111pwAeqwbeqweeeErw1231111pAeqbeqeeeErAeqxbeq•对应于如下两个约束条件1Tw不允许卖空时投资组合优化•functionout=shortmeanvar(price)•%purpose:给定N个资产价格矩阵,根据Mean-variance模型确定投资权重•%输入:N种资产,M个观测值的价格矩阵,N*M矩阵•%输出:每支资产的权重组成的列向量wp•[N,M]=size(price);•logprice=100*log(price);•%2.将原始价格数据转化为对数数据,并进一步转化为收益率数据•logreturn=diff(logprice);不允许卖空时投资组合优化•%3.求解收益率数据的均值向量与方差协方差矩阵•e=mean(logreturn,1)';%对应41页中公式(3.8.1)e,此时e为列向量•V=cov(logreturn);%对应41页中公式(3.8.1)V•rp=linspace(min(e),max(e),101)';•fori=1:101;•[wp(:,i),fval(i)]=quadprog(V,zeros(M,1),-eye(M,M),zeros(M,1),[ones(1,M);e'],[1;rp(i)]);•end不允许卖空时投资组合优化•sigmap=sqrt(2*fval);•plot(sigmap,rp,'co');•out.rp=rp;•out.wp=wp;•xlabel('标准差');%x轴注解•ylabel('收益率');%y轴注解•title(‘不允许卖空条件下的投资组合前沿');%图形标题不允许卖空时投资组合的有效前沿loadma_port.mat;out=shortmeanvar([SHGHZS])不允许卖空时投资组合权重图允许卖空时与不允许卖空时的比较总结•采用矩阵形式会使表达式非常简洁,但在优化时会涉及到矩阵求
本文标题:第十二章投资组合优化1
链接地址:https://www.777doc.com/doc-1191620 .html