资产组合有效前沿的解和最优解(MATLAB语言)

基础理论:在资产组合理论中,核心思想是资产分散化配置,用以来防范个体风险,因此存在一个最优解的问题。

如果按照马科维茨的逻辑,资产配置,就是资产在不同资产产品之间的分配,以求达到方差和期望收益的最佳组合,这个组合的最优解取决于投资者自身的偏好和资本有效配置问题。资产的配置有效的前提是资产配置位于资产组合的有效边沿上,在此上的资产组合才能根据投资者的具体偏好而做到最优解。

 

资产有效前沿的概念:建立在均值-方差基础上的资产组合理论,寻求的最优解结果是在等方差的情况下没收益的最大化;或者,等收益的情况下,方差的最小化。

用数学语言描述就是如下的线性规划问题:

资产组合有效前沿的解和最优解(MATLAB语言)

计算资产组合有效前沿的函数为:frontcon

函数语法:

[PortRisk,PortReturn,PortWts]=frontcon(ExpReturn,ExpCovariance,Numports,,PortReturn,AssetBounds,Groups,GroupBounds,varargin)

输入变量:

ExpReturn      %资产组合中的每项期望回报

ExpCovariance  %单向资产的协方差矩阵

Numports      %可选,资产有效前沿上的点的个数,默认为10,样本点,决定输出参数维数,在最大收益和最小风险之间等隔划分

PortReturn     %可选,资产有效前沿上的资产组合的回报,同Numport关联的变量

AssetBounds   %可选,单向资产的权重约束,2列,第一列权重的下边界,第二列权重的上边界

Groups        %可选,分组条件

GroupBounds   %可选,组约束条件

Varargin       %可选,自选参数

 

输出变量:

PortRisk      %资产组合的标准差

PortReturn    %资产组合收益

PortWt       %资产组合权重

 

 

备注:frontcon函数中,可以只使用前三个参数,如需画图;

可以调用画图函数plot.plot函数的使用方法为:plot(PortRisk,PortReturn,’r+ -’)

即可得资产组合边界图,front条件下不允许卖空

实例:

 

>> ExpReturn=[0.405533 0.49012 0.507552 0.620121 0.438577];

ExpCovariance=[0.000603 0.000565 0.000644 0.000589 0.000512

               0.000565 0.000596 0.000656 0.000612 0.000537

               0.000644  0.000656 0.000839 0.00071 0.000648

               0.000589 0.000612  0.00071 0.000716 0.000643

               0.000512 0.000537 0.000648 0.000643 0.000712];

NumPort=30;

[PortRisk,PortReturn ,PortWts]=frontcon(ExpReturn,ExpCovariance,NumPort)

得到以下结果:

 

PortRisk =

 

    0.0238

    0.0239

    0.0239

    0.0239

    0.0240

    0.0240

    0.0241

    0.0242

    0.0242

    0.0243

    0.0244

    0.0245

    0.0246

    0.0246

    0.0247

    0.0248

    0.0249

    0.0250

    0.0251

    0.0252

    0.0254

    0.0255

    0.0256

    0.0258

    0.0259

    0.0261

    0.0262

    0.0264

    0.0266

    0.0268

 

 

PortReturn =

 

    0.4415

    0.4476

    0.4538

    0.4599

    0.4661

    0.4723

    0.4784

    0.4846

    0.4907

    0.4969

    0.5031

    0.5092

    0.5154

    0.5216

    0.5277

    0.5339

    0.5400

    0.5462

    0.5524

    0.5585

    0.5647

    0.5708

    0.5770

    0.5832

    0.5893

    0.5955

    0.6016

    0.6078

    0.6140

    0.6201

 

 

PortWts =

 

    0.4283    0.3305   -0.0000    0.0000    0.2412

    0.3618    0.4074    0.0000    0.0000    0.2307

    0.2953    0.4843    0.0000    0.0000    0.2203

    0.2288    0.5612    0.0000    0.0000    0.2099

    0.1623    0.6381    0.0000    0.0000    0.1995

    0.1074    0.6972    0.0000    0.0072    0.1883

    0.0918    0.6952    0.0000    0.0388    0.1742

    0.0763    0.6932    0.0000    0.0705    0.1600

    0.0607    0.6913    0.0000    0.1022    0.1459

    0.0452    0.6893    0.0000    0.1338    0.1317

    0.0296    0.6873    0.0000    0.1655    0.1176

    0.0141    0.6853   -0.0000    0.1972    0.1035

         0    0.6815   -0.0000    0.2296    0.0889

         0    0.6600   -0.0000    0.2697    0.0704

         0    0.6385   -0.0000    0.3097    0.0518

         0    0.6170   -0.0000    0.3497    0.0333

         0    0.5955   -0.0000    0.3898    0.0147

         0    0.5687   -0.0000    0.4313         0

         0    0.5213   -0.0000    0.4787         0

         0    0.4739   -0.0000    0.5261         0

         0    0.4265   -0.0000    0.5735         0

    0.0000    0.3791   -0.0000    0.6209         0

         0    0.3317   -0.0000    0.6683         0

         0    0.2843   -0.0000    0.7157         0

         0    0.2369   -0.0000    0.7631         0

         0    0.1896   -0.0000    0.8104         0

         0    0.1422   -0.0000    0.8578         0

         0    0.0948   -0.0000    0.9052         0

   -0.0000    0.0474   -0.0000    0.9526         0

0.0000    0.0000         0    1.0000         0

 

再输入:

>> plot(PortRisk,PortReturn,'r+ -')

得到资产组合边界图:

资产组合有效前沿的解和最优解(MATLAB语言)

猜你喜欢

转载自blog.csdn.net/northhan/article/details/51122155
今日推荐