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

实例:

>> 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    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    0.0474   -0.0000    0.9526         0

0    0.0000         0       1.0000         0

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MATLAB中,可以使用多目标遗传算法来求帕累托前沿最优解。下面是一个示例代码,展示了如何使用MATLAB实现多目标遗传算法来求帕累托前沿最优解集: ```matlab % 定义问题 fitnessfcn = @(x) [-x(1)^2 - x(2)^2, -(x(1)-1)^2 - (x(2)-1)^2]; nvars = 2; % 变量数目 lb = [0,0]; % 变量下限 ub = [2,2]; % 变量上限 % 设置遗传算法参数 options = optimoptions('ga','PopulationSize',100,'Generations',50); % 运行遗传算法 [x,fval,exitflag,output,population,scores] = gamultiobj(fitnessfcn,nvars,[],[],[],[],lb,ub,options); % 计算帕累托前沿集 paretoFrontIndices = paretofront(fval); paretoFront = fval(paretoFrontIndices,:); paretoSet = x(paretoFrontIndices,:); % 输出结果 disp('帕累托前沿集:'); disp(paretoFront); disp('相应的变量值:'); disp(paretoSet); ``` 在这个示例中,我们首先定义了一个多目标优化问题,其中目标函数为`[-x(1)^2 - x(2)^2, -(x(1)-1)^2 - (x(2)-1)^2]`。然后,我们设置了一些遗传算法参数,并使用`gamultiobj`函数来执行多目标遗传算法。最后,我们使用`paretofront`函数计算帕累托前沿集,并将结果输出为两个矩阵。 帕累托前沿集是一组非支配,它们在多个目标函数下都是最优的。在MATLAB中,我们可以通过计算目标函数值的拥挤度来选择帕累托前沿上的最优解。拥挤度表示在目标函数空间中的密度,较高的拥挤度表示更优。具体的拥挤度计算方法可以参考引用[3]中的描述。 希望这个示例代码可以帮助你求帕累托前沿最优解集。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值