I was reading a paper from Cremers and Petajisto, called
How Active is Your Fund Manager? A New Measure That Predicts Performance
In the original paper from 2009 they have the following measure for active share
1-sum(min(w_pfo, w_bench))
which they later revised to
sum(abs(w_pfo-w_bench))*0.5
where in my understanding, the only difference is basically how you treat underweighting the benchmark, i.e. negative cancels out positive.
So now to my problem, I want to implement this in my portfolio optimisation code and I am struggling how to formulate the constraint in a DCP conform way. How can I get a convex formulation with a lower limit threshold. I basically want to ensure that my portfolio has a minimum % of active positions outside the benchmark. In CVXPY I am trying s.th. like
sum_entries(abs(w_pfo - w_bench))*0.5 >= 0.8
and
1-sum_entries(min_elemwise(w_pfo,w_bench)) >= 0.8
where w_pfo is my solver variable, I know that it will be a convex problem when I flip the inequality to <= 0.8.
Any inputs how to implement this would be great.