1、 【问题描述】
马克维茨投资组合模型是现代投资组合理论中的经典模型,其主要思想是选择一组多元化的投资组合,其期望收益率为各证券期望收益率的加权平均,风险为这一组合期望收益率的标准差。
通过数学运算,进行求解给定的风险水平下期望收益率最高的组合投资点,由这些投资组合点形成效率边界,但求解效率边界的方法十分复杂,增大了应用难度。因此将 matlab 软件应用于马克维茨投资组合模型的计算将克服其计算量大的缺点,并通过实际计算得出中国电信、中国平安、中国石油、中国银行、中信证券五只股票的最优投资方案。
现在有中国电信、中国平安、中国石油、中国银行、中信证券五只股票, 对应数据如表所示, 我们运用马克维茨投资组合模型并通过matlab计算出最佳投资组合方案。

(注:此表数据源于网络,单支股票的预期收益率通过 CAPM 模型,可计算股票的贝塔系数进而获得,方差以及股票间的协方差,采取对数收益率的计算方法,即根据公式:

使用stata计算,具体处理过于复杂故此处不再赘述。)
2、 【数学模型】
理论依据:
马克维茨投资组合模型有以下几个前提:
1.投资者在考虑每一次投资选择时,其依据是某一持仓时间内的证券收益的概率分布。
2.投资者是根据证券C的风险和收益。
4.在一定的风险水平上,投资者期望收益最大;相对应的是在一定的收益水平上,投资者希望风险最小。
(一)已知权重情况下计算收益与风险

模型解释:当股票的权重已知时,投资组合的期望回报率等于各支股票的权重与其相应预期收益率的乘积和,而其风险由协方差矩阵投资组合的权重确定。
(二)最优投资组合的确定

模型解释:在权重不确定的情况下,在无数种投资组合中,只要给定既定风险水平,我们总可以找到一种罪优的投资组合,所谓的最优投资组合是求取相同风险水平下收益最大的组合,也可说成是相同收益水平线下风险最小的组合,而由不同风险水平下最优投资组合点构成的曲线,我们称之为有效前沿(Efficient frintier)
3、 【程序】
(1) 已知权重情况下计算收益与风险
在Matlab——Financial Toolbox库中有portstats函数可以计算其收益与风险
portstats函数:
[PortRisk, PortReturn] = portstats(ExpReturn, ExpCovariance,PortWts)
ExpReturn是预期收益
estimatePortMoments(p,PortWts);
PortShapRitio = PortReturn./PorRisk
display(PortWts);

(3) 若投资组合的权重有上限或者下限,假设为投资组合权重不超过50%
在实际生活中要考虑到法律法规、风险管理、证监会等条件的限制,此时投资比例有约束条件,比如根据我国现行的《证券投资基金运作管理办法》的有关规定,目前我国的证券投资基金在投资比例上有着严格的限制,对于投资股票的投资比例,必须满足以下要求:一只基金持有一家上市公司的股票,其市值不得超过基金资产净值的10%;同一基金管理人管理的全部基金持有一家公司发行的证券,不得超过该证券的10%。这就是大家常说的“双十限制”。
具体代码:
ExpReturn=0.01*[-0.02, 0.19, -0.19,0.06,0.05];
ExpCovariance=[5 2 2 2 4;
2 6 3 3 7;
2 3 5 3 4;
2 3 3 4 5;
4 7 4 5 15]*0.0001
NumPorts=10;
AssetBounds=[0 0 0 0 0 ;0.5 0.5 0.5 0.5 0.5 ];
LowerBound=AssetBounds(1,:);%下限
UpperBound=AssetBounds(2,:);%上限
p = Portfolio;
p = setAssetMoments(p, ExpReturn, ExpCovariance);
p = setDefaultConstraints(p);
p = setBounds(p, LowerBound, UpperBound);
%Set up bounds for portfolio weights for a portfolio object为投资组合对象的投资组合权重设置界限
PortWts = estimateFrontier(p, NumPorts);
[PortRisk, PortReturn] = estimatePortMoments(p, PortWts);
PortShapRitio = PortReturn./PortRisk;
display(PortShapRitio);
display(PortWts);
subplot(1,2,1);plotFrontier(p, NumPorts);
xlabel('risk');
ylabel('profit');
title('风险与收益关系图')
4、 【结果】
(1) 已知权重情况下计算收益与风险

风险为0.0205

收益率为0.018%
(2) 最优投资组合的确定

风险与收益关系图

matlab 程序计算结果表
(三)若投资组合的权重有上限或者下限,假设为投资组合权重不超过50%
