Portfolio Optimization with LASSO
이전 댓글 표시
I have to find the optimal portfolio adding the "l-1 norm" constraint to the classical mean-variance model. How can i write this optimization in matricial form ?답변 (2개)
Ameer Hamza
2020년 10월 12일
편집: Ameer Hamza
2020년 10월 12일
This shows an example for the case of 5 portfolios
mu = rand(1, 5);
eta = 0.5;
Sigma = ones(5);
Aeq = [mu; ones(1, 5)];
Beq = [eta; 1];
x0 = rand(5,1); % initial guess
sol = fmincon(@(x) x.'*Sigma*x, x0, [], [], Aeq, Beq, [], [], @nlcon);
function [c, ceq] = nlcon(x)
c = sum(abs(x))-1;
ceq = [];
end
댓글 수: 4
ANDREA MUZI
2020년 10월 12일
Ameer Hamza
2020년 10월 12일
You want the weighted sum to be equal to eta or less than eta? I have corrected a mistake in my code, and now it implements the constraints as written in the question.
ANDREA MUZI
2020년 10월 12일
Ameer Hamza
2020년 10월 12일
Then the code in my answer satisfies all the constraints. You can verify
mu = rand(1, 5);
eta = 0.5;
Sigma = ones(5);
Aeq = [mu; ones(1, 5)];
Beq = [eta; 1];
x0 = rand(5,1); % initial guess
sol = fmincon(@(x) x.'*Sigma*x, x0, [], [], Aeq, Beq, [], [], @nlcon);
function [c, ceq] = nlcon(x)
c = sum(abs(x))-1;
ceq = [];
end
Results
>> mu*sol % output is eta
ans =
0.5000
>> sum(sol) % sum is 1
ans =
1
>> sum(abs(sol)) % sum of absolute values is 1
ans =
1
카테고리
도움말 센터 및 File Exchange에서 Linear Programming and Mixed-Integer Linear Programming에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
