Optimization Problem: Max Sharpe Ratio

1 次查看(过去 30 天)
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);

回答(1 个)

Alan Weiss
Alan Weiss 2019-2-26
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

类别

Help CenterFile Exchange 中查找有关 Problem-Based Optimization Setup 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by