% ROME Example: Portfolio Allocation under the Entropic Satisficing Measure % % % Modified by: % 1. Melvyn (Created 17 Aug 2009) clear % Display welcome message disp('Portfolio Allocation under the Entropic Satisficing Measure'); % Asset returns N = 6; % Number of assets % Asset returns in percentage vlo = [2 -30 -40 -50 -60 -100]; vhi = [2 6 8 10 15 20]; % probability of asset lowest value p = [1 0.055556 0.0625 0.033333 0.053333 0.041667]; q = 1-p; tau = 3.5; %Target return % Set up portfolio optimization problem h = rome_begin('Portfolio Allocation under the Entropic Satisficing Measure'); newvar w(N) a nonneg newvar z(N) rome_minimize(a) rome_constraint(sum(z)<=-tau); for i=1:N rome_constraint(a >= p(i)*expcone( -z(i)-vlo(i)*w(i),a) + q(i)*expcone(-z(i)-vhi(i)*w(i),a)); end; rome_constraint(sum(w)==1); h.solve('CPLEX'); wsol = h.eval(w); % Output solution rho = 1/h.objective; % Output EPSM value rome_end; disp('Target'); tau disp('EPSM level'); rho disp('Weights'); wsol % ROME: Copyright (C) 2009 by Joel Goh and Melvyn Sim % See the file COPYING.txt for full copyright information.