www.gusucode.com > GAVPai_Book_MathworksCntrlFileEx_May2019 > GAVPai_Book_MathworksCntrlFileEx_May2019/Rebal_comp_fitness.m

    
function [obj_val ] = Rebal_comp_fitness(popln_mat, covariance_dat,   psi)

[popln_size, ~]= size(popln_mat);

obj_val = zeros(popln_size,1);

stdev_assets = sqrt(diag(covariance_dat));

for i = 1:popln_size
    
    weight = popln_mat(i,:);
    
    % compute portfolio risk P
    P = sqrt(weight * covariance_dat * weight'); 
    obj_val(i) = ((sum(stdev_assets .* weight')) / P) - psi(i);
        
end