matlab 最优资产组合,[转载]资产组合有效前沿的解和最优解(MATLAB语言)

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

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

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

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

a4c26d1e5885305701be709a3d33442f.png

计算资产组合有效前沿的函数为: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+

-')

得到资产组合边界图:

a4c26d1e5885305701be709a3d33442f.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值