Hi,
I am trying to implement the following equality constraint for using it in fmincon:
where
and TargetVariance is a fixed numeric value. The size of w is 1xN.
This is a minimal example of my code.
%Input
Mu = [.1, .15, .12];Cov = [.3, .1, .2; .1, .5, .1; .2, .1, .7];% Prepare vector of ones.
N = numel(Mu);one = ones(1,N);% Objective function.
NegPFMu = @(w) -Mu * w';% Set equal weights as initial point.
w0 = one * (1/N);% Sum of weights constraint.
Aeq = one;beq = 1;% Shortselling constraint.
lb = zeros(1,N);% Minimize.
wopt = fmincon(NegPFMu, w0, [], [], Aeq, beq, lb);
Can you help me with the constraint?
I was thinking about something like the following but I don't how to call that as my nonlcon then.
function [c, ceq] = mycon(w, Cov, TargetVariance)PortfolioVariance = @(w) w*Cov*w'ceq = PortfolioVariance(w) - Targetvariance;c = [];end
Could you help me please?
Best Answer