I normally use following simple method to maximize unconstrained Sharpe as a litmus test.
def max_sharpe(cov, expected_returns): covis = np.linalg.inv(cov) w = np.dot(covis, expected_returns) return w / np.sum(np.abs(w))
Can I do something like this using optimize API or CVXPY but with additional constraints for following?:
1. sector neutrality
2. position concentration
3. dollar neutrality
Will that even be a convex optimization problem?