clear; clc; % load data load problem_cs_hedging_portfolio_of_options_with_XVaR % or import problem from TXT format %[problem_statement, toolboxstruc_arr] = tbpsg_problem_importfromtext('.', 'problem_cs_hedging_portfolio_of_options_with_XVaR'); % generate a set of parameter Q values and corresponding header for Cycle q_value=[]; ki=0; Cycle_header='for {Q#}={'; for iq=500:25:999 ki=ki+1; q_value(ki)=iq/1000.; Cycle_header=[Cycle_header, int2str(iq), '},{' ]; end ki=ki+1; q_value(ki)=0.9875; Cycle_header=[Cycle_header, '9875},{' ]; ki=ki+1; q_value(ki)=0.99375; Cycle_header=[Cycle_header, '99375},{' ]; ki=ki+1; q_value(ki)=0.999999; Cycle_header=[Cycle_header, '999999}' ]; % write problem statement with Cycle problem_statement=[Cycle_header,char(10),... ' ',char(10),... 'problem_xvar_risk_Q#, minimize', char(10),... ' evar(0.Q#, matrix_options_scenarios_45)', char(10),... 'Constraint: <= 100', char(10),... ' linear(matrix_options_prices)', char(10),... 'Box: >= 0, <= point_upperbounds' ]; % solve a set of problems with different parameter values [solution_str,outargstruc_arr] = tbpsg_run(problem_statement, toolboxstruc_arr); % get corresponding set of optimal objective values [obj_value] = tbpsg_objective(solution_str, outargstruc_arr); %------- Make figures ---------- fig1 = figure; fig1.Name=' Optimal Expectile value depending on parameter q'; fig1.NumberTitle='off'; %fig1.ToolBar='none'; fig1.MenuBar='none'; scatter(q_value,obj_value,'filled') %plot(q_value,obj_value)