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
which they later revised to
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
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.
I am using CVXPY at the moment but I am more interested in how I could break the constraint up so I can go from instead of having a sufficiently similar active weight from a benchmark portfolio, to a sufficiently dissimilar active weight. thanks a lot.