【优化组合】基于遗传算法求解不同投资比例的收益附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法  神经网络预测 雷达通信  无线传感器

信号处理 图像处理 路径规划 元胞自动机 无人机

⛄ 内容介绍

20世纪40年代,生物模拟就已成为计算科学的一个组成部分,对机 器智能的强烈渴望大大推动了仿生学的发展, 对大规模优化问题有效 求解的现实需求,也大大推动了GA的产生,1962年美国J. Holland教授 受达尔文进化论的启发,首次提出了GA算法的思想,并于1975年发表了 著名的"Adaptaiton in Natural and Artificial Systems".GA是一 种崭新的全局优化算法, 它通过自然选择,遗传,变异等作用机制, 实 现各个个体的适应性的提高.

⛄ 部分代码

%Generic Algorithm for function f(x1,x2) optimum

clear all;%清变量

close all;%关闭所有图像

clc%清屏

%Parameters

Size=200;%%群空间   

G=1000;%最大迭代次数     

n=7;%投资数量

lamd=1;%(1) λ值

cov=xlsread('data');%各种房地产的收益率协方差

% r=[9.18 10.17 9.24 10.93 8.45 10.13 10.38];%期望收益率

r=[0.0918 0.1017 0.0924 0.1093 0.0845 0.1013 0.1038];%期望收益率

x=rand(Size,n);   %Initial Code

for i=1:Size

    xx(i,:)=x(i,:)/sum(x(i,:));%%初始化群体

end

%Main Program

for k=1:1:G%循环次数

time(k)=k;

%%%%%%%%%%%%%%计算适应度函数

for s=1:1:Size

    f1=0;

    f2=0;

    for i=1:n

        f1=f1+xx(s,i)*r(i);

    end

    for i=1:n

        for j=1:n

            f2=f2+xx(s,i)*xx(s,j)*cov(i,j);

        end

    end

    F(s)=exp((1-lamd)*f1-lamd*sqrt(f2)); %%%将目标函数分成多部分,这样简单明了

    

end

Ji=1./F;%%%%%适应度函数

%****** Step 1 : Evaluate BestJ ******

BestJ(k)=min(Ji);%%%%%%最小的适应度值

fi=F;                          %目标函数值

end

disp('投资比例为:')

BestS             %投资比例

figure(1);       %绘图

plot(time,bfi);

xlabel('迭代次数');ylabel('适应度');

title('不同投资比例下的适应度变化曲线')

⛄ 运行结果

⛄ 参考文献

[1]李龙. 基于Matlab遗传算法的最优投资组合选择. 

❤️ 关注我领取海量matlab电子书和数学建模资料

❤️部分理论引用网络文献,若有侵权联系博主删除

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

matlab科研助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值