Maximization of a function with two constraints

1 visualización (últimos 30 días)
Andreas S
Andreas S el 7 de Oct. de 2020
Comentada: Ameer Hamza el 8 de Oct. de 2020
Hi everyone, i'm new in matlab and i have a problem of coding it. I have to find the Wt that solves the following problem.
max Wt'*μt/sqrt(Wt'Σwt)
s.t. w'ti=1
0<=Wt<=0.25
i=1...N
i=ones(10,1)
That is, Wt is such that it maximizes the portfolio's Sharpe ratio with the constraint that all
weights have to be between 0 and 0.25. (Hint: you should use numerical optimization.)
Thank you in advance for your time!
  1 comentario
John D'Errico
John D'Errico el 7 de Oct. de 2020
Note: this being a clear homework assignment, you should have tried it yourself.

Iniciar sesión para comentar.

Respuestas (1)

Ameer Hamza
Ameer Hamza el 7 de Oct. de 2020
Editada: Ameer Hamza el 7 de Oct. de 2020
You can use fmincon() from optimization toolbox
mu = rand(10, 1); % example value
sigma = rand(10);
objFun = @(Wt) Wt'*mu/sqrt(Wt'*sigma*Wt);
x0 = zeros(10, 1); % initial guess
lb = zeros(1, 10);
ub = 0.25*ones(1, 10);
Aeq = ones(1, 10); Beq = 1; % wt'*i=1;
sol = fmincon(objFun, x0, [], [], ones(1, 10), 1, lb, ub);
  2 comentarios
Andreas S
Andreas S el 7 de Oct. de 2020
Ameer Hamza thank you very much. It worked for me!
Ameer Hamza
Ameer Hamza el 8 de Oct. de 2020
I am glad to be of help!!!

Iniciar sesión para comentar.

Categorías

Más información sobre Solver Outputs and Iterative Display en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by