Optimization Problem: Max Sharpe Ratio

9 vues (au cours des 30 derniers jours)
Jiadi Cao
Jiadi Cao le 25 Fév 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);

Réponses (1)

Alan Weiss
Alan Weiss le 26 Fév 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

Catégories

En savoir plus sur Surrogate Optimization dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by