Maximization of a function with two constraints

1 view (last 30 days)
Andreas S
Andreas S on 7 Oct 2020
Commented: Ameer Hamza on 8 Oct 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 Comment
John D'Errico
John D'Errico on 7 Oct 2020
Note: this being a clear homework assignment, you should have tried it yourself.

Sign in to comment.

Answers (1)

Ameer Hamza
Ameer Hamza on 7 Oct 2020
Edited: Ameer Hamza on 7 Oct 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);

Community Treasure Hunt

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

Start Hunting!