Maximization of a function with two constraints

3 visualizzazioni (ultimi 30 giorni)
Andreas S
Andreas S il 7 Ott 2020
Commentato: Ameer Hamza il 8 Ott 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 Commento
John D'Errico
John D'Errico il 7 Ott 2020
Note: this being a clear homework assignment, you should have tried it yourself.

Accedi per commentare.

Risposte (1)

Ameer Hamza
Ameer Hamza il 7 Ott 2020
Modificato: Ameer Hamza il 7 Ott 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 Commenti
Andreas S
Andreas S il 7 Ott 2020
Ameer Hamza thank you very much. It worked for me!

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by