资源描述:
《《投资组合优化》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第十二章投资组合优化Outline矩阵求导简介优化知识允许卖空情况下的投资组合优化不允许卖空情况下的投资组合优化矩阵求导的有关知识数对向量求一阶导假设X为列向量,存在函数f(X),其自变量为向量,因变量取值为标量定义n阶向量的一阶导数如下:其中Remark:scalar-valuedfunctionofavector,又称梯度数对向量求二阶导假设X为列向量,存在函数f(X),其自变量为向量,因变量取值为标量定义n阶向量的二阶导数如下:其中Remark:scalar-valuedfunctionofave
2、ctor,又称海赛矩阵,n*n方阵例子假如Matlab实现Symsx1x2X=[x1x2]F=2*x1+3*x1*x2Dfdx=[diff(F,x1);diff(F,x2)]g1=jacobian(Dfdx,X)向量对向量求一阶导数假设X为列向量,存在函数f(X),其自变量为向量,因变量取值也为向量f(X)的一阶导数如下:Matlab实现SymsstV=[s;t]f=[t^2*log(s);s^3*log(2+t)]dfdx=jacobian(f,V)例子假如向量对向量求一阶导数假设X为列向量,A为方阵
3、如果A为对称阵则优化与投资组合理论总结数对列向量求导仍为列向量列向量对列向量求导为矩阵主要内容问题1:给定预期收益,最小化风险问题2:给定风险,最大化预期收益问题3:不考虑预期收益,最小化风险问题4:不考虑风险,最大化预期收益问题1给定预期收益时,最小化风险目标函数为二次型约束为线性约束当不允许卖空时,当限制了某个资产投资份额,给定投资权重的上下界问题2给定风险时,最大化收益目标函数为线性约束为非线性约束和线性约束问题3不考虑预期收益,最小化风险目标函数为二次型约束为线性约束问题4不考虑风险,最大化收益
4、目标函数为线性约束为线性约束允许卖空时投资组合优化投资组合优化的数学表述给定收益情况下风险最小化风险采用方差来衡量目标函数约束条件1约束条件2投资组合优化其中,w为N支股票权重的列向量,e表示N支股票的N维期望收益率向量,I为N维单位向量,V为投资组合的方差协方差矩阵,以三维为例投资组合优化目标函数约束条件1约束条件2投资组合优化的数学表述第一步,写出矩阵形式的拉格朗日函数第二步,求解一阶条件Remark:第一个等式实际上可以展开n个投资组合优化的数学表述其中,0是三维零向量。由于V是正定矩阵,因此上述
5、一阶条件也是全局优化的充分必要条件。由上述方程可得投资组合优化的数学表述由上述方程可得,拉格朗日乘子投资组合优化的数学表述由上述方程可求投资组合权重对应的方差允许卖空情况下的权重求解function[wp,varp]=meanvar(e,V,rp)%.求解投资组合权重%输入:e每个资产的预期收益率组成的收益率列向量%输入:V收益率的方差协方差矩阵%输入:rp为投资组合的预期回报率%输出:wp为投资组合权重,列向量%输出:varp为投资组合的方差允许卖空情况下的权重求解M=length(e);I=ones
6、(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种资产,
7、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页中
8、公式(3.8.1)eV=cov(logreturn);%对应41页中公式(3.8.1)Vrp=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));endsigmap=varp.^(0.5);plot(sigmap,rp,'co');out.rp=rp;out