Optimization Problem: Max Sharpe Ratio

1 view (last 30 days)
Jiadi Cao
Jiadi Cao on 25 Feb 2019
Answered: Alan Weiss on 26 Feb 2019
How do I resolve this issue:
Here's my code:
prob2 = optimproblem('ObjectiveSense','max');
weights2 = optimvar('weights2',10)
%SR = (weights2*ER-rfmean)/(weights2'*cov1*weights2)^(1/2);
prob2.Objective = (weights2*ER-rfmean)/sqrt(weights2'*cov1*weights2);
prob2.Constraints.cons1 = sum(weights2)== 1;
showproblem(prob2)
sol2 = solve(prob2);
Matlab Returns:
Undefined function 'sqrt' for input arguments of type 'optim.problemdef.OptimizationExpression'.
Error in project_2_part1 (line 99)
prob2.Objective = (weights2*ER-rfmean)/sqrt(weights2'*cov1*weights2);

Answers (1)

Alan Weiss
Alan Weiss on 26 Feb 2019
Currently, as the documentation clearly states, the problem-based approach does not apply to general nonlinear problems. You must formulate your problem using the solver-based approach.
Alan Weiss
MATLAB mathematical toolbox documentation

Categories

Find more on Problem-Based Optimization Setup in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!